趙雪峰,贠 超
(1.貴州大學 機械工程學院,貴陽 550003;2.北京航空航天大學 機器人研究所,北京 100029)
目前國內醫院藥房的藥品存儲方式主要為固定式貨架,藥品存儲分散,空間利用率低,因此藥房工作費時費力,處方處理效率低。而隨著醫療體制改革和醫院改革向著信息化方向發展,醫院藥房實現自動化、數字化管理已經成為藥房發展的趨勢。垂直旋轉貨架目前由于其先進性被廣泛應用于辦公文件、檔案、機械或電子零部件、工具及刀具等多種物品的倉儲與管理。本文在垂直旋轉貨架的基礎上通過添加操作面板和保護裝置等所開發的智能存取系統用于存放盒裝、針劑類、袋裝、瓶裝等各種包裝的藥品,實現了藥品的上藥、儲藥和出藥的智能化。
智能存取系統是集信息、自動化管理和密集存儲于一體的高科技集成系統,它有機的結合了機器人技術、計算機信息與物流技術、通信網絡和自動控制技術等。智能存取系統有許多優點,主要體現在以下六點:1)存取藥品方便,是藥品到人,而不是人到藥品,存取效率高,節省時間;2)提高空間利用率,減少占地面積,充分利用空間高度;3)降低勞動強度,提高系統效率;4)由于只有出入庫口開放,可使藥品免受灰塵或陽光等的侵害;5)操作安全性能高,在存取口設置有安全光幕保護,運行部位有安全保護開關以及緊急制動等功能;6)實現藥品的智能管理,滿足按照藥品效期,不會存在藥品長期存放而失效。
智能存取系統的工作原理如圖1所示。系統運轉時,由動力驅動機構的電動機提供動力,通過減速器和一級鏈傳動減速后,帶動傳動軸轉動,驅動大鏈輪,而大鏈輪經過二級鏈傳動減速后通過脹套和傳動軸相聯結,帶動箱斗做循環運動。藥品放置在箱斗中,接收存取指令后,箱斗按最短路徑運動,將藥品送至出藥口。

圖1 系統傳動原理圖
智能存取系統是在三個垂直旋轉貨架的基礎上,通過添加適合醫院的保護裝置、人性化操作裝置和與醫院HIS系統接口的管理系統實現異型包裝藥品的存取。系統采用C/S架構,分為四級功能模塊:管理級、監控級、控制級和執行級。

圖2 智能存取控制系統功能架構圖
管理級:藥品出入庫信息、庫存信息的管理中心。響應智能存儲系統上藥終端的入庫申請和醫院HIS(Hospital Information System)系統的處方信息,將出入庫任務下達給監控級,并實時與監控級進行反饋信息通訊。管理級硬件平臺為智能存儲系統服務器。
監控級:處于中間層,與管理級進行信息交互,接收管理級上藥和處方信息,對各執行裝置進行任務調度,將監控程序生成的控制指令發送給控制級;與控制級進行反饋信息通訊。監控級硬件平臺為嵌入式主板。
控制級:按照監控級發送的控制指令調用相應的底層控制程序,利用I/O開關量控制執行級各部件。主要功能有:控制變頻器調速,控制電機正反轉,采集編碼器脈沖,控制各開關、按鈕和指示燈動作??刂萍売布M成為:I/O卡。
執行級:接受控制級程序指令,控制設備執行各種操作,達到控制要求。主要功能有:通過交流電機實現回轉柜的正反轉,通過變頻器控制電機運行速度,通過編碼器反饋回轉柜運動距離,通過貨物指示燈提示在回轉柜何處取藥。執行級硬件組成為:變頻器、交流電機、編碼器和各種開關及指示燈。
智能存取系統監控系統根據從管理系統獲取的處方和上藥信息,完成以下功能:按照系統服務器的出入庫信息,控制執行機構進行存取操作;實時監控系統的各種信號,主要包括編碼器脈沖值、I/O卡輸入輸出狀態、電機參數、變頻器參數等;提供友好的人機交互界面,便于操作。
在監控系統中,主要有上藥監控模塊和出藥監控模塊,兩模塊的流程及軟件結構模式基本一致,采用多線程技術,模塊中線程之間的通訊方式采用事件的方法來處理,通過事件的操作來實現線程間的同步,線程間的通訊則是采用消息的模式來完成。出藥監控模塊的流程圖如圖3所示。
其中出藥監控模塊主要有三個線程組成:1)與PCI2310進行通訊的線程ThreadCom,監控系統通過與PCI2310的通訊控制輸入和輸出,主要功能是讀取輸入點狀態:零位信號、手動和自動信號、上升和下降信號、前后屏切換信號等,控制輸出點的狀態:正反轉信號、電機抱閘信號、電機急停信號、變頻器速度切換信號、指示燈亮滅信號、前后觸摸屏電源信號等。2)采集出藥信息線程ThreadReadDataBase,本線程通過查看數據庫接口表中是否有需要處理的處方信息,如果有處方處理需求,監控級獲取管理級分配的貨位信息,最短路徑規劃方法決策出運行的最短路徑。當系統處于手動狀態時,本線程結束,等待聯機信號而重新啟動。3)運動線程ThreaMotion。本線程按照最短路徑控制電機旋轉至目標層,在運動控制中需要控制電機的正反轉、變頻器的速度切換、電機制動等。本線程在檢測到有安全保護信號或手動信號時終止,以免邏輯混亂甚至發生安全事故,直至下一次出藥任務到來或確定運行安全時才重新啟動線程。
藥房管理信息系統主要由五個子模塊組成,分別是:用戶管理模塊、系統維護模塊、出入庫管理模塊、查詢打印模塊和參數設置模塊。
系統維護模塊主要實現對智能存取系統的各種信息進行維護,從而實現對藥品及儲位信息的管理,為提高各個貨架的利用率,在不同時段需要根據需求實現對三個貨架的藥品分配。查詢模塊用于操作人員隨時根據不同查詢條件查看特定時間段內的藥品出入庫情況、藥品庫存情況、儲位占用狀態等,并可針對各種查詢條件進行相應的排序及生成報表打印,報表生成模塊用于生成各種標準的統計報表,便于管理人員對儲藥庫進行合理的調配,從而在以后的使用中提高效率,并可以把相關信息存檔便于查閱。出藥查詢模塊如圖4所示。

