基于呼叫中心的社區(qū)衛(wèi)生信息系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘 要: 呼叫中心技術(shù)涉及計(jì)算機(jī)電話集成、數(shù)據(jù)庫(kù)技術(shù)和交換技術(shù)等多種技術(shù),已成為向客戶提供服務(wù)的重要方式。研究如何將呼叫中心技術(shù)內(nèi)嵌到社區(qū)衛(wèi)生信息系統(tǒng)中,并給出了一種基于線性加權(quán)優(yōu)先級(jí)算法的排隊(duì)模型。
關(guān)鍵詞: 呼叫中心;有限狀態(tài)機(jī);計(jì)算機(jī)電話集成;排隊(duì)模型
呼叫中心(Call Center)也叫客戶服務(wù)中心,它利用計(jì)算機(jī)電話集成(CTI)技術(shù),將基于語(yǔ)音的電信網(wǎng)絡(luò)(PSTN)與基于后臺(tái)數(shù)據(jù)庫(kù)的計(jì)算機(jī)處理網(wǎng)絡(luò)有機(jī)結(jié)合起來(lái),實(shí)現(xiàn)客戶和系統(tǒng)的溝通互動(dòng)。社區(qū)衛(wèi)生信息管理系統(tǒng)是衛(wèi)生管理決策數(shù)據(jù)的重要來(lái)源,社區(qū)信息管理人員如何快速準(zhǔn)確地為管理決策者提供相關(guān)信息資料,是社區(qū)信息管理人員的一個(gè)重要任務(wù),因此迫切需要適應(yīng)現(xiàn)代社區(qū)信息管理運(yùn)行模式的社區(qū)衛(wèi)生信息管理系統(tǒng)。本文研究了如何將呼叫中心技術(shù)在社區(qū)衛(wèi)生信息管理系統(tǒng)中的應(yīng)用,分析了基于呼叫中心的社區(qū)衛(wèi)生信息客戶服務(wù)系統(tǒng)的具體實(shí)現(xiàn)方案,并給出了一種基于線性加權(quán)優(yōu)先級(jí)算法的排隊(duì)模型。
1 系統(tǒng)架構(gòu)分析與建模
呼叫中心有兩種典型實(shí)現(xiàn)方案,即基于交換機(jī)的實(shí)現(xiàn)和基于語(yǔ)音板卡的實(shí)現(xiàn)[1]。這兩種方案適用于不同場(chǎng)合的呼叫中心構(gòu)建。其中,基于語(yǔ)音板卡的方案其基本思想是在計(jì)算機(jī)平臺(tái)上集成各種功能的語(yǔ)音處理卡,完成通信接口、語(yǔ)音處理、傳真處理、座席轉(zhuǎn)接等功能,結(jié)合外部的計(jì)算機(jī)網(wǎng)絡(luò)實(shí)現(xiàn)各種應(yīng)用系統(tǒng)的具體需求;如果呼叫中心規(guī)模小于20個(gè)座席,則適合采用基于語(yǔ)音板卡的實(shí)現(xiàn)方案。而當(dāng)應(yīng)用系統(tǒng)規(guī)模大于20個(gè)座席時(shí),采用基于交換機(jī)的方案能夠獲得更好的經(jīng)濟(jì)效益。本文所涉及的衛(wèi)生信息管理系統(tǒng)對(duì)呼叫中心的需求屬于較小規(guī)模,因此適合采用基于語(yǔ)音板卡的實(shí)現(xiàn)方案。
1.1 系統(tǒng)總體架構(gòu)
分析本系統(tǒng)中呼叫中心子系統(tǒng)的功能,可按主要業(yè)務(wù)模塊劃分,如圖1所示。
具體實(shí)現(xiàn)中,可以預(yù)留相關(guān)接口,便于系統(tǒng)業(yè)務(wù)功能模塊的擴(kuò)展和變更。
1.2 系統(tǒng)的分層設(shè)計(jì)
構(gòu)建呼叫中心子系統(tǒng)時(shí)需要考慮到系統(tǒng)的整體穩(wěn)定性、引入新業(yè)務(wù)的靈活性及系統(tǒng)功能的可擴(kuò)展性。為達(dá)到這些需求,本文在實(shí)現(xiàn)中采用分層設(shè)計(jì)的思想,如圖2所示。將呼叫中心子系統(tǒng)模型分為業(yè)務(wù)交換層、業(yè)務(wù)支撐層和業(yè)務(wù)實(shí)現(xiàn)層。相對(duì)于業(yè)務(wù)層面,呼叫接入處于最低層,業(yè)務(wù)應(yīng)用處于最高層。業(yè)務(wù)交換層完成網(wǎng)絡(luò)的接入及業(yè)務(wù)支撐層的業(yè)務(wù)控制任務(wù);業(yè)務(wù)支撐層是交換與具體業(yè)務(wù)之間的支撐系統(tǒng);業(yè)務(wù)實(shí)現(xiàn)層通過(guò)API接口按照話務(wù)需求向業(yè)務(wù)支撐層提出需求,結(jié)合計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)實(shí)現(xiàn)具體的應(yīng)用。
在分層設(shè)計(jì)思想的基礎(chǔ)上,系統(tǒng)實(shí)現(xiàn)中的通用程序架構(gòu)設(shè)計(jì)可以對(duì)呼叫流程控制進(jìn)行動(dòng)態(tài)配置,進(jìn)而僅需通過(guò)增減或修改業(yè)務(wù)受理層上的業(yè)務(wù)模塊,以及對(duì)系統(tǒng)資源層上的語(yǔ)音文件進(jìn)行編輯,即可以實(shí)現(xiàn)不同社區(qū)的呼叫中心或同一社區(qū)呼叫中心動(dòng)態(tài)擴(kuò)展業(yè)務(wù)。
1.3 系統(tǒng)狀態(tài)變遷描述
系統(tǒng)中同時(shí)存在多個(gè)呼叫,每個(gè)呼叫從發(fā)起到結(jié)束的整個(gè)過(guò)程要經(jīng)歷多個(gè)狀態(tài)的變遷,多個(gè)呼叫的處理流程相互交織在一起異步進(jìn)行。為保證相應(yīng)控制軟件有清晰的控制結(jié)構(gòu)和簡(jiǎn)捷的程序代碼,有必要對(duì)系統(tǒng)狀態(tài)的轉(zhuǎn)換進(jìn)行形式化描述和建模。
有限狀態(tài)機(jī)FSM(Finite State Machine)是一種常見(jiàn)的基本形式化技術(shù)[2]。若把一次呼叫定義為一個(gè)進(jìn)程,呼叫的接入最終應(yīng)答在接入過(guò)程中將經(jīng)歷若干狀態(tài)的變遷。把進(jìn)程的整個(gè)生命周期劃分成若干個(gè)不同狀態(tài),每個(gè)狀態(tài)都在等待一條或幾條指定的事件;事件消息到達(dá)后,進(jìn)程處理這些消息從而進(jìn)入另一個(gè)狀態(tài)。
狀態(tài)集合。在事件集合中各事件的驅(qū)動(dòng)下,線路將在各工作狀態(tài)之間轉(zhuǎn)換,這種變遷關(guān)系由映射函數(shù)f定義。由于呼叫中心啟動(dòng)后各條線路始終連續(xù)運(yùn)轉(zhuǎn),沒(méi)有終止?fàn)顟B(tài),因此有限狀態(tài)機(jī)的終態(tài)集為空。系統(tǒng)支持多條外線同時(shí)呼叫,各條線路的呼叫處理過(guò)程都是異步進(jìn)行的,因此系統(tǒng)需要維護(hù)多個(gè)有限狀態(tài)機(jī),且每個(gè)有限狀態(tài)機(jī)對(duì)應(yīng)一條線路。
1.4 系統(tǒng)具體實(shí)現(xiàn)
系統(tǒng)由一臺(tái)服務(wù)器和一塊8路模擬語(yǔ)音卡構(gòu)成。語(yǔ)音板卡安裝在服務(wù)器內(nèi)擴(kuò)展槽中,板卡提供8個(gè)內(nèi)/外線話機(jī)接口,可對(duì)8路語(yǔ)音進(jìn)行同時(shí)處理。在軟件的設(shè)計(jì)過(guò)程中,系統(tǒng)采用模塊化的設(shè)計(jì)方法,充分考慮軟件與語(yǔ)音卡型號(hào)的無(wú)關(guān)性,以C++ Builder6.0為軟件開(kāi)發(fā)工具。根據(jù)系統(tǒng)要求多路并行的特點(diǎn),將系統(tǒng)功能細(xì)分為不可分割的原子動(dòng)作,放入Timer控件的Ontimer事件中;將語(yǔ)音板卡初始化、信號(hào)音檢測(cè)、收碼處理、節(jié)點(diǎn)處理、掛機(jī)處理和語(yǔ)音流程維護(hù)等功能封裝成獨(dú)立模塊供系統(tǒng)調(diào)用,從而提高了系統(tǒng)可靠性。系統(tǒng)數(shù)據(jù)庫(kù)選用Microsoft SQL Server 2005,但考慮到應(yīng)用該系統(tǒng)的各社區(qū)原有的數(shù)據(jù)庫(kù)系統(tǒng)差異,特提供了一種通用的數(shù)據(jù)庫(kù)接口。將接口系統(tǒng)分為相互獨(dú)立的接口生成子系統(tǒng)和接口運(yùn)行子系統(tǒng),通過(guò)接口參數(shù)描述表將兩部分有機(jī)聯(lián)系成為一個(gè)整體。注冊(cè)表是聯(lián)系接口生成子系統(tǒng)與接口運(yùn)行子系統(tǒng)的數(shù)據(jù)基,接口生成子系統(tǒng)向注冊(cè)表中寫(xiě)入接口描述;接口運(yùn)行子系統(tǒng)則依據(jù)注冊(cè)表中的接口描述,裝配實(shí)際的運(yùn)行接口。圖3為系統(tǒng)中呼叫的具體處理流程。
2 呼叫排隊(duì)的數(shù)學(xué)模型
呼叫排隊(duì)系統(tǒng)又稱為呼叫隨機(jī)服務(wù)系統(tǒng),該系統(tǒng)中呼叫到達(dá)時(shí)間和服務(wù)所需時(shí)間都是隨機(jī)的,會(huì)出現(xiàn)“排隊(duì)等待”現(xiàn)象。因此必須首先考慮解決社區(qū)用戶呼入的排隊(duì)等待問(wèn)題。通過(guò)建立呼叫中心的排隊(duì)模型實(shí)現(xiàn)對(duì)系統(tǒng)性能的分析,并通過(guò)預(yù)測(cè)呼叫的排隊(duì)等待時(shí)間,可以平衡呼入的各隊(duì)列等待時(shí)間,從而提高呼叫中心的實(shí)際工作效率。
2.1 通用排隊(duì)模型
呼叫中心的基本排隊(duì)模型包括以下參數(shù):連接到呼叫中心的m條通信線路,w(w≤m)個(gè)服務(wù)臺(tái)(座席的最大數(shù)目),N(N≤w)個(gè)可以提供服務(wù)的座席[3]。其基本處理流程為:一個(gè)呼叫到達(dá)后,若所有線路都忙則呼叫被直接丟棄;若忙的座席數(shù)小于N則呼叫立即得到服務(wù);若忙的座席數(shù)等于N則呼叫進(jìn)入隊(duì)列排隊(duì),并按先到先服務(wù)(FCFS)的算法處理。在呼叫中心的實(shí)際應(yīng)用中,通常有Erlang-C、Erlang-B和Erlang-A三種排隊(duì)模型。其中,Erlang-B模型主要考慮了呼叫的阻塞問(wèn)題;而Erlang-A模型不僅考慮了呼叫阻塞,還要考慮呼叫排隊(duì)過(guò)程中用戶主動(dòng)放棄等待的問(wèn)題;Erlang-C模型在呼叫中心理論分析中應(yīng)用最為普遍。
2.2 Erlang-C模型應(yīng)用分析
圖4所示為一個(gè)單隊(duì)列多座席的排隊(duì)系統(tǒng)模型。若座席數(shù)N=3,則3個(gè)座席向用戶提供服務(wù),但是隊(duì)列只有一列。用戶呼叫到達(dá)后先判斷隊(duì)列情況,隊(duì)列為“空”則選擇某個(gè)座席接受服務(wù);否則排隊(duì)等待。當(dāng)某座席完成服務(wù)后,如果隊(duì)列處于“非空”狀態(tài),則立即開(kāi)始新服務(wù);否則進(jìn)入“空閑”狀態(tài)。
定義1 在Erlang-C模型中,若呼入次數(shù)無(wú)限,設(shè)λ為單位時(shí)間呼叫到達(dá)率,μ為呼叫服務(wù)率,N為座席數(shù)目。假定:(1)時(shí)間T內(nèi)有k個(gè)呼叫到達(dá)的概率滿足固定速率λ的Poisson分布;(2)對(duì)呼叫的服從服務(wù)率μ的指數(shù)分布,則Erlang-C對(duì)應(yīng)的排隊(duì)模型為M/M/N/∞,且系統(tǒng)的負(fù)載為α=λ/μ。
顯然,若α≥N,即呼叫超過(guò)了可提供服務(wù)的座席數(shù)目,則系統(tǒng)承受的負(fù)載超過(guò)了系統(tǒng)的處理能力,此時(shí)將會(huì)出現(xiàn)無(wú)窮排隊(duì)的情況,用戶的呼叫等待時(shí)間將趨向于無(wú)窮大[4]。因此下面主要分析α<N的情況。
這里假定座席數(shù)N=1(這是社區(qū)呼叫中心座席數(shù)的通常情況),則對(duì)應(yīng)的排隊(duì)模型為M/M/1,此時(shí)考慮系統(tǒng)負(fù)載α<1,即在單位時(shí)間內(nèi)到達(dá)的呼叫平均數(shù)小于被服務(wù)完的呼叫平均數(shù)時(shí),隊(duì)長(zhǎng)才能避免無(wú)限增長(zhǎng)而達(dá)到平衡。由概率統(tǒng)計(jì)可知: