黃賢順 陳加糧
摘 要:隨著醫(yī)藥事業(yè)日益壯大,企業(yè)通過管理系統(tǒng)管理藥品變得尤為重要,因而醫(yī)藥信息管理系統(tǒng)應(yīng)運而生。本文主要對藥品入庫、出庫、庫存、銷售等各方面進行算法分析和研究,采用Java和MySQL進行系統(tǒng)研究和開發(fā)。同時對各類數(shù)據(jù)進行分析和統(tǒng)計,生成相應(yīng)的統(tǒng)計報表。通過該系統(tǒng)的開發(fā),能讓企業(yè)對藥品進行更加合理、快捷、高效的管理。
關(guān)鍵詞:醫(yī)藥信息管理;算法分析;MySQL數(shù)據(jù)庫;統(tǒng)計報表
一、 前言
隨著醫(yī)藥事業(yè)的不斷壯大,企業(yè)對于藥品的管理變得越來越重要,傳統(tǒng)的手工管理效率低、易出錯、費時費力。如果想更改某個藥品的信息,我們就要更改該藥品的整條記錄,而且人工修改易出錯、浪費時間、大大增大了工作量。相比于其他行業(yè),醫(yī)藥業(yè)是有關(guān)民生的行業(yè),任何一點錯誤信息都可能會造成嚴重的后果。這就非常的需要使用一套軟件管理系統(tǒng)讓藥品的管理更智能、更簡潔、更高效。
當前,國外許多發(fā)達國家的科學(xué)家和研究學(xué)者對醫(yī)藥庫存管理工作產(chǎn)生了濃厚的興趣,優(yōu)秀的庫存管理系統(tǒng)能夠為企業(yè)創(chuàng)造更高的經(jīng)濟效益。經(jīng)過三十多年的研究,國外的優(yōu)秀研究人員在醫(yī)藥庫存管理方面已經(jīng)取得了不錯的成績。科學(xué)家華萊士·J在研究庫存管理方面設(shè)計了自己的理論,他對庫存管理進行了分類,把庫存以模塊的形式進行劃分,促使庫存管理工作更加精細化,為庫存分類管理做出了巨大貢獻,對庫存管理產(chǎn)生了深遠影響;阿曼達·J認為要重點考慮需求對庫存的重要影響,通過對這些影響的分析,結(jié)合創(chuàng)作系統(tǒng)時的相關(guān)技術(shù),最終確定系統(tǒng)設(shè)計的對應(yīng)模型,模型能夠使問題清晰化,有利于更好地解決各類問題,為以后解決庫存和需求問題打下堅實的基礎(chǔ)。但現(xiàn)如今已經(jīng)運用到企業(yè)中的醫(yī)藥信息管理系統(tǒng)還不是很多,因此,本項目將醫(yī)藥信息管理作為研究的對象,致力于開發(fā)出供醫(yī)藥企業(yè)使用的醫(yī)藥信息管理系統(tǒng),完成庫存管理、下限報警、導(dǎo)出等功能,以低成本、高效率為原則,使其適用于各中小型藥企。
二、 系統(tǒng)開發(fā)環(huán)境
開發(fā)醫(yī)藥信息管理系統(tǒng),必須充分了解該系統(tǒng)需求,理解系統(tǒng)應(yīng)該完成的真正目標和任務(wù),這一階段的成果很大程度上決定了項目的成敗。一個完善的醫(yī)藥信息管理系統(tǒng),就要有著一整套完善的設(shè)計體系,包括友好的界面、人性化的功能、方便可行的操作以及整體安全可靠的設(shè)計。由于本系統(tǒng)是面向廣大醫(yī)務(wù)人員開發(fā)的,所以界面必須做到簡單高效易操作,這樣才能使系統(tǒng)的適用范圍更加廣泛。而Windows操作系統(tǒng)相對使用廣泛,用Java語言開發(fā)出的系統(tǒng)簡單易學(xué)易操作,經(jīng)過比較,決定采用以下方案構(gòu)建系統(tǒng):采用B/S模式進行設(shè)計,基于Windows 10、JDK 1.8開發(fā)環(huán)境,開發(fā)語言使用Java,后臺數(shù)據(jù)庫采用MySQL數(shù)據(jù)庫系統(tǒng)。
三、 系統(tǒng)設(shè)計
(一) 系統(tǒng)需求分析
經(jīng)過一段時間的調(diào)查分析,本系統(tǒng)需要實現(xiàn)以下幾個主要功能:
(1)當有藥品購進時,需要錄入系統(tǒng),此為入庫管理功能;
(2)當藥品銷售后,需要在系統(tǒng)中更新藥品數(shù)量,此為庫存管理功能;
(3)當藥品庫存不足時,系統(tǒng)會自動報警,此為下限報警功能;
(4)做銷售、庫存和利潤統(tǒng)計時,可以生成相應(yīng)報表并能以常用文件格式導(dǎo)出相應(yīng)表格數(shù)據(jù),即統(tǒng)計報表功能。
本系統(tǒng)研究的關(guān)鍵部分是庫存管理商品下限報警功能和生成對應(yīng)數(shù)據(jù)報表。對于藥品的經(jīng)銷商來說,可以將藥品的編號、名稱、數(shù)量、單價等錄入到系統(tǒng)中,便于對藥品進行統(tǒng)一化、規(guī)范化的管理;當藥品的數(shù)量低于一定值時,系統(tǒng)便開啟報警功能。同時該系統(tǒng)需要可以按日、月、季度等實現(xiàn)利潤統(tǒng)計,并需要支持導(dǎo)出為PDF或Excel等常用文檔格式,便于打印輸出。
(二) 系統(tǒng)總體設(shè)計
本系統(tǒng)總體設(shè)計可分為銷售人員登錄模塊和管理人員登錄模塊。庫存管理子模塊和銷售管理子模塊設(shè)計是本系統(tǒng)的關(guān)鍵所在。在登錄頁面中會提示用戶選擇登錄的用戶類別(銷售人員或后臺管理人員),銷售人員可進行入庫管理、銷售管理、庫存管理等操作;后臺管理人員可進行利潤統(tǒng)計、權(quán)限管理等操作。這樣既滿足了銷售人員的日常使用,又保證了后臺管理人員的管理身份,對企業(yè)效率的提升起到了莫大的幫助。
(三) 數(shù)據(jù)庫設(shè)計
在設(shè)計系統(tǒng)數(shù)據(jù)庫時,要保持數(shù)據(jù)庫設(shè)計的規(guī)范化以及標準化。使用數(shù)據(jù)的標準化可以大大降低數(shù)據(jù)庫中多余數(shù)據(jù)與重復(fù)數(shù)據(jù)。一般來說,系統(tǒng)設(shè)計的好壞取決于數(shù)據(jù)庫設(shè)計的好壞。本系統(tǒng)的數(shù)據(jù)庫采用MySQL創(chuàng)建,涉及的關(guān)鍵數(shù)據(jù)表主要有藥品信息表、藥品入庫信息表、藥品出庫信息表等。
(四) 功能模塊設(shè)計
1. 入庫管理模塊設(shè)計
入庫管理模塊包含入庫登記和藥品調(diào)價功能。
(1)入庫登記功能是為了實現(xiàn)當有藥品購進時,用戶可以向系統(tǒng)中添加藥品信息,從而實現(xiàn)藥品的入庫信息的明確化。當用戶添加了重復(fù)的商品編號時,系統(tǒng)要自動檢測沖突(比如:數(shù)據(jù)庫中已有藥品001,當再次添加編號為001的藥品時,系統(tǒng)將提示用戶重新填寫編號),當所有的信息都確認無誤后,此時完成信息的添加。所以在本功能中,我們先從前端傳過來的參數(shù)中挑出藥品編號,并到數(shù)據(jù)庫中搜索,實現(xiàn)入庫操作。(2)藥品調(diào)價功能可以讓用戶修改現(xiàn)有的藥品信息。當沒查詢到符合用戶所輸入的條件時,系統(tǒng)要自動判斷沖突,提示用戶是否需要新增該藥品信息。在本功能中,用到了判空操作:當系統(tǒng)在數(shù)據(jù)庫中沒搜索到符合用戶搜索條件的信息時,系統(tǒng)返回空值,并在前端頁面詢問用戶是否新增該藥品信息。
本系統(tǒng)用的是MyBatis框架,所以對數(shù)據(jù)庫的操作我們放在了WarehouseMapper.xml文件中。
2. 下限報警算法
下限報警就是根據(jù)一定的約束條件,當特定的數(shù)值達到這一約束條件時,系統(tǒng)向用戶發(fā)出信息的過程。這一過程是本系統(tǒng)中比較有特色的功能之一,其報警主要分為兩種方式:自動報警和手動報警。
自動報警就是某種藥品即將售完時,系統(tǒng)會彈出報警對話框,提醒用戶該藥品庫存不足,需及時補充庫存。那么,要想實現(xiàn)這一功能,此算法需要用到前面所說到的修改藥品信息函數(shù)以及if語句,修改藥品信息函數(shù)的作用在于當有藥品售出后,用戶使用該功能更改庫存的剩余數(shù)量(假設(shè)原來的藥品有10盒,賣了8盒,則用戶需要把10更改為2),若用戶設(shè)定的下限值為5,則此時用到if語句,即if(藥品剩余數(shù)量 <= 藥品下限數(shù)量 ? 報警:返回)來實現(xiàn)自動報警。
而手動報警就是用戶需自己操作,讓系統(tǒng)列出缺貨的藥品信息,從而讓用戶知道哪些藥品缺貨了,需要及時補貨。此功能通過調(diào)用自定義的LowAlm函數(shù)來完成。
3. 統(tǒng)計報表設(shè)計與實現(xiàn)
統(tǒng)計報表功能對于用戶常查詢、統(tǒng)計、分析數(shù)據(jù)提供了必要的手段和方法,是系統(tǒng)有益和必要的組成部分。需要其實現(xiàn)的功能大致為:
(1)賬單結(jié)算管理:根據(jù)消費者購買藥品的價格、數(shù)量以及其會員卡的折扣,結(jié)算該客戶實際應(yīng)付的金額。(2)藥品庫存管理:當購進藥品時,對購進藥品的一系列主要信息進行統(tǒng)計報表,方便用戶知曉購進藥品信息。(3)下限報警管理:在需要時,用戶可通過此功能打印庫存不足的藥品,從而及時補進所需藥品。(4)利潤管理:定時統(tǒng)計利潤,保留每次的進貨單以及銷售單,最后通過計算得出階段利潤。
在數(shù)據(jù)報表的實現(xiàn)中,我們主要用到Apache的開源項目:Apache POI,它是用Java編寫的,開源的、無需付費的、跨平臺的 Java API,讓Java程序可對Microsoft Office格式文檔進行讀和寫的功能。
四、 結(jié)語
本醫(yī)藥信息管理系統(tǒng)基于Windows 10開發(fā)環(huán)境,利用編程語言Java語言以及MySQL數(shù)據(jù)庫技術(shù),該設(shè)計實現(xiàn)了一套完備的醫(yī)藥信息管理系統(tǒng)。本文主要分析了藥品庫存、銷售等方面的算法,并對各類數(shù)據(jù)進行分析統(tǒng)計,生成相應(yīng)的統(tǒng)計報表。通過該系統(tǒng)地開發(fā),我更加系統(tǒng)地學(xué)習(xí)了相關(guān)的專業(yè)知識,但由于準備不足以及時間有限,系統(tǒng)還存在著一些問題,目前還不能投入使用,后期將繼續(xù)完善系統(tǒng),爭取早日投入醫(yī)藥企業(yè)中使用。
參考文獻:
[1]盧楠.河北省三甲醫(yī)院信息化建設(shè)探討[J].科技創(chuàng)新導(dǎo)報,2015(5):18-26.
[2]黃麗敏.供應(yīng)鏈環(huán)境下基于VMI和JIT相結(jié)合的庫存管理模式研究[D].浙江:浙江工業(yè)大學(xué),2013:15-18.
[3]梁芳.基于網(wǎng)絡(luò)的醫(yī)藥信息管理系統(tǒng)的設(shè)計與開發(fā)[D].武漢:華中師范大學(xué),2006.
[4]于長慧.醫(yī)藥進銷存信息管理系統(tǒng)的設(shè)計與開發(fā)[D].電子科技大學(xué),2014.
[5]柴守立.山東英才學(xué)院醫(yī)藥管理系統(tǒng)的設(shè)計與實現(xiàn)[D].濟南:山東大學(xué),2013.
作者簡介:
黃賢順,陳加糧,湖南省吉首市,吉首大學(xué)信息科學(xué)與工程學(xué)院。