APP下载

多语种医嘱播报系统设计与实现

2016-10-21佘陈凤余远波陈静娴曹友陈泽游

软件工程 2016年5期
关键词:移动医疗多语种医嘱

佘陈凤 余远波 陈静娴 曹友 陈泽游

摘 要:语言不通,医嘱信息难以传达的情况在医院普遍存在。该项目为解决医患之间医嘱沟通问题,提供一种解决方案。医院每个药袋都有唯一标识的二维码,解析二维码信息,从而调取数据库医嘱信息。通过音标标注法,数据灵活性强,实现了海南话方言、英语等多语种播音。让二维码用多语种“说话”,达到正确及时传达医嘱信息的目的,尽可能减少药品不良事件的发生。

关键词:二维码;多语种;语音;医嘱;移动医疗

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

Abstract:The language barrier severely impedes the transfer of the doctor's advice in most hospitals.The project aims to offer an effective solution to the communication problem between doctors and patients.On each medicine package is a unique QR code.The doctor's advice can be obtained from the database by scanning the QR code.Since the application of phonetic annotation provides the system with good flexibility,the system can broadcast in different languages and dialects,such as English and Henan dialect,to name but a few.Through QR code,the system can accurately convey the doctor's advice in time by "speaking" in different languages and dialects,which can eliminate drug misuse to a large extent.

Keywords:QR code;multilingual;voice;the doctor's advice;mobile medical

1 引言(Introduction)

随着科学技术的发展,信息传递技术也在不断发展和进步。自电子计算机问世以来,信息传递技术的发展又进入了一个崭新阶段,出现了许多大容量、高效率、可靠性好的现代化的信息传递技术[1]。语音合成[2]作为一种新的信息传递技术,已被应用在了人机交互中。全球各地多民族、地方性语言众多,语言不通造成沟通障碍,因此多语种的语音合成成为了人机语音交互领域的研究热点[3]。

目前汉语普通话的语音合成系统已經比较成熟,除实现了中英文混合语音合成[4]外,还实现了普通话到闽方言中台湾话的语音转换[5]。在方言的语音合成中,利用语音修改技术[6],将普通话的韵律修改为方言的韵律,实现了华北方言中聊城话[7]、兰州话[8]等的语音合成,另外也实现了英语、韩语等国际性语种的语音合成。当前将地方性方言语种应用到的计算机应用方面的研究,专注于方言语音合成方法研究[9],并没有将其应用到生活医疗中。最常见的文语转化系统中也多数提供基本国际化语种[10],目前没有找到关于地方性语言在医疗方面的研究应用。并且例如考虑老年人群,在医院看病,只会海南话,不会普通话,视力退化也看不清文字,单从医疗信息传递的正确性与及时性方面来说,就有很大的问题和不足[11,12]。移动医疗还有很大的发展空间,前景广阔但任重道远。

移动医疗是当前移动开发的研究热点之一,移动医疗的发展为医疗行业的进步带来了新的机遇。移动通信技术和智能设备的迅速发展为移动医疗提供了机会,利用新技术覆盖到以前无法做到或需要高昂代价的医疗服务环节,进而实现医疗服务生态各个角色高效实时的信息服务,具有重大研究和应用价值。多语种医嘱播报系统(Multilingual Speech Orders Broadcast System)就是在此时代背景下的一个有益尝试。基于android系统[13],为医疗电子应用市场提供合适的解决方案,在一定程度上解决了与患者在药品医嘱沟通方面存在的问题;它还将带来医疗服务工作的流程简化和效率提高;并且二维码作为一种全新的信息储存、传递和识别技术,与患者信息安全密切相关。利用二维码加密,在保障了患者信息安全性的前提下,有助于医疗资源的合理分配和共享。本项目是对移动医疗进行拓展与创新,尤其是其中地方性方言语种的播报,例如海南话,极具特色,具有一定的实用性和创新性。

2 设计与实现(Design and implementation)

2.1 软件功能设计

医嘱信息难以传达的情况在医院普遍存在,护士不能正确、及时传达信息给患者,使得患者容易对某些治疗和护理措施缺乏理解和配合,从而延误治疗和护理,甚至可能造成意外伤害。医院药品袋上已经有了为方便药品正确抵达病人手中而设计的二维码,如果我们让二维码用多语种“说话”,就能达到正确及时传达医嘱信息的目的,减少药品不良事件的发生。本项目,就是基于这个想法开展的。

多语种医嘱播报系统软件实现功能如图1所示。

研究主要内容:

(1)二维码生成与扫描:二维码信息为医嘱id。

(2)语音库维护:包括音标输入、音标校准等。

