邓勇文,葛有金,杨 丽,王培培,毕迎春
(皖南医学院,安徽 芜湖 241002)
随着科技的发展,人们对生活质量的要求及医疗服务的需求越来越高。但由于生活节奏过快,亚健康状态的居民在不断增加,人们对医疗常识的了解和需求在其日常生活中扮演着越来越重要的角色。据2007年红十字会统计数据显示,国人急救防病知识的普及度平均每万人98人,不及1%;2015年广州日报统计数据则急救知识的普及率不及2%[1]。国务院于2018年颁布的《国务院办公厅关于促进“互联网+医疗健康”发展的意见》中指出要加强“互联网+”医学教育和科普服务、推进“互联网+”人工智能应用服务,利用互联网来实现健康科普知识精准教育,普及健康生活方式,提高居民自我健康管理能力和健康素养[2]。而移动信息技术的发展为移动健康医疗的发展提供了一个契机,基于移动端的医疗服务也正成为国内外研究热点之一[3]。移动医疗的研究的发展为完善、节约并合理分配公共医疗资源提供了一定的辅助作用,给社会带来更大的经济效益。
本文以“互联网+健康医疗”为背景,将医疗服务和移动技术进行融合,设计一种基于移动端的医疗常识推荐系统,利用推荐算法帮助用户从大量纷繁的信息中快速提炼出用户需要的内容,为用户更准确地推荐相关医疗常识,进而改善医疗水平及服务能级。
正确看待急救常识、安全用药应是人们具备基本科学素养。在缺乏这一素养的情况下,药品乱用、滥用,急救场合举手无措的现象伴随滋生,因此应该将《药品用药安全》推广到互联网领域[4]。通过问卷调查和咨询专业医生等途径,对不同年龄段的人群进行调查,分析人们对于各类医疗常识的获取途径和需求,将移动医疗软件共分为三大类:知识类、导航类、健康助手类。
(1)功能需求:对于急救、用药、生活常识等医疗方面的知识,非医学专业用户能够得到准确且生动的了解,用户也可以根据需求搜索自己所要了解的内容,借助推荐系统,用户可以更方便地检索信息,快速获得有效的内容。
(2)性能需求:用户在移动端发出作业请求到服务端给出响应,是软件性能较为直观的表现。要达到较为良好的用户体验需求,服务端的数据筛选、处理能力就起到关键作用。为了平衡用户体验和系统运行处理能力这两个方面需求,在设计软件时,我们需要考虑服务端对信息的访问频率不同做出相对应的存储处理,在保证性能的同时最大限度满足用户最佳体验。
(3)安全需求:用户填写信息和软件使用过程中产生的数据保存必须规范,所有关于用户的敏感信息都不可泄露,S1级别的敏感信息不可在客户端保存,S2级别的敏感信息必须加密保存。
本推荐系统采用“用户端+服务器端”的系统结构,用户端用于收集用户数据信息和展示推荐结果,主要有医疗常识模块、智能导诊模块;服务器端用于对移动端传来的数据进行分析,构建用户兴趣模型,结合文本处理技术获取推荐内容,然后将推荐结果推送给用户,整体流程如下图1所示。推荐系统分为三部分:用户和项目模型、推荐矩阵模型、推荐结果。在用户模型构建中,有隐式浏览信息、显示浏览信息、关键字和行为属性、评价信息、历史关注等信息采集方式;项目模型中是系统中待推荐项目附件的各种属性;推荐模型可以采用多种推荐方法相结合,常用的推荐算法基于协同过滤的推荐、基于文本的推荐、基于项目的推荐、基于内容的推荐等[5]。
图1 常识推荐系统流程图1.2.1移动端设计
移动端采用基于移动端的MVC开发模式来封装数据及操作数据的规则逻辑进行开发设计。从整体层面来看,包括网络层和界面层的设计。整个业务处理流程可描述为控制器接收用户发送的请求,并调用业务逻辑处理模块进行数据处理。移动端发送请求类型不同,调用的处理模块也将不同。并将处理结果反馈给控制器。控制器根据反馈数据的不同结果调用不同的视图,最终将显示请求结果的视图发送到移动终端供用户使用,从而完成整个请求过程。视图层采用 XML进行界面设计,使用 Activity、Fragment、Broadcast活动类,实现信息推送、人机交互。
1.2.2 存储架构设计
考虑到用户移动端系统的适应性,以及用户端使用Web Server接口进行通信,中心服务器采用Java语言。移动端通过HTTP协议下接口发送请求,当Web服务器接收到移动端发送的请求后分析参数,根据元集群提供的元数据读取相应的模块,并将响应内容返回至移动端。使用NoSQL系统为服务端提供添加、删除、修改Key(字符串)值的功能。但考虑到数据的访问频率不同,需要对不同的数据进行不同硬件的存储,例如将相对静态的数据存储在串口硬盘(SATA)中,访问频率较高的数据则存放在固态硬盘(SSD)。提高存储设备的使用率,同时也降低了存储成本。
通过对用户需求的收集整理筛选,系统的功能模块和首页如图2、图3所示:
图2 系统功能模块结构图
图3 系统首页
大多数的知识推送方式都是相对单一和枯燥的,食疗推荐模块一改传统的单一的照本宣科的知识推送方式,该模块采用天梯闯关的游戏方式,穿插入关于食疗的知识,在娱乐的同时又能学习到知识,以达到推送的效果。推送内容包括食物营养、食物相克、食物收纳及食物推荐烹饪方式等,该功能主张“是药三分毒,吃药不如食养”,例如治鼻炎鼻窦炎民间食疗方上等龙井茶30克,川黄柏6克,研磨粉状混合均匀,以少许药粉嗅入鼻内两侧,每日多次[6]。多了解食疗的知识,注重平时的养生保健,能更好的提高用户的生活质量。
急救知识模块设计以模拟场景、文字、图片等方式呈现,包括自然灾害急救、突发疾病急救和意外事故急救三个方面内容。例如心脏骤停时该如何快速心肺苏术、溺水自救的方法、大出血时的止血方法等;并根据用户各个模块的阅读反馈来调整三个反面的推送比例,以达到迎合使用者的知识获取兴趣。该模块主要是利用爬虫从指定URL抓取信息,以保证信息的真实及准确性。设置参数初步获取信息至抓取队列,满足系统所设置的相关条件后抓取停止,进一步筛选后保存至云端服务器。将获取页面及元素进行拼装分类,筛选后返回并显示于客户端,供使用者获取所需的急救常识。
合理用药是指安全、有效、经济的使用药物。该模块将完成用药信息推送、合理用药的一些常识等。例如优先使用基本药物是合理用药的重要措施,不合理用药会影响健康,甚至危害及生命,处方药要严格遵照医嘱等[7-8]。以《中国药典》为数据基础,为用户提供药品的合理使用准则[9];以合理用药信息化为基础,推送用户以注意事项,还提供搜索功能,只需输入药品名称即可查询到该药品的基本信息例如服药时间、是否为不宜热水送服药物、服药不良反应症状等供用户参考。
在开始时,用户需要填写一份问卷调查,调查内容包括年龄、性别、身高、体重、视力等与用户相关内容,系统根据调查结果进行评分;随后根据不同评分及用户基本信息进行综合分析,向用户推荐不同的健康的生活方式,包括一些食谱等模块。除此之外,还可以根据用户对每个知识模块的阅读时长、是否收藏等进行分析,对用户兴趣模型建模,并通过该模型来管理和应对实时的兴趣变化,作为调整推送内容的依据之一。
该模块提供一张人体矢量图,用户可通过双击选择需要咨询的部位,所设计的算法会识别出客户是否正确点击到人体矢量图,如若没有点中人体部位,而是点击到屏幕空白处,系统将会给出提示并要求重新点击。当系统获得客户的要求后,会通过大量数据对比分析,提供该器官部位的大量生理及病变信息,以及提供该部位病变所需要就诊的科室信息,供用户浏览选择。该功能运行界面初步的实现如图4、图5所示。
本文中介绍的基于移动端的医疗常识推荐系统目前只是移动医疗软件的一个小分支,包括为用户提供食疗知识、急救知识、用药知识、导诊助手等功能,让用户对自身的情况更加了解,有利于预防疾病、辨别是否处于亚健康状态以及合理就医。同时,基于移动端的医疗常识推荐系统也为健康助手类软件的设计和研究提供了新的思路。
图5 “智能导诊”5G功能运行界面