文/雷亞猛 劉陽(yáng)
目前,我國(guó)絕大多數(shù)醫(yī)院中的上藥發(fā)藥操作一般還是由人工完成的,這樣效率低下而且容易出錯(cuò)。智慧藥房軟件系統(tǒng)彌補(bǔ)了這方面不足,它將處方上藥發(fā)藥操作交由軟件系統(tǒng)自動(dòng)發(fā)送指令,下位機(jī)系統(tǒng)接收指令完成動(dòng)作操作,具有準(zhǔn)確、快速、高效而且便于維護(hù)的優(yōu)點(diǎn)。由此可見(jiàn),智慧藥房系統(tǒng)是建設(shè)目前醫(yī)院的一個(gè)發(fā)展的必然方向,但是,通過(guò)調(diào)研發(fā)現(xiàn)目前只有少數(shù)醫(yī)院使用了智慧藥房軟件系統(tǒng),而且目前現(xiàn)有的智慧藥房的軟件系統(tǒng)的安全性和可靠性還是不夠完善,所以對(duì)智慧藥房軟件系統(tǒng)的設(shè)計(jì)與研究具有很重要的實(shí)際意義。
軟件部分是智慧藥房的核心,本文在分析了現(xiàn)有的智慧藥房的技術(shù)缺點(diǎn)以后,提出了自己的設(shè)計(jì)方案,能夠?qū)崿F(xiàn)以下幾個(gè)功能:管理藥房中藥品的相關(guān)信息;從醫(yī)院信息管理系統(tǒng)中讀取并處理相關(guān)藥品信息;驅(qū)動(dòng)發(fā)藥機(jī)進(jìn)行上藥和發(fā)藥動(dòng)作;可以實(shí)時(shí)監(jiān)控處方藥品發(fā)送情況;可以對(duì)過(guò)往藥品信息進(jìn)行查看;及時(shí)對(duì)數(shù)據(jù)庫(kù)進(jìn)行實(shí)時(shí)更新;及時(shí)與發(fā)藥終端藥劑師進(jìn)行交互,完成處方發(fā)藥過(guò)程等。如圖1所示。
進(jìn)入自動(dòng)藥房管理系統(tǒng)之后,輸入用戶名及其密碼,用戶成功登錄之后,如圖2所示,分為四類小功能模塊,分別為實(shí)時(shí)信息,過(guò)往記錄,本地?cái)?shù)據(jù)和系統(tǒng)設(shè)置。
模擬HIS系統(tǒng)要實(shí)現(xiàn)的最重要的功能就是編輯和發(fā)送處方,然后上位機(jī)軟件系統(tǒng)對(duì)從模擬HIS系統(tǒng)通過(guò)局域網(wǎng)接收到的處方進(jìn)行相關(guān)的處理。它具有處方管理和查看過(guò)往歷史記錄的功能,在界面的最右側(cè)有三個(gè)按鈕,分別可以“保存”,“發(fā)送”或者“新建”處方信息;在左下角也有三個(gè)按鈕,可以“添加”,“修改”或者“修改”藥品信息。通過(guò)“添加”按鈕,處方中相關(guān)信息都會(huì)顯示在中間藥品信息中。添加完處方中藥品信息后,就可以點(diǎn)擊“發(fā)送”,如圖3所示。
實(shí)時(shí)信息監(jiān)控界面如下,當(dāng)點(diǎn)擊按鈕“開(kāi)始發(fā)藥”后,系統(tǒng)就可以全自動(dòng)地處理處方信息了,通過(guò)該界面不僅可以清晰看到各個(gè)處方上的詳細(xì)信息,包括藥品名稱和數(shù)量等,還可以觀察到每個(gè)處方的處理狀態(tài)等,是否發(fā)送成功。如圖4所示。

圖1

圖2

圖3

圖4

圖5
當(dāng)軟件系統(tǒng)接收到處方信息解析處理后,當(dāng)是盒裝藥時(shí)要發(fā)送指令給快速發(fā)藥機(jī)進(jìn)行上藥操作,如果是異型包裝針劑等藥品時(shí)要發(fā)送指令信息給人工取藥客戶端提示人工取藥,藥劑師可以通過(guò)人工取藥客戶端看到需要人工取藥的序列和需要取藥的詳細(xì)信息。它的界面設(shè)計(jì)如圖5所示。
補(bǔ)藥客戶端是藥房工作人員與軟件系統(tǒng)進(jìn)行交互的接口,在上位機(jī)軟件系統(tǒng)發(fā)送補(bǔ)藥指令給補(bǔ)藥系統(tǒng)后,界面上會(huì)顯示需要補(bǔ)的藥品的種類和數(shù)量的補(bǔ)藥隊(duì)列。
本文下位機(jī)采用的是stm32單片機(jī),上位機(jī)發(fā)送指令給stm32單片機(jī),有時(shí)也需要單片機(jī)反饋相應(yīng)的信息給上位機(jī),如當(dāng)補(bǔ)藥房補(bǔ)藥完成時(shí),需反饋到上位機(jī)修改本地?cái)?shù)據(jù)庫(kù)的相關(guān)信息,這就需要考慮上位機(jī)與下位機(jī)的通信方式,本文以補(bǔ)藥房為例進(jìn)行闡述通信方式。
串口數(shù)據(jù)的寫(xiě)入是通過(guò)write Data(const char * data, qint64 max Size)以 及write(const char * data, qint64 max Size),前者是protected屬性,只能在子類中訪問(wèn),而后者則是public屬性。在串口打開(kāi)并且具有可寫(xiě)屬性,即可通過(guò)write函數(shù)寫(xiě)入數(shù)據(jù)。串口數(shù)據(jù)的讀入是通 過(guò) readData(char * data, qint64 maxSize) ,read(qint64 maxSize)實(shí)現(xiàn)的,如果需要一次性讀完所有的數(shù)據(jù),則可以通過(guò)readAll()全部讀取串口緩沖區(qū)中的數(shù)據(jù)。
QSerialPort提供了訪問(wèn)串口的接口函數(shù)。使用輔助類QSerialPortInfo可以使用串口信息。將QSerialPortInfo輔助類對(duì)象作為參數(shù),使用setPort() 或setPortName()函數(shù)可以設(shè)置訪問(wèn)的串口設(shè)備。
本文主要闡述了智慧藥房軟件系統(tǒng),使用智慧藥房軟件系統(tǒng)可以使工作效率提高,同時(shí)降低錯(cuò)誤率,在一定程度上為醫(yī)院節(jié)省了人力和物力。但該系統(tǒng)也存在很多不足,下一階段可以進(jìn)行進(jìn)一步的優(yōu)化升級(jí),以期達(dá)到更好的效果。隨著人工智能技術(shù)的快速發(fā)展,智慧藥房必然是一個(gè)主流趨勢(shì)。