(3)个性化设置医嘱播报语种。

(4)扫描药袋上的二维码获取医嘱信息。

(5)多语种语音播报医嘱。

通过手机图像采集设备获小袋上二维码,将二维码作为数据库接口,调取数据库中存储的医嘱信息,从SDK获取语音内容,语音播报药品的基本用法、用量,如餐前30分钟口服、每日3次等,语音播报语种包括海南话、普通话、英文等,个性化设置医嘱播报语种,帮助理解和正确使用药品,在一定程度上解决医嘱沟通障碍问题。

其数据流图设计如图2所示。

2.2 设计方案及解决

(1)二维码扫描解码及连接数据库的实现:扫描时调用照相机,通过onPictureTaken函数二维码图片处理成位图,对位图进行译码,按照QRCODE二维码生成方式解码成字符型[14]。调用Android开放源码库文件google.zxing包,实现二维码、条形码的扫描解码。通过手机客户端的APP扫描该二维码,根据解码的信息调取数据库存储信息。Android连接Sql server 2005数据库存取数据时,由于android不能直接连接Sql server 2005数据库,本文通过Web service实现android与Sql server的数据交互。开放性是Web services的基础,可以实现跨平台使用。不同平台和不同软件的不同组织间传递信息,需要Web service的SOAP协议。SOAP可以运行在任何其他传输协议上,开放源码库ksoap2-android-assembly-3.1.0-jar-with-dependencies.jar,就是以此为基础来实现android连接其他平台数据库并存取数据。

/*在工程AndroidManifest.xml文件中添加扫描所需权限,调用相机,捕获二维码/条形码图片,对应处理图片后获得医嘱id信息*/

// 通过web service获取sql server数据库数据

public void doStart(String methodName,HashMapparams,Context context,String text){

url="http://cocoa-0706.hicp.net:11566/Service1.asmx";

//服务器ip、端口号、web service文件

namespace="http://tempuri.org/";

this.methodName=methodName;

this.params=params;

progressDialog=ProgressDialog.show(context,

"提示","正在"+text+"waiting...",true);

this.start();

}

/*对应public void run()、private Object CallWebService() ,应用soap向web service 发送请求信息,及接收服务器传输到应用程序的数据*/

(2)默认语种的设置:采用菜单栏设置语种部分根据android特性,利用java代碼语言startActivityForResult方法实现设置完成后,回到原界面,除需要修改的数据外,其他数据保持原样。默认语种的设置采用了android.content.SharedPreferences方法,sharedpreferences可以将数据保存在应用软件的私有存储区,这些存储区的数据只能被写入这些数据的软件读取。首次安装并登录软件时,sharedpreferences并没有保存数据,系统默认普通话;非首次登录时,sharedpreferences是采用了xml格式将数据存储到设备中,在ddms中的file explorer中的/data/data//shares_prefs下,使非首次登录默认播报上一次设置的语种。

//数据存储在本地文件

public SharedPreferences prefere;

SharedPreferences.Editor editor;

//创建编辑对象

editor=prefere.edit();

//编辑数据,将语种设置放入文件存储

editor.putString("language",WebReturnValues.lang);

// 提交数据

editor.commit();//添加完后必须提交

//在语音播报界面,非首次登录默认播报上一次设置的语种,否则默认中文

if (prefere.getString("language","")!=null){

WebReturnValues.lang=prefere.getString("language","");

findorder(handlerET,WebReturnValues.lang);

}

else {

WebReturnValues.lang="FindOrderCH";

findorder(handlerET,WebReturnValues.lang);

}

(3)播放语音:调用Android开放源码库文件讯飞语音Msc.jar包[15],实现联网播放中文和英文,但是没有海南话,需要通过自己设计音标数据库,数据库中存储海南话的音标。音标标注法是解决问题的关键点。通过海南话音标标注,实现了中文、英文、海南话等多语种播音。

/*在工程AndroidManifest.xml文件中添加RECORD_AUDIO、ACCESS_NETWORK_STATE、ACCESS_WIFI_STATE、CHANGE_NETWORK_STATE、INTERNET权限 */

// 合成语音界面,调用SDK的SynthesizerDialog实现语音合成.

private void synthetizeInSilence(){

if (null==mSynthesizerPlayer){

//创建语音合成对象.

mSynthesizerPlayer=SynthesizerPlayer.createSynthesizerPlayer(

this,"appid="+getString(R.string.app_id));

}

/*此处省略设置发音人、语速、音量等设置*/

//获取合成文本source

Editable editable=mSourceText.getText();

String source=null;

if (null!=editable){

source=editable.toString();

};

//进行语音合成.

mSynthesizerPlayer.playText(source,null,this);

mToast.setText(String

.format(getString(R.string.tts_toast_format),0,0));

mToast.show();

}

