李显明+牛琳+马燕+高泽军
摘 要: 基于微信小程序的医嘱服务,有效地解决了护士与不通普通话的患者、外籍患者间的医嘱沟通、营养膳食等方面问题。依托于微信小程序,开发基于微信小程序的医嘱服务应用,功能模块包括:扫码并播报语音医嘱信息、个性化订餐功能等。使患者及其家属通过线上就能够获取到自己的药品医嘱信息,还可以根据药品信息订制个性化的餐饮。
关键词: 微信小程序; 医嘱沟通; 个性化订餐; 语音服务
中图分类号:TP311 文献标志码:A 文章编号:1006-8228(2018)01-66-03
Research on the doctor's advice service APP via WeChat applet
Li Xianming, Niu Lin, Ma Yan, Gao Zejun
(Hainan Medical College, Haikou, Hainan 571199, China)
Abstract: The doctor's advice service via WeChat applet effectively solves the communication problem about doctor's advice, nutrition diet and so on, between nurses and patients who don't speak Mandarin or are foreign patients. The doctor's advice service APP is developed via WeChat applet, which includes the functions of broadcasting of the voice of the doctor's advice information by scanning the QR code, personalized dinner ordering, and so on. The patients and their families can get their medical advice information from the doctor online, and can also customize the personalized food and beverage according to the advice information.
Key words: WeChat applet; doctor's advice; personalized dinner ordering; voice service
0 引言
微信小程序自從2017年1月9号上线以来就很受青睐,其移动应用对接数量超过85000个,由于微信的功能丰富,沟通方式更加灵活、智能,一经推出就迅速获得用户的青睐[1]。微信小程序是一种无须用户对应用进行下载安装操作即可直接使用的全新应用[2] ,它实现了应用“触手可及”的梦想,体现了“用完即走”的理念。
移动医疗是当前移动开发的研究热点之一,移动医疗的发展为医疗行业的进步带来了新的机遇[3],结合老年人群在医院看病,语言沟通存在障碍,视力退化也看不清文字,单从信息传递的正确性与及时性方面而言,就有很大的问题和不足[4]。实现语音医嘱播报正是在这个时期的一次有益尝试。
在医疗活动中,由于某些患者的药品医嘱中含有不能与特定食物同食的信息,若在服用药品后,患者如因为不知情而食用了该食物,就有可能造成重大的医疗事故。通过餐饮的个性化选择便可减少这样的事件发生,个性化的服务作为一种有效的解决途径受到社会各界的普遍重视[5],医嘱服务项目将患者的医嘱信息作为个性化筛选的条件,患者得到符合医嘱要求的餐饮提示信息,从而满足患者个性化订餐的需求。
通过对医嘱信息的存储,挖掘数据背后掩藏着的有用信息,在实现个性化诊疗及管理中,医疗大数据将发挥至关重要的作用[6],通过基于微信小程序医嘱服务的研究和设计,在本地即可获取到用户的医嘱信息,这些经过长时间收集的医疗数据,对于医疗大数据的研究分析具有极大的意义。
1 功能设计
现在二维码的生成与扫描技术已经非常的成熟,只需要在药品袋上的二维码上添加医嘱药品信息,患者就可以通过微信小程序的入口,解析二维码的内容进行医嘱语音的播报,告别因记忆力低下而忘记医嘱信息的行为。同时,微信小程序也提供基于患者的药品医嘱信息和个性化订餐,让患者在治疗期间饮食更加健康,同时也将药品医嘱信息进行云上保存,为以后的药品医疗大数据分析提供数据保障。基于微信小程序的项目实现的功能结构图,如图1所示。
2 设计与实现
2.1 圆形旋转菜单设计
微信小程序的菜单设计,采用转盘式的图形设计方案,使菜单可触摸滚动选择,同时有tabBar导航,在index页展示小程序全部的功能结构。本项目的菜单选择功能设计如图2所示。
实现的关键代码如下:
/*在index.wxml布局文件中添加圆形菜单旋转的三个方法
buttonStart、buttonMove、buttonEnd*/
"{{userInfo.avatarUrl}}">
catchtouchend="buttonEnd">
通过用户的手指触摸事件,当用户在使用菜单的导航功能时,可以触发事件,使菜单可以进行滚动操作,其实现的关键在于圆形滚动的角度、角速度等信息的获取。
⑴ 角度的获取。
斜边长=Math.sqrt(x*x+y*y ), y=斜边长*sin a;
角度a=Math.asin(y/Math.hypot(x,y);
⑵ 角速度的计算。
角速度=移动角度*1000/(抬起时间-按下时间);
var Speed=data.TempAngle*1000/
(data.upTime-data.downTime);
⑶ 当角速度小于100的时候触摸滑动停止,不自动滚动;大于100时,自动滚动;
⑷ 分象限的问题。根据抬起时的触摸点相对于圆点的X轴差值来计算,大于0就是一四象限,小于0就是二三象限。
2.2 语音医嘱播报功能
通过手机的照相机,调用recognizeCode函数对药品的二维码医嘱信息进行识别,从而将药品医嘱进行转化,使用微信小程序自带的API接口wx.uploadFi-le(OBJECT)从而将本地的数据传输到服务器端然后调用讯飞语音识别的接口,把文字转换为语音的格式,然后使用语音进行相对应的操作,其关键代码如下:
/*在工程qr.js文件中添加扫描所需方法,调用相机,获取药品袋上的二维码/条形码图片信息,对应处理图片后获得相应用户药品医嘱信息*/
/*扫描药品二维码信息*/
recognizeCode: function() {
this.setData({
isShowMsg: true,
isShowResult: false,
recognizeMsg: "",})
var that=this
wx.scanCode({
success: function(res) {
console.log(res)
that.setData({
recognizeMsg: res["result"]
})}
2.3 个性化营养餐定制
针对用户在康复期间对餐饮的特殊需求,推出符合用户药品医嘱信息需求的餐饮服务,将患者的药品医嘱作为个性化筛选饮食的第一个条件,系统自动筛选掉不符合医嘱信息的餐饮。完成第一轮的餐饮选择后,用户就能选择自己喜欢的餐饮,让用户吃的健康又符合口味。
个性化的餐饮推荐功能是基于内容推荐算法来实现的,可以将药品医嘱中有关药物禁忌的食物类别进行影响级别的综合计算,进而通过余玄相识度的值进行餐饮的推荐,具体的个性化餐饮推荐算法如下。
2.3.1 为每个餐品构建一个食物属性的资料
⑴ 构建1*N维矩阵,N表示为所有菜品所含物质的类别。初始化矩阵,将元素都置为0,得到一个类似于[0,0,0,0,0,···,0]的矩阵,其中有N个0。
⑵ 假设行向量的元素为所有菜品所含物质的类别,第一个元素为豆制品,第二个人元素为奶制品,并以此类推。
⑶ 将自然语言描述的单个菜品物质类别映射到1*N维的矩阵中,单个菜品所含有的物质类别在行向量中置1,其余的元素置为0,使单个菜品所含物质的类别用0,1的行矩阵得以表示出来。
2.3.2 为每个用户构建一个医嘱药品禁忌属性资料
构建食物与药品的影响级别表,通过专业的医疗机构与经验资深的医师得出食物与药品的影响度,影响级别表(如表1)中数值越大,表示食物与药品之间的影响关系越小。反之,数值越小影响程度越大。
计算食物与药品的影响度。计算药品所对应菜品所含类别的平均数(avg),通过,计算出药品与饮食之间的影响度(Ua)。
构建1*N矩阵,与每个菜品的物质类别矩阵不同的是,在构建的矩阵中每一个元素的值是药品与食物间的影响度。
2.3.3 计算推荐依据
使用余弦相似度的公式来计算给定的餐饮(G)与用户药品(U)之间的影响程度,余弦相似度的值越大表明餐饮(G)与用户药品(U)的影响程度越小。
余弦相似度的具体计算方法为:
Ga表示,餐饮(G)中是否包含食物属性a;
Ua表示,用户药品(U)对餐饮(G)中食物属性a的影响程度。
3 结论
笔者结合实践医嘱服务的具体需求,使用户的饮食和医院的药品医嘱信息无缝的对接,在一定程度上避免了药品与食材间因禁忌而引发的医疗事故,体现了“以人为本”的医疗模式[7]。同时,医嘱语音播报,在一定程度上解决了院外医嘱沟通的障碍问题。
本文设计并实现的医嘱服务项目是基于微信小程序开发的,具有以下优点:
⑴ 没有ios和Android的隔阂,安装简单,只需扫描二维码关注即可;
⑵ 项目是云端的服务,不用占用太多用户的本机资源;
⑶ 对于小程序拥有者来说,相较于原生APP,推广、运营都更加的容易、简单、省成本。
基于内容推荐算法的实现,可以使患者进行餐饮的个性化筛选。但也存在不足之处,餐饮中食物种类丰富,药品与食物的影响级别还没有客观的评价标准,食物与药品的影响级别表还只是依靠医生的临床经验进行判别,会存在一定的误差。后期根据项目的进行,需要进行影响级别的校准,并进一步改进。
4 结束语
当今智能设备遍布在人们生活的各个角落,而小程序开发门槛相对较低,难度不及APP,适合非刚需低频應用的转换。它实现了应用“触手可及”的梦想,也体现了“用完即走”的理念。将生活中的医嘱服务与小程序相结合在一起,顺应医疗数字化、移动化的潮流,这是移动医疗背景下的一次有益尝试。随着大数据时代的来临,通过对于药品医嘱与个性餐饮信息的收集,当数据量达到可观的规模时,将进一步研究数据内在隐藏的信息,挖掘数据的价值,使其更好地服务于人们的医疗。
参考文献(References):
[1] 黄浩波,何卫华,叶青.微信及其在图书馆信息服务中的应用[J].
图书馆学刊,2013.1:62-64
[2] 郭继盛.微信小程序认识误区分析[J].产业与科技论坛,
2017.16(6):64-65
[3] 佘陈凤,余远波,陈静娴,曹友,陈泽游.多语种医嘱播报系统
设计与实现[J].软件工程,2016.19(5):47-50
[4] 陈国友,钱玉凤.医院用药错误原因分析及改进措施[J].中国
药物经济学,2015.2:31-32
[5] 张一平,金淳.基于Agent的餐饮个性化推荐建模与仿真研究[D].
大连理工大学硕士学位论文,2011:1-60
[6] 黄新霆,包小源,俞国培,焦杜鹃.医疗大数据驱动的个性化医
疗服务引擎研究[J].中国数字医学,2014.9(8):5-7
[7] 陈昊.基于移动物联网的区域协同心血管病急救模式研究[D].
第三军医大学硕士学位论文,2012.endprint