郭小磊,王雅
(山西中醫(yī)藥大學(xué) 健康服務(wù)與管理學(xué)院,山西 太原 030619)
隨著國家推動村衛(wèi)生室向社區(qū)衛(wèi)生服務(wù)站的轉(zhuǎn)型[1]村衛(wèi)生室的規(guī)模也在逐步擴(kuò)大,藥品種類逐漸繁多,數(shù)量增加。如何有效進(jìn)行藥品管理成為村衛(wèi)生室面臨的一個主要問題。當(dāng)下村衛(wèi)生室的信息化建設(shè)仍然處于信息化盲區(qū),為實現(xiàn)醫(yī)療領(lǐng)域的縣鄉(xiāng)村一體化,應(yīng)重視鄉(xiāng)村衛(wèi)生室的建設(shè)力度,達(dá)到信息共享,全面建立個人終身電子健康檔案,以提高我國國民生活安全感與幸福感。
本系統(tǒng)設(shè)計采用Struts2+Spring+Hibernate+Jquery框架。
具體技術(shù)為在MVC框架下用Struts2。Struts2建立在Struts1、Webroot基礎(chǔ)上,其核心為Webroot。
其功能是OC依賴注入,它是一個最大的對象工廠,將所有對象根據(jù)依賴關(guān)系進(jìn)行注入。
處于數(shù)據(jù)庫訪問層,完整的ORM框架(對象關(guān)系映射框架): 將數(shù)據(jù)庫中每一個表映射為一個對應(yīng)的Java類(POJO),只要在初期配置了映射關(guān)系,實現(xiàn)數(shù)據(jù)庫增刪查改,對應(yīng)的SQL語句由Hibernate自動生成。在數(shù)據(jù)庫符合一定規(guī)范的情況下適用。
與Hibernate相類似的Ibatis同屬數(shù)據(jù)訪問層,Ibatis為半自動ORM框架,對應(yīng)的SQL語句由程序員手動生成。手寫的SQL語句將返回結(jié)果包裝成Java類的對象。雖然Ibatis靈活度,適用性高于Hibernate,但由于Ibatis開發(fā)效率低于Hibernate,且該系統(tǒng)數(shù)據(jù)庫符合一定規(guī)范,因此選用Hibernate。
處于頁面層,是一個JS類庫,小巧輕便,沒有提供UI組件(如下拉框,提示框)。
功能:對Html內(nèi)各類標(biāo)簽如表格等進(jìn)行快速檢索;Ajax請求;事件模型處理[2]。
(1)IReport。對報表設(shè)計生成一個數(shù)據(jù)描述文件或XML數(shù)據(jù)文件。顯示報表如何生成,進(jìn)行報表設(shè)計。
(2)JsperReport:Java類庫。解析IReport生成的數(shù)據(jù)文件,最后顯示/轉(zhuǎn)化為Pdf,Excel,Html格式。
MVC(Model-View-Controller)模型-視圖-控制器,把各個職能角色進(jìn)行劃分,如Struts+Spring+Hibernate(SSH)等都是 MVC 的架構(gòu)模式。系統(tǒng)中Struts2框架實現(xiàn)模型層,Hibernate框架實現(xiàn)控制層,Jsp實現(xiàn)視圖層。而程序則是在數(shù)據(jù)庫和前端之間起到橋梁連接作用。Hibernate在Dao部分起作用,主要為數(shù)據(jù)庫進(jìn)行增刪查改操作,Spring的作用為控制程序流程。
本系統(tǒng)的目標(biāo)用戶主要為山西?。ㄉ鐓^(qū)/村)衛(wèi)生室或個體經(jīng)營藥店,主要業(yè)務(wù)包括藥品入庫,藥品出庫,庫存盤點,收益額統(tǒng)計。具體調(diào)研點為山西省某鎮(zhèn)18個衛(wèi)生室及個別藥店。由問卷調(diào)查報告可知,用戶年齡大多為中年人;且大多數(shù)可以操作簡單的系統(tǒng),對于較為繁瑣的系統(tǒng)則無從下手;大多衛(wèi)生室在日常運營過程中有無法清算庫存,無法計算營業(yè)額與利潤的困擾;對使用藥品出入庫系統(tǒng),用戶表示可以嘗試[3]。
結(jié)合調(diào)查結(jié)果,本系統(tǒng)將需求分為管理員經(jīng)營者業(yè)務(wù)需求和用戶業(yè)務(wù)需求。管理員經(jīng)營者業(yè)務(wù)需求:用戶管理,藥品管理,入庫記錄查詢,庫存記錄查詢,出庫記錄查詢,入庫成本核算,出庫成本核算,收益統(tǒng)計,入庫報表打印,出庫報表打印。用戶業(yè)務(wù)需求:藥品入庫,庫存查詢,出庫記錄查詢。
3.1.1 總體框架
本系統(tǒng)主要分為2個角色,即系統(tǒng)管理員和用戶,系統(tǒng)總體設(shè)計框架如圖1所示。
圖1 系統(tǒng)總體設(shè)計框架
3.1.2 功能描述
接下來對本系統(tǒng)的模塊功能進(jìn)行描述。
(1)系統(tǒng)管理員模塊。系統(tǒng)管理員模塊主要有用戶管理、藥品管理、藥品入庫和出庫管理的功能。①用戶管理:添加/刪除用戶,密碼修改等。②藥品管理:添加/刪除藥品名稱、產(chǎn)地、規(guī)格等信息。用戶錄入和藥品種類錄入為該模塊的主要功能[4]。本系統(tǒng)為保證數(shù)據(jù)安全性,將用戶名錄入格式設(shè)定為單位所在區(qū)域代碼與單位全稱首字母共同組成,有效確保信息的安全性,保密性。③入庫管理:添加藥品種類,入庫記錄查詢,入庫成本核算,入庫報表打印。④出庫管理:成本核算,出庫記錄查詢,出庫報表打印。
(2)用戶管理模塊。用戶管理模塊具有藥品查詢、庫存查詢、藥品入庫和出庫記錄查詢的功能。①藥品查詢:根據(jù)需求查詢相關(guān)藥品信息。②庫存查詢:根據(jù)藥品編號或名稱進(jìn)行庫存查詢。③藥品入庫:根據(jù)入庫時間、產(chǎn)品名稱、編碼等信息進(jìn)行入庫管理。④出庫記錄查詢:根據(jù)出庫時間、產(chǎn)品名稱、編碼、庫存數(shù)量等信息進(jìn)行記錄查詢。
為使本系統(tǒng)便于應(yīng)用,將采用B/S模式,選用的數(shù)據(jù)庫產(chǎn)品為MySQL。
本系統(tǒng)的數(shù)據(jù)表包括:財務(wù)表、出庫表、入庫表、庫存表、藥品表和用戶表等。在此僅給出出庫表、藥品表、庫存表,分別如表1、表2所示。
表1 出庫表
表2 藥品表
現(xiàn)就本系統(tǒng)主要功能模塊的界面的設(shè)計和關(guān)鍵技術(shù)說明如下。
該功能用于藥品種類的維護(hù),規(guī)范下級醫(yī)療單位所用藥品的種類與質(zhì)量。系統(tǒng)管理員輸入系統(tǒng)中的藥品為可以醫(yī)保報銷的藥品,醫(yī)院藥品實行中標(biāo)藥品網(wǎng)上集中采購,且零差價銷售。系統(tǒng)的藥品編碼現(xiàn)在采用的為錄入順序編碼,后續(xù)會采用國家醫(yī)保局最新頒布的以一藥一碼原則而確定的藥品編碼,如圖2所示。
圖2 藥品管理設(shè)計界面圖
出庫記錄查詢頁面可以具體查到每一個用戶進(jìn)行的出庫操作與具體時間,做到全局統(tǒng)籌動態(tài)管理,如圖3所示。
圖3 入庫記錄查詢設(shè)計界面圖
函數(shù)實現(xiàn)過程主要分為以下步驟:首先通過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調(diào)用查詢方法的符合記錄,再通過request.setAttribute把查詢到的結(jié)果上傳到對應(yīng)界面。最后傳回到指定的JSP頁面this.setUrl(“wuliao/wuliaolist.jsp”)。通過以上步驟實現(xiàn)藥品列表頁對系統(tǒng)中藥品信息的各種增刪查改等操作[5]。
本系統(tǒng)在充分進(jìn)行用戶需求分析的基礎(chǔ)上,開發(fā)出符合用戶操作習(xí)慣的藥品出入庫系統(tǒng)。藥品出入庫系統(tǒng)對基層衛(wèi)生室,零售藥店而言愈發(fā)重要。對我國進(jìn)一步實現(xiàn)醫(yī)藥領(lǐng)域的縣鄉(xiāng)村一體化管理,建立個人終身電子健康檔案資料也有一定助益。在后續(xù)推廣和應(yīng)用中我們將對系統(tǒng)做進(jìn)一步的改進(jìn)和提升。