常李艷 王藝 葉長青
摘要:生活中的醫療服務對我們來說必不可少,每個城市都有各種各樣醫療服務健全的醫療系統。這些十分健全功能強大的醫療系統存在于各個大醫院,隨著生活水平的提高,醫療設備以及醫療服務都做得十分精細。相對于病人病情較小的,病情較緩的病人到各種資源豐富的醫院去看病可能耗時長且沒有特別的需要,此時我們可以選擇附近的社區醫院去看病,從而實現醫療資源的有限最大合理化。而本次要做的課題是社區門診服務系統,簡單地實現了病人掛號、看病拿藥的過程。該系統易于管理患者的基本信息,使看病過程變成一個簡單透明而快速的過程。社區門診服務系統雖然操作簡單,但是功能齊全強大,它可以幫助人們更好地生活。
關鍵詞: 醫療服務;醫療資源;社區醫院;J2EE;服務系統
中圖分類號:TP311.5? ? ? ? 文獻標識碼:A? ? ? ? 文章編號:1009-3044(2018)36-0043-03
1 背景
現代社會醫療事業發展迅速及人們越來越對醫療衛生要求的更高,相關的醫療組織在逐步地增強醫療服務制度和醫院管理的建設。國家正在投入大量物力發展社區醫療服務的體系,小病完全就近可以解決,這樣對病人自己和對醫療資源都是有益的,社區門診服務系統會成為今后醫療服務中重要的組成部分。本文設計的社區門診服務系統主要針對社區醫院和社區附近的居民,它實現的是醫療系統簡單的基本的功能,對比各種十分完善的大醫院的管理系統,此系統有主要提高社區醫療管理的效率。此系統研究的主要使用Eclipse和SQL Server2008等主要工具進行開發。本文設計的社區門診服務系統主要有掛號系統、就診系統和收費系統三個子系統組成。
2 系統開發技術
系統采用的是Spring和SpringMVC和Mybatis整合框架也就是SSM框架。Spring是一個開源框架,是一種輕量級的面向對象(AOP)和控制反轉(IoC)容器的框架,它用來解決公司在應用開發中碰到的問題的復雜性。SpringMvc: MVC設計模式是一種目前廣泛流行的軟件設計模式,它把一個應用的各流程按照Model(模型)、View(視圖)、Controller(控制器)的方式進行分離。SSH框架優勢其一是經典的三層體系架構展現了MVC(模型,視圖和控件)的想法,使軟件開發者減輕了重新建立復雜問題場景解決方案的工作和負擔。本系統是在J2EE框架基礎上實現的,J2EE(Java 2 Platform, Enterprise Edition)是一個為大企業主機級的計算類型而設計的Java平臺。
3 系統分析
3.1 功能需求分析
社區門診服務系統有三個大的模塊功能,分別是門診掛號模塊,醫生就診模塊,和收費拿藥模塊。首先掛號操作員先對病人進行掛號操作,然后在掛號操作完成后再進行醫生就診處理,最后在通過繳費處理在進行拿藥處理。經過功能需求分析,系統需要的功能模塊見下表1。
3.2 可行性分析
在技術可行性方面,醫院只要裝有普通的電腦即可不需要什么復雜的設備和機器。在經濟上,社區門診服務系統肯定比大型的開發成本和維護費用較小,系統性價比很高。從使用目的來分析,社區門診服務系統是針對小醫院應用開發,功能簡潔,操作方便,非常符合小型醫院的使用要求。因此社區門診服務系統應該是可行的。
4 數據庫的設計和實現
數據庫在開發中是非常重要的一部因此,在設計數據庫時必須根據實際工作的性質和需要,定義所需的屬性。在此系統中一共涉及十一張表的使用分別是患者基本信息(TB_YL_HZXX),掛號表(TB_YL_GH),就診記錄表(TB_YL_JZJL),收費記錄表(TB_YL_SFJL),處方明細表(TB_YL_CFMX),收費明細表(TB_YL_SFMX),藥品目錄表(TB_DIC_YPML),ICD10疾病診斷(TB_DIC_ICD10),科室信息表(TB_DIC_KSXX),操作員表(TB_DIC_CZYXX),通用字典表(TB_DIC_TYZDB)。這些表得數據都與每個界面中與前臺進行重要的交互。下面以登錄模塊、掛號界面的相關表單設計來展示數據庫的設計過程
4.1 登錄模塊的數據庫相關表的設計與實現
在登錄界面中醫院的工作人員需要輸入自己的姓名加密碼進入系統,醫院使用到本模塊的角色有前臺掛號人員,醫生和收費的工作人員。此界面需要操作員表(TB_DIC_CZYXX),該表數據設計如下(見表2)
4.2 掛號界面模塊的數據庫相關表的涉及與實現
在掛號界面中分為兩類功能。一類功能是根據病人的就診卡id查詢以前是否在這家醫院是否掛過號,掛過號調出以前病人的基本信息再次掛號。該功能需要用到患者基本信息表(TB_YL_HZXX)(見表3)。第二類功能,對沒有在此醫院掛過號的病人錄入基本信息并進行掛號,需要用到掛號表(TB_YL_GH)(見表3)。
卡類型的編碼,0:社保卡;1:醫保卡;2:全市統一自費就診卡;3:醫院自費卡;4:區內統一自費就診卡;5:新農合卡;6:居民健康卡;9:其他卡。對于市管干部、在編軍人,這里的卡號、卡類型請填寫“TS”
4.3 就診界面的數據庫相關表的涉及與實現
在此界面中醫生根據患者就診卡id調出病人基本信息,并在問診后記錄病人就診記錄,以及給病人開處方。之前使用過的患者基本信息表需要添加就診記錄表(TB_YL_JZJL)表來處理病人的就診的相關信息,在就診表中需要調用科室信息表(TB_DIC_KSXX),操作員表(TB_DIC_CZYXX)和ICD10疾病診斷(TB_DIC_ICD10)。在就診中主要通過這四張表就可以就行數據的操作和處理。然后第二部就是對病人開處方,需要用到處方明細表(TB_YL_CFMX)。處方明細表涉及就診流水號、處方號、就診科室代碼、就診科室名稱、開方醫生代碼、開發醫生姓名、開方日期、劑型代碼、藥品規格、藥品用法、藥品數量、藥品單位、使用頻次代碼、使用頻次、每次數量、每次單位、用藥途徑、用藥天數等字段,相關表單設計與登錄界面和掛號界面相關表單設計方法相同,設計中注意表單關聯調用關系。
5 系統主要功能界面的設計與實現
系統的操作界面是實現系統功能的媒介,顯示了系統的結構和布局。系統界面設計的越合越科學,用戶體驗才更加方便。下面以主要以門診界面的設計和實現來詳細說明各功能模塊的設計過程。
5.1 登錄界面的設計與實現
本系統中只有是本院的登記的工作人員才有權限使用,在數據庫中不同角色按人員類別區分,登錄用戶按登錄名和密碼進行與后臺數據進行匹配,為安全行密碼將以密文的形式進行傳輸。登錄名與密碼都與后臺數據庫匹配成功就可進入此系統。反之就停留在該界面。
5.2 掛號界面的設計與實現
掛號界面分為三個模塊病人掛號模塊,新病人信息登記模塊,病人掛號成功出現的信息模塊。掛號界面的用例文檔如下表。
在此完成此界面功能主要是首先線初始化界面,從數據庫中取得相應的數值,將數值傳入到前臺,然后將界面病人信息相對應的值存儲到數據庫中相應的表中,以掛號科室下拉列框為例子分析代碼。
首先在Mapper層outpatientRegisterMapper.xml中寫出相應查詢語句
<select id="queryGhxx" parameterType="Map"resultType="TB_YL_GHXX">
select a.*,b.XM, d,ZDXMMC as xb,c.ZDXMMC as mzlx from abo.TB_YL_GH a
left jiondbo.TB_YL_HZXX b on a.HK
left jion TB_DIC_TYZDB c on c.ZDLXDM= '06' and a.MZLX= c.ZDMDM
left jion TB_DIC_TYZDB d on d.ZDLXDM= '02' and b.XB= d.ZDMDM
where CONVERT(varchar(100),CHSY,23)=CONVERT(varchar(100),GETDATE(),23)
order by a.GHSJ desc
</select>
然后在dao層定義接口在dao.ipml實現接口方法,在service進行邏輯業務處理
public Map initial(){
Map<String,List>dictionaryMap =InitDicListener.dictionaryMap;
Map<String,List>map = new HashMap<String,List>();
//獲取掛號科室
List<DIC_KSXX>ksxxDictionary =(List<DIS_KSXX>) dictionaryMap.get("ksxx");
List<DIC_KSXX>ksxxDList= new ArrayList<DIS_KSXX>();
for(DIC_KSXX dic_KSXX: ksxxDictionary){
if(dic_KSXX.getfkgh().equals("1")){
ksxxList.add(dic_KSXX);
}
}
map.put("ksxx",ksxxList);
在controller層調用service層的方法將數據傳回前臺頁面
@RequestMapping("/outpatinentRegister/init")
@RequestBody
public Map initial(){
returnoutPatienRegisterService.inital();
}
最后前端的js代碼將數據初始化
//門診掛號頁面初始化
function init() {
$.ajax({
url:"outpatientRegister/init",
dataType:"json",
type: 'get',
success: function (data) {
//科室初始化
varksxx = data.ksxx;
varghksElement = $("#ghks");
ghksElement.empty();
for (var i=0;i<ksxx.length;i++) {
var item = ksxx[i];
ghksElement.append("<option value="+item.ksdm+">"+item.ksmc+"</option>");
}
6 小結
在系統所有功能完成后,進行測試保證基本功能全部實現。其主要測試系統功能是否錯誤或者是否有遺漏、是否有數據結構或外部數據庫訪問錯誤、性能是否能夠接受等。本研究對開發的系統采取了黑盒測試。測試顯示社區門診服務系統三個流程基本都能實現。本社區門診系統中病人不需要做任何操作,非常方便,掛號員醫生和收費員得操作也不是特別復雜,只需要選者相應的數據即可。操作簡單,功能齊全,對幫助人們在社區就診系統的效率提升和看病體驗有積極作用。
參考文獻:
[1] 楊志姝,李光海,等.SQL應用與開發標準教程[M].北京:清華大學大學出版社,2006.
[2] 劉陽, 曹寶香. 基于J2EE考試系統的設計與實現[J]. 計算機工程與設計, 2007, 28(4):990-992.
[3] 沃爾斯. Spring in Action[M]. 北京:人民郵電出版社, 2006:56-59.
[4] 張俊萍, 朱小冬, 侯娜, 等. 基于SSM的軟件體系結構開發過程研究[J]. 計算機測量與控制, 2011, 19(8):2029-2032.
[5] 宋遠行.J2EE應用開發實踐[M].北京:清華大學出版社,2011.
[6] 袁梅冷, 黃煙波, 黃家林,等. J2EE應用模型中MVC軟件體系結構的研究與應用[J]. 計算機應用研究, 2003, 20(3):147-149.
[7] 丁振凡. Spring 3.x編程技術與應用[M]. 北京:北京郵電大學出版社, 2013.
[8] 王衛平, 王松濤, 王名茗. 一種基于J2EE、Spring和Hibernate的輕量級EAI構架[J]. 計算機系統應用, 2005(11):38-41.
[通聯編輯:代影]