郭小磊,王雅
(山西中醫藥大學 健康服務與管理學院,山西 太原 030619)
隨著國家推動村衛生室向社區衛生服務站的轉型[1]村衛生室的規模也在逐步擴大,藥品種類逐漸繁多,數量增加。如何有效進行藥品管理成為村衛生室面臨的一個主要問題。當下村衛生室的信息化建設仍然處于信息化盲區,為實現醫療領域的縣鄉村一體化,應重視鄉村衛生室的建設力度,達到信息共享,全面建立個人終身電子健康檔案,以提高我國國民生活安全感與幸福感。
本系統設計采用Struts2+Spring+Hibernate+Jquery框架。
具體技術為在MVC框架下用Struts2。Struts2建立在Struts1、Webroot基礎上,其核心為Webroot。
其功能是OC依賴注入,它是一個最大的對象工廠,將所有對象根據依賴關系進行注入。
處于數據庫訪問層,完整的ORM框架(對象關系映射框架): 將數據庫中每一個表映射為一個對應的Java類(POJO),只要在初期配置了映射關系,實現數據庫增刪查改,對應的SQL語句由Hibernate自動生成。在數據庫符合一定規范的情況下適用。
與Hibernate相類似的Ibatis同屬數據訪問層,Ibatis為半自動ORM框架,對應的SQL語句由程序員手動生成。手寫的SQL語句將返回結果包裝成Java類的對象。雖然Ibatis靈活度,適用性高于Hibernate,但由于Ibatis開發效率低于Hibernate,且該系統數據庫符合一定規范,因此選用Hibernate。
處于頁面層,是一個JS類庫,小巧輕便,沒有提供UI組件(如下拉框,提示框)。
功能:對Html內各類標簽如表格等進行快速檢索;Ajax請求;事件模型處理[2]。
(1)IReport。對報表設計生成一個數據描述文件或XML數據文件。顯示報表如何生成,進行報表設計。
(2)JsperReport:Java類庫。解析IReport生成的數據文件,最后顯示/轉化為Pdf,Excel,Html格式。
MVC(Model-View-Controller)模型-視圖-控制器,把各個職能角色進行劃分,如Struts+Spring+Hibernate(SSH)等都是 MVC 的架構模式。系統中Struts2框架實現模型層,Hibernate框架實現控制層,Jsp實現視圖層。而程序則是在數據庫和前端之間起到橋梁連接作用。Hibernate在Dao部分起作用,主要為數據庫進行增刪查改操作,Spring的作用為控制程序流程。
本系統的目標用戶主要為山西?。ㄉ鐓^/村)衛生室或個體經營藥店,主要業務包括藥品入庫,藥品出庫,庫存盤點,收益額統計。具體調研點為山西省某鎮18個衛生室及個別藥店。由問卷調查報告可知,用戶年齡大多為中年人;且大多數可以操作簡單的系統,對于較為繁瑣的系統則無從下手;大多衛生室在日常運營過程中有無法清算庫存,無法計算營業額與利潤的困擾;對使用藥品出入庫系統,用戶表示可以嘗試[3]。
結合調查結果,本系統將需求分為管理員經營者業務需求和用戶業務需求。管理員經營者業務需求:用戶管理,藥品管理,入庫記錄查詢,庫存記錄查詢,出庫記錄查詢,入庫成本核算,出庫成本核算,收益統計,入庫報表打印,出庫報表打印。用戶業務需求:藥品入庫,庫存查詢,出庫記錄查詢。
3.1.1 總體框架
本系統主要分為2個角色,即系統管理員和用戶,系統總體設計框架如圖1所示。

圖1 系統總體設計框架
3.1.2 功能描述
接下來對本系統的模塊功能進行描述。
(1)系統管理員模塊。系統管理員模塊主要有用戶管理、藥品管理、藥品入庫和出庫管理的功能。①用戶管理:添加/刪除用戶,密碼修改等。②藥品管理:添加/刪除藥品名稱、產地、規格等信息。用戶錄入和藥品種類錄入為該模塊的主要功能[4]。本系統為保證數據安全性,將用戶名錄入格式設定為單位所在區域代碼與單位全稱首字母共同組成,有效確保信息的安全性,保密性。③入庫管理:添加藥品種類,入庫記錄查詢,入庫成本核算,入庫報表打印。④出庫管理:成本核算,出庫記錄查詢,出庫報表打印。
(2)用戶管理模塊。用戶管理模塊具有藥品查詢、庫存查詢、藥品入庫和出庫記錄查詢的功能。①藥品查詢:根據需求查詢相關藥品信息。②庫存查詢:根據藥品編號或名稱進行庫存查詢。③藥品入庫:根據入庫時間、產品名稱、編碼等信息進行入庫管理。④出庫記錄查詢:根據出庫時間、產品名稱、編碼、庫存數量等信息進行記錄查詢。
為使本系統便于應用,將采用B/S模式,選用的數據庫產品為MySQL。
本系統的數據表包括:財務表、出庫表、入庫表、庫存表、藥品表和用戶表等。在此僅給出出庫表、藥品表、庫存表,分別如表1、表2所示。

表1 出庫表

表2 藥品表
現就本系統主要功能模塊的界面的設計和關鍵技術說明如下。
該功能用于藥品種類的維護,規范下級醫療單位所用藥品的種類與質量。系統管理員輸入系統中的藥品為可以醫保報銷的藥品,醫院藥品實行中標藥品網上集中采購,且零差價銷售。系統的藥品編碼現在采用的為錄入順序編碼,后續會采用國家醫保局最新頒布的以一藥一碼原則而確定的藥品編碼,如圖2所示。

圖2 藥品管理設計界面圖
出庫記錄查詢頁面可以具體查到每一個用戶進行的出庫操作與具體時間,做到全局統籌動態管理,如圖3所示。

圖3 入庫記錄查詢設計界面圖
函數實現過程主要分為以下步驟:首先通過2句代碼String bhno = request.getParameter(“bhno“);String ypname = request.getParameter(“ypname “);獲取查詢的選項;其次通過2條if語句if(bhno!=null &&!””.equals(bhno)){if(ypname!=null &&!””.equals(ypname))判斷值是否為空,若不為空時,通過StingBuffer加查詢的SQL語句和 wuliaoDao.selectBeanList調用查詢方法的符合記錄,再通過request.setAttribute把查詢到的結果上傳到對應界面。最后傳回到指定的JSP頁面this.setUrl(“wuliao/wuliaolist.jsp”)。通過以上步驟實現藥品列表頁對系統中藥品信息的各種增刪查改等操作[5]。
本系統在充分進行用戶需求分析的基礎上,開發出符合用戶操作習慣的藥品出入庫系統。藥品出入庫系統對基層衛生室,零售藥店而言愈發重要。對我國進一步實現醫藥領域的縣鄉村一體化管理,建立個人終身電子健康檔案資料也有一定助益。在后續推廣和應用中我們將對系統做進一步的改進和提升。