圖3 出藥監控模塊流程圖

圖4 出藥查詢模塊
出入庫管理模塊是管理系統的核心,可以分為入庫、出庫以及命令執行三部分。其中出入庫管理是按照一定的原則進行庫存管理,命令執行是將命令以最優的順序下達到監控系統,并且與監控系統實時交換任務完成的信息,從而判斷下一步的任務如何進行。該模塊的主要任務包括以下幾個方面:根據系統終端的請求,按照各個子系統的出入庫原則分配需要存取的儲位和相應數量;對各子監控系統進行任務調度;根據子監控系統反饋的信息實時更新庫存表,保證藥品出入庫的實時性,提高藥品存放效率;針對不同藥品的使用情況自動動態分配儲位,并且與醫院增加新品種或者刪除舊品種保持同步,確保藥品發放的準確性和及時性。在出庫模塊中又分為接口模塊、出藥分配等子模塊。接口模塊是整個系統數據信息的來源,主要實現以下功能:1)與醫院HIS系統藥品信息的同步更新;2)將HIS系統的處方信息及處方接收狀態保存至本地數據庫;3)將處方完成情況反饋給HIS系統,進行數據交換。接口模塊首先進行數據通訊,將HIS系統的出入庫信息實時讀入本地數據庫,為能夠實時處理多任務,采用多線程技術,系統通過AfxBeginThread()函數啟用接口線程ThreadConnect,并選擇Event同步對象來實現線程間的同步。然后,更新HIS數據庫出藥接口表OutMedTableHIS的處理狀態,采用觸發器將已經處理的出藥信息刪除,提高數據庫檢索效率,并將處方信息完成狀態反饋給HIS系統,通過讀取系統時間,更新本地數據庫藥品信息表。在退出程序時,也需要將進程中的子線程全部退出,通過Event實現線程的運行與同步。
將本系統應用于國內某大型三甲醫院,完成整個藥品的吞吐流程,極大地縮短了處方的揀選時間,減輕了藥劑師的勞動強度,使得藥房管理自動化、科學化、規范化,提高了系統的整體效率,具有顯著的社會效益和一定的推廣前景。
[1] 劉文亮.基于Solidworks的數控回轉立體庫的自動設計[J].濟南: 山東大學, 2005.
[2] 張攀, 田國會, 賈磊, 等.旋轉貨架揀選作業優化問題的新型混合遺傳算法求解[J].機械工程學報, 2004, 40(6): 34-38.
[3] 任軍, 武啟平, 陳浩, 等.現代自動化物流系統在北京卷煙廠中的應用[J].制造業自動化, 2010, 32(5): 135.
[4] 劉相權, 贠超.基于PMAC和PLC的自動化藥房出藥系統的研究[J].制造業自動化, 2008, 30(11): 20.