李明娟
鄭州市第二人民醫(yī)院藥務(wù)科,鄭州 450011
處方審核是醫(yī)院管理系統(tǒng)的重要組成環(huán)節(jié),合理的處方合格率有助于醫(yī)療系統(tǒng)的高效運轉(zhuǎn)。處方合格率對于醫(yī)院聲譽還有患者生命健康的具有重要保障。國內(nèi)各家醫(yī)院也對處方審核高度重視,針對提高處方合格率做出了很多研究成果,目前處方審核都是以藥理學和人工審核為基礎(chǔ)的審核系統(tǒng)[1-7]。基于人工審核的處方審核受限于醫(yī)生的水平和精力,而基于規(guī)則的處方審核由于樣本和地域限制可能不具有較強的可推廣性。深度學習近年來在語音和圖像識別方面取得很大進展[8],國內(nèi)的研究人員應(yīng)用深度學習研究電子病歷的數(shù)字編碼化[9]。
本研究通過深度學習建立處方智能化審核系統(tǒng),首先將門診處方的診斷語言進行分類,每一種描述代表一個獨立元素,對每個獨立元素進行數(shù)字化排列,組成診斷矩陣。然后對數(shù)字化矩陣圖像化,將其轉(zhuǎn)化為像素的數(shù)值范圍內(nèi),利用Hankel 矩陣形成圖片數(shù)據(jù)[10-12],將數(shù)據(jù)輸入Lenet 中對已有的處方進行訓(xùn)練,訓(xùn)練完成后結(jié)果和對照組結(jié)果對比,進而驗證本文研究的有效性。
病歷是醫(yī)生根據(jù)已有的醫(yī)學知識對病人做出簡潔的語言判斷,但對智能審核系統(tǒng)而言,系統(tǒng)無法識別人類語言,所以首要步驟是將病歷數(shù)字化,目前基于病例讀取和理解的研究多是基于自然語言處理的方向進行探索[13-15],但語言系統(tǒng)本身較為復(fù)雜,存在多義性和歧義性等多種問題,這里給出的解決方法是根據(jù)診斷病例的關(guān)鍵詞的有限性,對其作出數(shù)字化映射。
以呼吸科病歷為例,常見病人癥狀有:咳嗽、發(fā)熱,咳嗽、黃痰,白痰、肺有濕羅音、發(fā)燒、咽喉腫痛,胸悶、氣喘、胸痛、呼吸困難、支氣管炎、咽喉炎癥、肺炎、咽痛、鼻塞、流鼻涕、打噴嚏、頭痛、咽痛、全身肌肉酸痛、食欲不振、鼻癢、聲音嘶啞、咽部發(fā)癢、咽喉疼痛、發(fā)熱時間、藥物過敏史,將上述癥狀進行排序,組成一個1×29 的行向量。當病人病歷存在咳嗽時,在列向量中標記為1,否則標記為0;若存在發(fā)熱,在第二個位置標記為2,否則標記為0,依次根據(jù)癥狀進行標記,直至向量位置占滿為止。
本文深度學習采用Lenet 框架,該框架適用于圖片和語音識別,無法直接識別向量,所以將需要向量轉(zhuǎn)化為圖片,具體過程如下所示:
從圖1 可以看出,當病歷向量中對應(yīng)位置中標志有數(shù)值時,在對應(yīng)行中寫入對應(yīng)數(shù)量的深灰色方格,當沒有數(shù)字時,默認為0,該行全部為淺灰色。圖1 為行向量的圖片例子。
病歷訓(xùn)練過程中使用的深度學習框架為Lenet,Lenet 是一種典型的卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),由Yann LeCun 發(fā)明,因用于MNIST 手寫體數(shù)據(jù)集的數(shù)字識別而出名。
與傳統(tǒng)的手寫字體的Lenet 七層框架不同的是,本人采用的框架只有5 層,因為針對開出的藥方種類相對較多,而不是手寫字體中只有10 類,所以省略了最后2 個全連接層,Lenet 的主要結(jié)構(gòu)見圖2。
數(shù)字化病歷為輸入層,圖片大小為29×29×1,其中1 表示為黑白圖像,只有一個通道。
卷積層1 的大小為5×5,卷積層1 深度(個數(shù))為6,卷積步長s=1,輸出矩陣大小為28×28×6,其中6 表示濾波器的個數(shù)。池化層1,池化層1大小2×2(即f=2),步長s=2,輸出矩陣大小為14×14×6。卷積層2 大小 5×5,濾波器個數(shù)為16,卷積步長s=1,輸出矩陣大小為10×10×16,其中16 表示濾波器的個數(shù)。池化層2,濾波器大小2×2(即f=2),步長s=2,輸出矩陣大小為5×5×16。注意,在該層結(jié)束,需要將5×5×16的矩陣壓縮成一個400 維的向量。
全連接層直接輸出120×1×1 個向量。最后,輸出層由歐式徑向基函數(shù)單元組成,每類一個單元,每個有120 個輸入。
Lenet 的訓(xùn)練過程如圖3 所示,首先準備標注好的數(shù)據(jù)和已經(jīng)被賦予初值的Lenet。定義損失函數(shù)loss,常見的損失函數(shù)的形式是使用Lenet 輸出層的結(jié)果與標注好標簽差值的平方和形式。通過數(shù)值計算求解得出損失函數(shù)關(guān)于需要優(yōu)化的參數(shù)W的偏導(dǎo)數(shù),第n+1 次參數(shù)W 等于第n 次參數(shù)值加上偏導(dǎo)數(shù)的k 倍。Lenet 省略2 個全連接層,直接輸出120 組結(jié)果。
本文選用tensorflow 對數(shù)據(jù)進行訓(xùn)練和測試,數(shù)據(jù)選取某醫(yī)院2017—2018 年呼吸科病歷,病歷數(shù)量為5 325 份。使用Lenet 訓(xùn)練需要將病例分類為測試集和驗證集,而對照方法統(tǒng)計法不需要將病例分為兩類。其中測試集份數(shù)為4 200 份,驗證集分數(shù)為1 065 份。測試集與驗證集的比例為4∶1。
對照方法采用統(tǒng)計學方法,采用SPSS 20.0 軟件對數(shù)據(jù)進行統(tǒng)計分析。計數(shù)資料以率(%)表示,采用χ2檢驗,用P<0.05 表示差異有統(tǒng)計學意義。
下文中兩種方法指的是Lenet 方法和統(tǒng)計學方法。
4.1 兩種方法的處方不合格率對比統(tǒng)計結(jié)果表明,用Lenet 訓(xùn)練的處方不合格率(0.75%)小于對照組的處方不合格率(5.92%),門診處方開具合格率提高5.17%,見表1。
表1 兩種方法不合格情況對比
4.2 兩種方法的不合理用藥率統(tǒng)計結(jié)果表明,用Lenet 訓(xùn)練的不合格用藥率(0.66%)小于對照組的不合理用藥率(5.73%),見表2。
用Lenet 訓(xùn)練結(jié)果包括3 張重復(fù)用藥門診處方、3 次用法用量不合理、1 次聯(lián)合用藥不合理和1 次配伍禁忌,對照組的不合理包含17 次重復(fù)用藥、11 次用法用量不合理、12 次聯(lián)合用藥不合理和12次配伍禁忌。
表2 兩種方法的不合理用藥率對比
本文使用Lenet 用于處方智能審核研究,給處方審核提供一種可行的方法,研究結(jié)論主要有:(1)通過和對照組結(jié)果對比,本文方法降低了處方不合格率和不合格用藥率;(2)本文避免以往電子病歷數(shù)字化過程的word 轉(zhuǎn)化vector 過程的復(fù)雜繁瑣和多義現(xiàn)象,直接將癥狀與數(shù)字一一映射,避免了多義現(xiàn)象。