劉 磊 何志華
(廣東開放大學 廣州 510091) (廣州市婦女兒童醫(yī)療中心 廣州 510000)
醫(yī)院預約掛號系統(tǒng)是指利用網(wǎng)站、手機、短信、電話等渠道開通預約掛號服務,方便患者預約看病所使用的系統(tǒng)。醫(yī)院預約掛號服務有利于患者提前安排就醫(yī)計劃,方便就醫(yī),也有助于醫(yī)院提高工作效率,對提高醫(yī)療服務水平具有重大意義。當前已有許多醫(yī)院實現(xiàn)網(wǎng)上預約掛號服務,基本分為兩類:一類是基于瀏覽器/服務器(Browser/Server,B/S)架構的掛號網(wǎng)站,用戶通過PC端瀏覽器可查找醫(yī)生、預約掛號,優(yōu)點是無需安裝任何軟件,只需瀏覽器即可,但需要在PC端登錄,不能隨身、隨時使用;另一類是開發(fā)成手機APP,利用移動互聯(lián)網(wǎng)隨時隨地預約掛號,優(yōu)點是方便快捷,但用戶需要額外在手機安裝APP,升級維護比較麻煩[1-2]。微信作為移動互聯(lián)網(wǎng)時代大眾交流的工具,已擁有龐大的用戶群,微信公眾號作為新型的服務平臺,能夠為各種團體提供服務接入,開發(fā)基于微信公眾號的預約掛號系統(tǒng),以此作為入口,跳轉到使用HTML5開發(fā)的響應式Web界面,用戶在微信內(nèi)置的瀏覽器上就可以完成整個預約掛號過程,既保證便捷性,也極易升級維護[3-4]。
微信公眾號是基于微信平臺、面向公眾的功能模塊,其信息傳播方式是一對多,通過關注微信公眾號可以將文字、圖片、語音等信息直接推送到用戶手機,用戶通過公眾號入口可以方便使用提供的功能,傳播覆蓋能力較其他網(wǎng)絡平臺有明顯優(yōu)勢。第一,微信是天然的用戶接口。關注微信公眾號,系統(tǒng)可輕松獲取用戶位置、時間、賬號,支持文字、圖片、二維碼、音視頻、近距離無線通信(Near Field Communication,NFC)等各種信息交互,隨時隨地對接任何系統(tǒng),信息傳達效率高。第二,輕前端,重后端。使用HTML5技術開發(fā)的輕量級前端能夠帶來更好的用戶體驗,重后端是基于微信公眾平臺提供的大量應用程序接口(Application Program Interface,API),可以輕松開發(fā)出功能豐富的應用接口。第三,不干擾用戶。不同于微博的信息傳播方式,微信不會產(chǎn)生爆炸式信息,信息均在較私密的環(huán)境下傳達,用戶自由度較高,自主選擇用戶訂閱、推送功能,具有設置功能。第四,易于生活服務產(chǎn)品推廣。一對多傳播方式特別適合于政府機關、醫(yī)療衛(wèi)生、商業(yè)公司等向用戶提供業(yè)務服務。
系統(tǒng)通過微信公眾號提供預約掛號服務,患者用戶首次使用需關注公眾號,成功后進入公眾號,點擊預約掛號菜單跳轉到授權認證中心,獲取并綁定用戶賬號,成功后進入正式預約界面。用戶可選擇按科室、日期、醫(yī)生3種方式進入出診醫(yī)生列表頁面,選擇預約醫(yī)生、日期、時段,選擇或添加就醫(yī)人員信息,確認預約。預約成功后可在用戶中心查看預約信息或取消預約,同時系統(tǒng)向用戶手機發(fā)送提示短信[5-9]。用戶預約掛號流程,見圖1。
圖1 用戶預約掛號流程
系統(tǒng)包含兩個模塊:一是用戶使用的基于微信公眾號的預約掛號模塊;二是醫(yī)生和管理人員使用的集成在醫(yī)院信息系統(tǒng)(Hospital Information System,HIS)中的掛號管理模塊。預約掛號模塊提供預約掛號入口、微信公眾平臺賬號綁定、預約醫(yī)生、就醫(yī)評價等功能,其中預約醫(yī)生是核心,醫(yī)生列表頁面顯示醫(yī)生個人簡介,提供預約按鈕,預約頁面展示醫(yī)生出診時間表,用戶可選擇預約日期、時段。系統(tǒng)允許用戶添加多個患者信息,每位患者使用社保卡號、診療卡號、身份證號唯一確定身份;預約成功后用戶可查看預約記錄,也可進行取消;就醫(yī)后用戶可為問診醫(yī)生添加評價。用戶在個人中心可以查看所有預約記錄、管理個人及其他患者信息。掛號管理模塊集成在HIS,醫(yī)生及管理人員在工作站登錄后可以進行操作。系統(tǒng)功能結構,見圖2。
圖2 系統(tǒng)功能結構
通過分析系統(tǒng)參與角色可以得到幾個基本實體:用戶、患者和醫(yī)生。用戶是關注微信公眾號的使用者,每個微信用戶都有唯一的賬號信息,通過綁定微信賬號可以確定用戶身份,通??墒褂檬謾C號碼標識用戶?;颊呤菍嶋H就醫(yī)人員,用戶可添加多個患者信息,為其預約掛號?;颊呋拘畔ㄐ彰?、身份證號、社保卡號、診療卡號、與用戶關系,其中關系包括本人、子女、父母、夫妻、朋友、同事等。用戶可通過一定條件查詢醫(yī)生,查找條件可以是所屬科室、疾病關鍵字、出診日期等。科室實體定義科室、診治疾病信息,一個科室包括多名醫(yī)生,科室與醫(yī)生的關系是一對多。醫(yī)生實體定義姓名、級別、簡介、所屬科室等信息。該模型最重要的兩個表是預約記錄表和出診時間表,用戶查找醫(yī)生,預約日期和時段,添加患者,將患者與醫(yī)生關聯(lián),產(chǎn)生的記錄存儲成預約記錄表;管理員選擇醫(yī)生、出診日期和時段,將醫(yī)生和出診時間關聯(lián),生成出診時間表。管理員擁有最高權限,可以管理預約記錄表和出診時間表,也可管理用戶和醫(yī)生信息。系統(tǒng)數(shù)據(jù)庫模型,見圖3。
圖3 系統(tǒng)數(shù)據(jù)庫模型
本系統(tǒng)采用業(yè)界常用的技術組合,后端邏輯層服務器操作系統(tǒng)采用Linux,Web服務采用Tomcat/Nginx;數(shù)據(jù)訪問層數(shù)據(jù)庫采用MySQL,緩存組件采用Redis;前端表示層使用微信公眾號作為入口,跳轉到使用HTML5技術開發(fā)的響應式頁面。后端開發(fā)框架為SSM,前端開發(fā)框架為Bootstrap。第一,SSM。即SpringMVC、Spring、Mybatis 3大框架的完美組合,主流的J2EE企業(yè)級開發(fā)框架,具有輕量級、代碼侵入性低、技術成熟的特點,支持典型的3層架構:數(shù)據(jù)層、業(yè)務層、表示層[11]。Mybatis是數(shù)據(jù)層框架,支持定制SQL語句,傳參自由、靈活,結果集自動賦值,接口設計和SQL語句的分離方便代碼再次查看評審。Spring提供統(tǒng)一托管對象的容器工廠,允許通過一致的訪問接口訪問工廠里的任意實例,也就是對象控制反轉(Inversion of Control,IOC);Spring還支持聲明式事務,對于高并發(fā)應用,帶事務的方法往往是瓶頸所在,很可能導致數(shù)據(jù)庫訪問延遲,使用聲明式事務比較方便。SpringMVC是Web層框架,支持restful風格的統(tǒng)一資源定位器(Uniform Resource Locator,URL)和模型視圖控制器(Model View Controller,MVC)開發(fā)模式。第二,Bootstrap。簡潔、直觀、強大的前端開發(fā)框架,基于HTML5、CSS3、JQuery技術構建,提供導航、分頁、面板等可復用的靜態(tài)組件以及下拉菜單、標簽頁、彈出框等動態(tài)插件,靈活的柵格布局系統(tǒng),使用Bootstrap可以快速、高效地開發(fā)較好的響應式靜態(tài)頁面[12]。第三,MySQL。最流行的用于Web開發(fā)的關系型數(shù)據(jù)庫,支持事務和鎖機制,可以單點、主從復制、集群多種規(guī)模運行[13-14]。系統(tǒng)技術架構,見圖4。
圖4 系統(tǒng)技術架構
用戶關注公眾號后,系統(tǒng)記錄用戶唯一ID,再次進入公眾號,如有預約顯示預約記錄,若沒有預約則可以按科室、日期、醫(yī)生3種方式查找要預約的醫(yī)生,醫(yī)生界面展示姓名、職稱和詳細信息,點擊預約按鈕則進入正式預約界面,能夠看到該醫(yī)生的出診時間和被預約情況,用戶選擇可約日期和時間段,點擊確定后可選擇一名或多名就診人,確認預約,顯示預約結果。預約成功后顯示用戶預約記錄,用戶可取消預約或查看歷史預約。
由于網(wǎng)絡服務的便捷、自由、無地域限制,越來越多的人選擇使用網(wǎng)絡自助掛號;而微信公眾號作為大眾化移動媒介平臺,具有使用無限制、范圍廣、方便患者掛號就醫(yī)等優(yōu)勢。將微信公眾號與網(wǎng)上自助預約掛號系統(tǒng)結合起來,以微信公眾號作為訪問入口,提供自由、自助的預約掛號服務,將成為網(wǎng)上自助預約掛號服務中的發(fā)展方向。