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