将查询到的中文医嘱,通过音标数据库转换成海南话音标的表示符号,然后将这些音标的表示符号传给客户端,通过客户端语音合成,读出音标。

3 结论(Conclusion)

移动医疗提高了医院的综合运营效率,降低了医疗错误及医疗事故的发生率,从而提高了医院的社会效益以及综合竞争力。在“以人为本”的医疗模式[16]推动下,移动医疗是医院信息化发展的必然趋势,也是现代化医院综合实力的体现。项目能为医患双方提供便利,一定程度解决护士与老年患者、外籍患者在医嘱沟通方面障碍问题,实现正确传达医嘱信息,改变医院工作的现状。本文设计并实现了多语种医嘱播报系统,并具有以下优点:

(1)数据交互精确、及时和高效,维护量小,故障率低。

(2)作为手机软件,安装简便,携带方便。

(3)数据库设计灵活,后期如果需要制作其他的方言语种,只需要存储方言音标。

当然,音标标注法能实现部分方言的发音,同时也具有一定的局限性。口服药医嘱格式固定,文字数量不多,可以用音标表示,但音调上会有些微差距,需要校准。并且由于当地方言,不同地理位置,发音也会有所不同。因此需要综合考虑各方面因素,并进一步改进。

参考文献(References)

[1] 王启东,等.基于语信通的地震告警信息发布平台的设计与实现[J].华北地震科学,2015,3303:64-67.

[2] 郭威彤,等.面向方言语音合成的文本分析研究[J].计算机工程,2015,41(5509):184-189.

[3] 王平,等.云终端语音交互中改进型谱减法语音增强算法[J].计算机集成制造系统,2013,19(18307):1721-1725.

[4] 姚金国,代智龙.基于HCSIPA的中英文混合语音合成[J].计算机工程,2013,39(4):14-17.

[5] Pan Nenghuang,Yu Mingshi,Tsai Z.A Chinese to Taiwanese Text-to-Speech System[J].Communications of Institute of Information and Computing Machinery,2008(4):27-38.

[6] 李晓红.面向语音合成的文本处理技术的改进[D].北京:北京交通大学,2010.

[7] 李明,蔡莲红,李勇.普通话与聊城话的声学特征对比及转换[C]//第七届中国语音学学术会议暨语音学前沿问题国际论坛论文集.北京:北京大学出版社,2006:1-4.

[8] Guo Weitong,Yang Hongwu,Pei Dong,et al.Prosody Conversion of Chinese Northwest Mandarin Dialect Based on Five Degree Tone Model[J].JDCTA:International Journal of Digital Content Technology and Its Applications,2012,6(17):323-332.

[9] 索南扎西.藏語语音合成关键技术研究[D].西藏:西藏大学,2011.

[10] 周开来.基于语音数据库的文语转换系统过程分析[J].计算机时代,2010(07):7-9.

[11] 李素梅.住院病人不遵医嘱行为及对策[J].中国中医药现代远程教育,2012,10(24):97.

[12] 陈国友,钱玉凤.医院用药错误原因分析及改进措施[J].中国药物经济学,2015,02:31-32.

[13] 北京大学.Android师资培训课件-豆丁网[EB/OL].http://www.docin.com/p-386380286.html,2015.

[14] 高建清,谢学芳.基于QR码的新生报到系统设计与实现[J].安阳工学院学报,2013,12(6606):66-68.

[15] 王亚平.基于Android的中文语音短信应用设计[D].内蒙古科技大学,2012.

[16] 陈昊.基于移动物联网的区域协同心血管病急救模式研究[D].第三军医大学,2012.

作者简介:

佘陈凤(1993-),女,本科生.研究领域:医学信息.

余远波(1981-),男,硕士,副教授.研究领域:计算机应用.本文通讯作者.

陈静娴(1981-),女,硕士,讲师.研究领域:计算机应用.

曹 友(1993-),男,本科生.研究领域:医学信息.

陈泽游(1995-),男,本科生.研究领域:医学信息.

猜你喜欢

移动医疗多语种医嘱
语联世界,言通天下
医院H IS 系统下电子医嘱的规范管理
遵循医嘱
多语种《中级军事汉语》教材的编写思路与指导思想
糖尿病的移动医疗分析
医院移动助医APP的应用及效果评价
“互联网+”背景下医学信息学课程教学改革
医嘱
面向移动医疗的私有云平台设计与实现
北美“新清史”研究的基石何在——是多语种史料考辨互证的实证学术还是意识形态化的应时之学?(上)