任煥海 曹金靜
摘 要:為了規(guī)范藥品的購銷行為,推行醫(yī)療體制的改革,本文利用先進的計算機技術設計實現(xiàn)了藥品集中采購系統(tǒng)。通過對目前藥品集中采購的需求分析,系統(tǒng)采用J2EE和Oracle數(shù)據(jù)庫進行開發(fā),實現(xiàn)了藥品的集中采購管理、供貨管理、監(jiān)督管理、系統(tǒng)管理等主要功能。本文詳細介紹了系統(tǒng)的架構設計、各個模塊的功能,并對關鍵技術的應用進行了闡述。本系統(tǒng)的實現(xiàn)規(guī)范了藥品集中采購過程,提高了采購效率,并強化了政府相關部門的監(jiān)管。
關鍵詞:藥品集中采購系統(tǒng);J2EE;Oracle;工程聚合
中圖分類號:TP311.52 文獻標識碼:A 文章編號:2096-4706(2019)04-0081-03
Design and Implementation of Pharmaceuticals Centralized Purchasing System
Based on J2EE
REN Huanhai,CAO Jinjing
(College of Electronic Information Engineering,Shandong Huayu University of Technology,Dezhou 253034,China)
Abstract:In order to standardize the purchase and Sale of drugs,the reform of the medical system was implemented,and the centralized procurement system for drugs was realized by using advanced computer technology design. Through the analysis of the current demand for centralized drug procurement,the system uses J2EE and Oracle database for development,and realizes the main functions of centralized procurement management,supply management,supervision and management and system management. This paper describes the system architecture design,the function of each module,and application of key technologies to elaborate. The implementation of this system regulates the centralized procurement process of drugs,improves efficiency,and strengthens the supervision of relevant government departments.
Keywords:centralized purchasing system for pharmaceuticals;J2EE;Oracle;engineering polymerization
0 引 言
藥品采購機制不夠完善,也沒有很好的藥品采購監(jiān)管手段和技術,往往導致某些藥品在市場中供銷不平衡,出現(xiàn)了藥品價格不穩(wěn)定、天價藥或者脫銷的現(xiàn)象,使得病人買藥難、買藥貴的現(xiàn)象愈演愈烈[1]。
針對上述問題,建立藥品集中采購平臺,可以使得藥品企業(yè)根據(jù)平臺的統(tǒng)計數(shù)據(jù),分析藥品市場需求,及時調整藥品產(chǎn)量和投放量,做到藥品生產(chǎn)和投放精準化;對醫(yī)療單位進行藥品采購,可以使得藥品價格透明化,生產(chǎn)廠家可以對藥品進行追溯,藥品采購的過程更加方便快捷;通過藥品集中采購平臺,政府監(jiān)管部門可以大大簡化對藥品交易的監(jiān)管,使得工作效率大幅提高[2]。
藥品集中采購平臺是利用先進計算機Web開發(fā)技術設計的一個在線藥品銷售、采購、監(jiān)管系統(tǒng),可以讓醫(yī)療機構、藥品生產(chǎn)企業(yè)和政府監(jiān)管部門對藥品的交易更加容易、透明、可控。
1 系統(tǒng)架構
藥品集中采購管理系統(tǒng)采用B/S(瀏覽器/服務器)系統(tǒng)架構[3],根據(jù)對用戶的需求分析,本系統(tǒng)的整體架構分為三大模塊,其中包括業(yè)務功能模塊(Business)、業(yè)務基礎模塊(Base)以及工具模塊(Util);本系統(tǒng)采用的技術架構是Spring+MyBatis[4]。系統(tǒng)整體架構圖如圖1所示。
業(yè)務基礎模塊(Base),主要涉及到系統(tǒng)的基礎業(yè)務的處理和管理,包括系統(tǒng)的各級用戶信息管理、系統(tǒng)各部分參數(shù)設置等,這些基礎業(yè)務功能的實現(xiàn),可以為后面開發(fā)系統(tǒng)的業(yè)務功能模塊奠定基礎。
業(yè)務功能模塊(Business),以系統(tǒng)的業(yè)務基礎模塊為基礎,主要有藥品的目錄、采購單信息、退貨單信息、查詢統(tǒng)計以及系統(tǒng)管理等主要模塊構成。
工具模塊(Util),這是系統(tǒng)的一個公共模塊,里面存放了本系統(tǒng)使用的工具類,其他功能相近項目也可以使用,提高了代碼的重用。
1.1 業(yè)務基礎模塊(Base)
業(yè)務基礎模塊作為系統(tǒng)設計的基礎,其內(nèi)容如圖2所示。
下面詳細介紹Base模塊主要部分的具體內(nèi)容。
Filter,是一種過濾器,比如用于系統(tǒng)登錄權限以及系統(tǒng)操作權限的過濾。
Action,是一種控制器,主要有轉換器(Converter)、控制器(Controller)和基礎服務門面(BaseServiceFacade)組成,作用是表單提交、數(shù)據(jù)列表查詢、異常結果處理。
Service,主要封裝了系統(tǒng)各模塊的服務接口,由區(qū)域管理服務接口(AreaManagerService)、系統(tǒng)配置服務接口(SystemConfigService)、用戶管理服務接口(User-ManagerService)三部分組成。
Dao,是面向對象的數(shù)據(jù)庫接口,整體可以分為自定義和自動生成兩部分四個方面,有mapper接口和mapper.xml。
Process,是系統(tǒng)的處理結構,主要處理系統(tǒng)的異常信息、提交結果及查詢列表結果等信息。
1.2 業(yè)務功能模塊(Business)
業(yè)務功能模塊(Business),是在業(yè)務基礎模塊之上,處理系統(tǒng)的主要功能,主要包括:藥品的目錄管理、采購單的管理、交易監(jiān)管管理、退貨單的管理、結算單的管理、交易信息的統(tǒng)計分析等內(nèi)容,如圖3所示。
2 系統(tǒng)功能模塊
藥品集中采購系統(tǒng)[5]由:藥品目錄、采購單管理、退貨單管理、結算單管理等模塊組成。
系統(tǒng)的功能能夠使得藥品的需求信息和供應信息非常直觀的顯示在藥品集中采購平臺上,將醫(yī)院、藥品生產(chǎn)企業(yè)和政府監(jiān)管單位所需的藥品相關信息傳遞到指定端口,不僅方便醫(yī)院了解藥品的價格流通行情,也對藥品生產(chǎn)企業(yè)按需生產(chǎn)提供了數(shù)據(jù)支持,還可以使得政府監(jiān)管部門對藥品交易的各方進行監(jiān)督,同時對藥品的供需關系進行宏觀調控。
下面介紹每個功能模塊的具體功能:
藥品目錄模塊,其主要功能是藥品目錄維護,藥品目錄查詢,采購目錄維護,供貨目錄維護,供貨目錄控制。
采購單管理模塊,其主要功能有創(chuàng)建采購單,采購單維護,采購單提交,采購單審核,發(fā)貨和入庫。
結算單管理模塊,主要功能有創(chuàng)建結算單,結算單維護,結算單提交和結算單確認。
退貨單管理模塊,主要有創(chuàng)建退貨單,退貨單維護,退貨單提交和退貨單確認。
查詢統(tǒng)計模塊,主要功能有按藥品統(tǒng)計交易情況查詢,按醫(yī)院統(tǒng)計交易情況查詢,按供貨商統(tǒng)計交易情況查詢和交易明細查詢。
系統(tǒng)管理模塊,主要功能有醫(yī)院管理,供貨商管理,監(jiān)督單位管理,用戶管理,系統(tǒng)參數(shù)配置,數(shù)據(jù)字典和區(qū)域管理。
3 關鍵技術
3.1 工程聚合
如果沒有聚合工程,工程師需要人為判斷工程之間的依賴關系,按照依賴關系進行單個工程編譯、發(fā)布。所以,本系統(tǒng)使用Maven[6]進行工程聚合,這樣就方便有效的將橫向和縱向拆分的項目進行整合。
父工程的pom.xml配置:
<!--設定子模塊的目錄,目錄要有pom.xml,使用相對路徑-->
子工程的pom.xml配置:
<!--父模塊的相對路徑,父模塊目錄要有pom.xml-->
3.2 用戶身份校驗
用戶的身份校驗,系統(tǒng)使用過濾器Filter,并采用Spring MVC作為攔截器進行實現(xiàn)。Spring MVC攔截器是基于處理器映射器HandlerMapping進行攔截??梢圆捎靡环N方法定義一處攔截器,自動在每個HandlerMapping中進行注冊,其配置如下。
<!--攔截器-->
<!--多個攔截器,順序執(zhí)行-->
<!--用戶身份校驗的攔截器-->
3.3 分表存儲
從藥品交易的記錄數(shù)量來考慮系統(tǒng)數(shù)據(jù)存儲問題,由于每個城市,即使是中小城市也有數(shù)量巨大的醫(yī)療機構,每年因藥品采購交易產(chǎn)生的記錄多達上千萬條,隨著城市化進程的進一步加大,交易記錄會隨著時間越來越多,只對數(shù)據(jù)庫進行優(yōu)化(建立索引、游標等)不能完全解決平臺操作效率的問題,在本系統(tǒng)提出可以按照規(guī)則對數(shù)據(jù)表進行分割存儲,從而從根本上解決大數(shù)據(jù)量訪問效率低的問題。
下面從分割表的規(guī)則,表的命名規(guī)則以及創(chuàng)建表的方法三個方面進行闡述。
(1)分割表的規(guī)則。用戶按照年份進行采購信息統(tǒng)計、查詢,本系統(tǒng)定為按年來創(chuàng)建采購單信息表。平臺用戶對藥品交易信息進行查詢、統(tǒng)計分析可以按照年這個關鍵字,采購單信息表就是按年來創(chuàng)建的。
(2)表的命名規(guī)則。采購單信息表采用動態(tài)方式創(chuàng)建,其表名的命名規(guī)則是:ypcgd+年份(4位),以及采購單明細表的命名規(guī)則是:ypcgdmxb+年份(4位)。
(3)創(chuàng)建表的方法。利用存儲過程的安全性、可重復性等優(yōu)點,寫好存儲過程,自動創(chuàng)建表以及表的索引、觸發(fā)器、外鍵等對象,存儲過程可以由操作性的定時任務來調用。
4 結 論
本文根據(jù)藥品集中采購管理工作的目標,充分從醫(yī)院、藥品企業(yè)和政府相關部門進行需求分析,采用軟件工程的思想,利用先進的開發(fā)技術進行了系統(tǒng)設計,主要利用建模工具對系統(tǒng)進行設計,以Eclipse為平臺,采用Spring+MyBatis的技術架構,利用Maven進行工程聚合,使用分表存儲方案解決了數(shù)據(jù)量大、業(yè)務復雜度高等問題。
平臺建立后,可以使得藥品在一個價格透明、交易便利、可管可控的環(huán)境下完成采購和銷售,減輕老百姓的看病負擔;藥品的集中采購實現(xiàn)了網(wǎng)絡電子交易,使得藥品企業(yè)交易成本降低;政府監(jiān)管部門也可以足不出戶進行藥品交易各方的監(jiān)督管理,藥品可以溯源,減少假藥流入市場。
參考文獻:
[1] 劉毅.新醫(yī)改背景下我國藥品供應鏈定價策略研究 [D].北京:北京交通大學,2018.
[2] 李琛,劉藝敏,王文杰,等.我國藥品集中采購工作回顧與展望 [J].中國醫(yī)院管理,2018,38(9):17-19+23.
[3] 苗立江,竇世峰.基于B/S模式領導干部民主測評系統(tǒng)的設計與實現(xiàn) [J].伊犁師范學院學報(自然科學版),2018,12(3):69-74.
[4] 李巖.基于SpringMVC框架的訂閱式服務計費管理系統(tǒng)的設計與實現(xiàn) [D].北京:北京交通大學,2018.
[5] 王劍.打造全流程電子招標平臺促進藥品招標高效發(fā)展 [J].中國招標,2017(43):26-27.
[6] 傅曉巍.基于Java編譯器的Maven混淆插件的設計與實現(xiàn) [J].電腦知識與技術,2018,14(10):65-67+70.
作者簡介:任煥海(1985-),男,漢族,山東德州人,講師,碩士,主要研究方向:智能系統(tǒng)設計、圖形圖像處理;曹金靜(1983-),女,漢族,山東德州人,教師,講師,碩士,研究方向:電子信息、軟件開發(fā)。