佘陳鳳 余遠(yuǎn)波 陳靜嫻 曹友 陳澤游
摘 要:語言不通,醫(yī)囑信息難以傳達(dá)的情況在醫(yī)院普遍存在。該項(xiàng)目為解決醫(yī)患之間醫(yī)囑溝通問題,提供一種解決方案。醫(yī)院每個(gè)藥袋都有唯一標(biāo)識(shí)的二維碼,解析二維碼信息,從而調(diào)取數(shù)據(jù)庫醫(yī)囑信息。通過音標(biāo)標(biāo)注法,數(shù)據(jù)靈活性強(qiáng),實(shí)現(xiàn)了海南話方言、英語等多語種播音。讓二維碼用多語種“說話”,達(dá)到正確及時(shí)傳達(dá)醫(yī)囑信息的目的,盡可能減少藥品不良事件的發(fā)生。
關(guān)鍵詞:二維碼;多語種;語音;醫(yī)囑;移動(dòng)醫(yī)療
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼: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)
隨著科學(xué)技術(shù)的發(fā)展,信息傳遞技術(shù)也在不斷發(fā)展和進(jìn)步。自電子計(jì)算機(jī)問世以來,信息傳遞技術(shù)的發(fā)展又進(jìn)入了一個(gè)嶄新階段,出現(xiàn)了許多大容量、高效率、可靠性好的現(xiàn)代化的信息傳遞技術(shù)[1]。語音合成[2]作為一種新的信息傳遞技術(shù),已被應(yīng)用在了人機(jī)交互中。全球各地多民族、地方性語言眾多,語言不通造成溝通障礙,因此多語種的語音合成成為了人機(jī)語音交互領(lǐng)域的研究熱點(diǎn)[3]。
目前漢語普通話的語音合成系統(tǒng)已經(jīng)比較成熟,除實(shí)現(xiàn)了中英文混合語音合成[4]外,還實(shí)現(xiàn)了普通話到閩方言中臺(tái)灣話的語音轉(zhuǎn)換[5]。在方言的語音合成中,利用語音修改技術(shù)[6],將普通話的韻律修改為方言的韻律,實(shí)現(xiàn)了華北方言中聊城話[7]、蘭州話[8]等的語音合成,另外也實(shí)現(xiàn)了英語、韓語等國際性語種的語音合成。當(dāng)前將地方性方言語種應(yīng)用到的計(jì)算機(jī)應(yīng)用方面的研究,專注于方言語音合成方法研究[9],并沒有將其應(yīng)用到生活醫(yī)療中。最常見的文語轉(zhuǎn)化系統(tǒng)中也多數(shù)提供基本國際化語種[10],目前沒有找到關(guān)于地方性語言在醫(yī)療方面的研究應(yīng)用。并且例如考慮老年人群,在醫(yī)院看病,只會(huì)海南話,不會(huì)普通話,視力退化也看不清文字,單從醫(yī)療信息傳遞的正確性與及時(shí)性方面來說,就有很大的問題和不足[11,12]。移動(dòng)醫(yī)療還有很大的發(fā)展空間,前景廣闊但任重道遠(yuǎn)。
移動(dòng)醫(yī)療是當(dāng)前移動(dòng)開發(fā)的研究熱點(diǎn)之一,移動(dòng)醫(yī)療的發(fā)展為醫(yī)療行業(yè)的進(jìn)步帶來了新的機(jī)遇。移動(dòng)通信技術(shù)和智能設(shè)備的迅速發(fā)展為移動(dòng)醫(yī)療提供了機(jī)會(huì),利用新技術(shù)覆蓋到以前無法做到或需要高昂代價(jià)的醫(yī)療服務(wù)環(huán)節(jié),進(jìn)而實(shí)現(xiàn)醫(yī)療服務(wù)生態(tài)各個(gè)角色高效實(shí)時(shí)的信息服務(wù),具有重大研究和應(yīng)用價(jià)值。多語種醫(yī)囑播報(bào)系統(tǒng)(Multilingual Speech Orders Broadcast System)就是在此時(shí)代背景下的一個(gè)有益嘗試?;赼ndroid系統(tǒng)[13],為醫(yī)療電子應(yīng)用市場提供合適的解決方案,在一定程度上解決了與患者在藥品醫(yī)囑溝通方面存在的問題;它還將帶來醫(yī)療服務(wù)工作的流程簡化和效率提高;并且二維碼作為一種全新的信息儲(chǔ)存、傳遞和識(shí)別技術(shù),與患者信息安全密切相關(guān)。利用二維碼加密,在保障了患者信息安全性的前提下,有助于醫(yī)療資源的合理分配和共享。本項(xiàng)目是對(duì)移動(dòng)醫(yī)療進(jìn)行拓展與創(chuàng)新,尤其是其中地方性方言語種的播報(bào),例如海南話,極具特色,具有一定的實(shí)用性和創(chuàng)新性。
2 設(shè)計(jì)與實(shí)現(xiàn)(Design and implementation)
2.1 軟件功能設(shè)計(jì)
醫(yī)囑信息難以傳達(dá)的情況在醫(yī)院普遍存在,護(hù)士不能正確、及時(shí)傳達(dá)信息給患者,使得患者容易對(duì)某些治療和護(hù)理措施缺乏理解和配合,從而延誤治療和護(hù)理,甚至可能造成意外傷害。醫(yī)院藥品袋上已經(jīng)有了為方便藥品正確抵達(dá)病人手中而設(shè)計(jì)的二維碼,如果我們讓二維碼用多語種“說話”,就能達(dá)到正確及時(shí)傳達(dá)醫(yī)囑信息的目的,減少藥品不良事件的發(fā)生。本項(xiàng)目,就是基于這個(gè)想法開展的。
多語種醫(yī)囑播報(bào)系統(tǒng)軟件實(shí)現(xiàn)功能如圖1所示。
研究主要內(nèi)容:
(1)二維碼生成與掃描:二維碼信息為醫(yī)囑id。
(2)語音庫維護(hù):包括音標(biāo)輸入、音標(biāo)校準(zhǔn)等。
(3)個(gè)性化設(shè)置醫(yī)囑播報(bào)語種。
(4)掃描藥袋上的二維碼獲取醫(yī)囑信息。
(5)多語種語音播報(bào)醫(yī)囑。
通過手機(jī)圖像采集設(shè)備獲小袋上二維碼,將二維碼作為數(shù)據(jù)庫接口,調(diào)取數(shù)據(jù)庫中存儲(chǔ)的醫(yī)囑信息,從SDK獲取語音內(nèi)容,語音播報(bào)藥品的基本用法、用量,如餐前30分鐘口服、每日3次等,語音播報(bào)語種包括海南話、普通話、英文等,個(gè)性化設(shè)置醫(yī)囑播報(bào)語種,幫助理解和正確使用藥品,在一定程度上解決醫(yī)囑溝通障礙問題。
其數(shù)據(jù)流圖設(shè)計(jì)如圖2所示。
2.2 設(shè)計(jì)方案及解決
(1)二維碼掃描解碼及連接數(shù)據(jù)庫的實(shí)現(xiàn):掃描時(shí)調(diào)用照相機(jī),通過onPictureTaken函數(shù)二維碼圖片處理成位圖,對(duì)位圖進(jìn)行譯碼,按照QRCODE二維碼生成方式解碼成字符型[14]。調(diào)用Android開放源碼庫文件google.zxing包,實(shí)現(xiàn)二維碼、條形碼的掃描解碼。通過手機(jī)客戶端的APP掃描該二維碼,根據(jù)解碼的信息調(diào)取數(shù)據(jù)庫存儲(chǔ)信息。Android連接Sql server 2005數(shù)據(jù)庫存取數(shù)據(jù)時(shí),由于android不能直接連接Sql server 2005數(shù)據(jù)庫,本文通過Web service實(shí)現(xiàn)android與Sql server的數(shù)據(jù)交互。開放性是Web services的基礎(chǔ),可以實(shí)現(xiàn)跨平臺(tái)使用。不同平臺(tái)和不同軟件的不同組織間傳遞信息,需要Web service的SOAP協(xié)議。SOAP可以運(yùn)行在任何其他傳輸協(xié)議上,開放源碼庫ksoap2-android-assembly-3.1.0-jar-with-dependencies.jar,就是以此為基礎(chǔ)來實(shí)現(xiàn)android連接其他平臺(tái)數(shù)據(jù)庫并存取數(shù)據(jù)。
/*在工程AndroidManifest.xml文件中添加掃描所需權(quán)限,調(diào)用相機(jī),捕獲二維碼/條形碼圖片,對(duì)應(yīng)處理圖片后獲得醫(yī)囑id信息*/
// 通過web service獲取sql server數(shù)據(jù)庫數(shù)據(jù)
public void doStart(String methodName,HashMap
url="http://cocoa-0706.hicp.net:11566/Service1.asmx";
//服務(wù)器ip、端口號(hào)、web service文件
namespace="http://tempuri.org/";
this.methodName=methodName;
this.params=params;
progressDialog=ProgressDialog.show(context,
"提示","正在"+text+"waiting...",true);
this.start();
}
/*對(duì)應(yīng)public void run()、private Object CallWebService() ,應(yīng)用soap向web service 發(fā)送請(qǐng)求信息,及接收服務(wù)器傳輸?shù)綉?yīng)用程序的數(shù)據(jù)*/
(2)默認(rèn)語種的設(shè)置:采用菜單欄設(shè)置語種部分根據(jù)android特性,利用java代碼語言startActivityForResult方法實(shí)現(xiàn)設(shè)置完成后,回到原界面,除需要修改的數(shù)據(jù)外,其他數(shù)據(jù)保持原樣。默認(rèn)語種的設(shè)置采用了android.content.SharedPreferences方法,sharedpreferences可以將數(shù)據(jù)保存在應(yīng)用軟件的私有存儲(chǔ)區(qū),這些存儲(chǔ)區(qū)的數(shù)據(jù)只能被寫入這些數(shù)據(jù)的軟件讀取。首次安裝并登錄軟件時(shí),sharedpreferences并沒有保存數(shù)據(jù),系統(tǒng)默認(rèn)普通話;非首次登錄時(shí),sharedpreferences是采用了xml格式將數(shù)據(jù)存儲(chǔ)到設(shè)備中,在ddms中的file explorer中的/data/data//shares_prefs下,使非首次登錄默認(rèn)播報(bào)上一次設(shè)置的語種。
//數(shù)據(jù)存儲(chǔ)在本地文件
public SharedPreferences prefere;
SharedPreferences.Editor editor;
//創(chuàng)建編輯對(duì)象
editor=prefere.edit();
//編輯數(shù)據(jù),將語種設(shè)置放入文件存儲(chǔ)
editor.putString("language",WebReturnValues.lang);
// 提交數(shù)據(jù)
editor.commit();//添加完后必須提交
//在語音播報(bào)界面,非首次登錄默認(rèn)播報(bào)上一次設(shè)置的語種,否則默認(rèn)中文
if (prefere.getString("language","")!=null){
WebReturnValues.lang=prefere.getString("language","");
findorder(handlerET,WebReturnValues.lang);
}
else {
WebReturnValues.lang="FindOrderCH";
findorder(handlerET,WebReturnValues.lang);
}
(3)播放語音:調(diào)用Android開放源碼庫文件訊飛語音Msc.jar包[15],實(shí)現(xiàn)聯(lián)網(wǎng)播放中文和英文,但是沒有海南話,需要通過自己設(shè)計(jì)音標(biāo)數(shù)據(jù)庫,數(shù)據(jù)庫中存儲(chǔ)海南話的音標(biāo)。音標(biāo)標(biāo)注法是解決問題的關(guān)鍵點(diǎn)。通過海南話音標(biāo)標(biāo)注,實(shí)現(xiàn)了中文、英文、海南話等多語種播音。
/*在工程AndroidManifest.xml文件中添加RECORD_AUDIO、ACCESS_NETWORK_STATE、ACCESS_WIFI_STATE、CHANGE_NETWORK_STATE、INTERNET權(quán)限 */
// 合成語音界面,調(diào)用SDK的SynthesizerDialog實(shí)現(xiàn)語音合成.
private void synthetizeInSilence(){
if (null==mSynthesizerPlayer){
//創(chuàng)建語音合成對(duì)象.
mSynthesizerPlayer=SynthesizerPlayer.createSynthesizerPlayer(
this,"appid="+getString(R.string.app_id));
}
/*此處省略設(shè)置發(fā)音人、語速、音量等設(shè)置*/
//獲取合成文本source
Editable editable=mSourceText.getText();
String source=null;
if (null!=editable){
source=editable.toString();
};
//進(jìn)行語音合成.
mSynthesizerPlayer.playText(source,null,this);
mToast.setText(String
.format(getString(R.string.tts_toast_format),0,0));
mToast.show();
}
將查詢到的中文醫(yī)囑,通過音標(biāo)數(shù)據(jù)庫轉(zhuǎn)換成海南話音標(biāo)的表示符號(hào),然后將這些音標(biāo)的表示符號(hào)傳給客戶端,通過客戶端語音合成,讀出音標(biāo)。
3 結(jié)論(Conclusion)
移動(dòng)醫(yī)療提高了醫(yī)院的綜合運(yùn)營效率,降低了醫(yī)療錯(cuò)誤及醫(yī)療事故的發(fā)生率,從而提高了醫(yī)院的社會(huì)效益以及綜合競爭力。在“以人為本”的醫(yī)療模式[16]推動(dòng)下,移動(dòng)醫(yī)療是醫(yī)院信息化發(fā)展的必然趨勢,也是現(xiàn)代化醫(yī)院綜合實(shí)力的體現(xiàn)。項(xiàng)目能為醫(yī)患雙方提供便利,一定程度解決護(hù)士與老年患者、外籍患者在醫(yī)囑溝通方面障礙問題,實(shí)現(xiàn)正確傳達(dá)醫(yī)囑信息,改變醫(yī)院工作的現(xiàn)狀。本文設(shè)計(jì)并實(shí)現(xiàn)了多語種醫(yī)囑播報(bào)系統(tǒng),并具有以下優(yōu)點(diǎn):
(1)數(shù)據(jù)交互精確、及時(shí)和高效,維護(hù)量小,故障率低。
(2)作為手機(jī)軟件,安裝簡便,攜帶方便。
(3)數(shù)據(jù)庫設(shè)計(jì)靈活,后期如果需要制作其他的方言語種,只需要存儲(chǔ)方言音標(biāo)。
當(dāng)然,音標(biāo)標(biāo)注法能實(shí)現(xiàn)部分方言的發(fā)音,同時(shí)也具有一定的局限性。口服藥醫(yī)囑格式固定,文字?jǐn)?shù)量不多,可以用音標(biāo)表示,但音調(diào)上會(huì)有些微差距,需要校準(zhǔn)。并且由于當(dāng)?shù)胤窖?,不同地理位置,發(fā)音也會(huì)有所不同。因此需要綜合考慮各方面因素,并進(jìn)一步改進(jìn)。
參考文獻(xiàn)(References)
[1] 王啟東,等.基于語信通的地震告警信息發(fā)布平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J].華北地震科學(xué),2015,3303:64-67.
[2] 郭威彤,等.面向方言語音合成的文本分析研究[J].計(jì)算機(jī)工程,2015,41(5509):184-189.
[3] 王平,等.云終端語音交互中改進(jìn)型譜減法語音增強(qiáng)算法[J].計(jì)算機(jī)集成制造系統(tǒng),2013,19(18307):1721-1725.
[4] 姚金國,代智龍.基于HCSIPA的中英文混合語音合成[J].計(jì)算機(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] 李曉紅.面向語音合成的文本處理技術(shù)的改進(jìn)[D].北京:北京交通大學(xué),2010.
[7] 李明,蔡蓮紅,李勇.普通話與聊城話的聲學(xué)特征對(duì)比及轉(zhuǎn)換[C]//第七屆中國語音學(xué)學(xué)術(shù)會(huì)議暨語音學(xué)前沿問題國際論壇論文集.北京:北京大學(xué)出版社,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] 索南扎西.藏語語音合成關(guān)鍵技術(shù)研究[D].西藏:西藏大學(xué),2011.
[10] 周開來.基于語音數(shù)據(jù)庫的文語轉(zhuǎn)換系統(tǒng)過程分析[J].計(jì)算機(jī)時(shí)代,2010(07):7-9.
[11] 李素梅.住院病人不遵醫(yī)囑行為及對(duì)策[J].中國中醫(yī)藥現(xiàn)代遠(yuǎn)程教育,2012,10(24):97.
[12] 陳國友,錢玉鳳.醫(yī)院用藥錯(cuò)誤原因分析及改進(jìn)措施[J].中國藥物經(jīng)濟(jì)學(xué),2015,02:31-32.
[13] 北京大學(xué).Android師資培訓(xùn)課件-豆丁網(wǎng)[EB/OL].http://www.docin.com/p-386380286.html,2015.
[14] 高建清,謝學(xué)芳.基于QR碼的新生報(bào)到系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].安陽工學(xué)院學(xué)報(bào),2013,12(6606):66-68.
[15] 王亞平.基于Android的中文語音短信應(yīng)用設(shè)計(jì)[D].內(nèi)蒙古科技大學(xué),2012.
[16] 陳昊.基于移動(dòng)物聯(lián)網(wǎng)的區(qū)域協(xié)同心血管病急救模式研究[D].第三軍醫(yī)大學(xué),2012.
作者簡介:
佘陳鳳(1993-),女,本科生.研究領(lǐng)域:醫(yī)學(xué)信息.
余遠(yuǎn)波(1981-),男,碩士,副教授.研究領(lǐng)域:計(jì)算機(jī)應(yīng)用.本文通訊作者.
陳靜嫻(1981-),女,碩士,講師.研究領(lǐng)域:計(jì)算機(jī)應(yīng)用.
曹 友(1993-),男,本科生.研究領(lǐng)域:醫(yī)學(xué)信息.
陳澤游(1995-),男,本科生.研究領(lǐng)域:醫(yī)學(xué)信息.