張渝,王放,李初民
1.第三軍醫(yī)大學(xué)新橋醫(yī)院 信息科,重慶 400037;2.第三軍醫(yī)大學(xué)西南醫(yī)院院辦,重慶 400038
門診取藥是患者在醫(yī)院享受醫(yī)療服務(wù)的重要環(huán)節(jié),直接影響患者就醫(yī)的滿意度。目前有些醫(yī)院門診取藥流程采用的是預(yù)配候取模式;有些醫(yī)院采用刷卡叫號取藥模式;有些醫(yī)院采用六西格瑪管理方法對取藥流程進行重組以縮短患者在門診藥房的無效等候時間,降低患者的不滿意度[1]。而我院主要是根據(jù)門診藥房物理位置和工作人員數(shù)量的情況,對取藥流程在預(yù)配候診模式基礎(chǔ)上進行了改進和完善,提高了調(diào)劑效率和質(zhì)量。
門診取藥系統(tǒng)是為了解決患者在等候配藥過程中所碰到的混亂、擁擠等現(xiàn)象,使患者有序地取藥,并可以對特殊的患者(如老年人等)進行優(yōu)先配藥。為節(jié)省患者排隊時間,我院最先使用了取藥預(yù)配候取模式即患者繳費后觸發(fā)藥房處方打印,藥師即可按處方開始配藥,等到患者到達藥房時已經(jīng)配好[2]。這種模式運行了1周后發(fā)現(xiàn),在患者數(shù)量不多并且取藥及時的情況下,這種模式很適合,一旦患者多而且取藥不及時,會造成發(fā)藥窗口堆滿不來取藥的藥籃,而及時來取藥的患者還要空等很長時間,極大地降低了藥師的工作效率。如果取藥的人集中取藥,秩序仍然混亂[3]。為此,我們重新設(shè)計配藥取藥流程為刷卡取藥模式,即患者到達門診藥房后,取號時觸發(fā)藥房處方打印,此時藥師按序取藥和擺放藥籃,發(fā)藥師通過語音叫號系統(tǒng)順呼患者到窗口進行取藥。這種模式極大地提高了藥師的工作效率,營造了人性化取藥環(huán)境,同時也讓藥劑師有更充裕的時間和精力開展專業(yè)服務(wù)和關(guān)懷。
系統(tǒng)采用C/S結(jié)構(gòu)設(shè)計,以Delphi作為開發(fā)工具,Oracle10g作為后臺數(shù)據(jù)庫。系統(tǒng)主要功能設(shè)計如下:
(1)自助取號。已繳費的患者在取號時為其分配取藥的窗口和取藥的序號。
(2)處方打印。患者取號后觸發(fā)處方打印,藥師憑處方擺藥。
(3)信息顯示與語音提示。將取藥患者的序號和姓名顯示在LED屏上,同時配有語音提示。
(4)發(fā)藥終端。藥師用發(fā)藥終端按序呼叫取藥患者。(5)綜合管理。實現(xiàn)對工作人員權(quán)限的管理和相應(yīng)的參數(shù)設(shè)置。
系統(tǒng)共設(shè)計了14張數(shù)據(jù)庫表,其中主要的6張表為:
(1)待發(fā)藥處方主記錄表(DRUG_PRESC_MASTER_S2000)。此表用于存放從醫(yī)院信息系統(tǒng)(HIS)的待發(fā)藥處方主記錄表中讀取的數(shù)據(jù)。其結(jié)構(gòu)基本上和HIS中的待發(fā)藥處方主記錄表結(jié)構(gòu)一致,只是增加了部分標(biāo)識字段。當(dāng)患者的處方被確認(rèn)以后,相應(yīng)的記錄就會被刪除掉。數(shù)據(jù)的插入和刪除都是由接口軟件來完成。未被刪除的數(shù)據(jù)將只保留30天。
(2)待發(fā)藥處方明細表記錄表(DRUG_PRESC_DETAIL_S2000)。其作用和操作要點與待發(fā)藥處方主記錄表相同。
(3)處方上屏記錄表(DRUG_DISP_LIST)。此表記錄顯示屏上的每一張?zhí)幏叫畔ⅰT工根據(jù)處方把藥配好后,通過掃描處方條碼和輸入員工ID號來將處方信息上屏,并將信息記錄到此表中,以備查詢和對員工工作量進行統(tǒng)計。
(4)待下屏患者信息表(DRUG_DOWNDISP_S2000)。此表記錄每一個需要從LED顯示屏上消掉的患者(已取藥或退藥)姓名。信息處理后立即刪除記錄。
(5)處方打印機信息表(DRUG_PRINTER_LIST)。此表記錄處方打印機信息。處方打印軟件根據(jù)處方信息支配各打印機工作。需要注意的是打印機名稱和別名都不能有重復(fù),如果重復(fù)將會對后續(xù)的識別工作帶來麻煩。
(6)發(fā)藥終端用戶信息表(DRUG_SENDER_CLIENT)。此表只保存登錄發(fā)藥終端軟件的用戶信息、狀態(tài)數(shù)據(jù)。用戶在登錄系統(tǒng)時寫入表中,退出系統(tǒng)時將其刪除。
其他幾張表分別是:藥房員工記錄表(DRUG_EMPLOYEES)、藥房窗口屏提示信息表(DRUG_HINT)、在線用戶信息表(DRUG_ONLINE_USERS)、特殊窗口屏信息表(DRUG_SPEC_WINDOW)、窗口標(biāo)題信息表(DRUG_TITLE)、系統(tǒng)用戶信息表(DRUG_USERS)、數(shù)據(jù)狀態(tài)表(DRUG_HAVEDATA)、窗口信息表(DRUG_WINDOW_COUNT)。
采用觸發(fā)器、臨時表、接口軟件相結(jié)合的模式[4]建立數(shù)據(jù)接口,將HIS中產(chǎn)生待發(fā)藥處方主記錄和明細數(shù)據(jù)提取到后臺擺藥系統(tǒng),用于擺藥單打印及屏幕顯示、語音呼叫。數(shù)據(jù)接口流程示意圖,見圖1。

圖1 數(shù)據(jù)接口流程示意圖
數(shù)據(jù)具體接口內(nèi)容是在HIS庫上建立臨時表、觸發(fā)器以及連接用戶表等數(shù)據(jù)庫對象。
2.2.1 臨時表
臨時表用于存放HIS中收完費的待發(fā)藥處方主記錄,接口實現(xiàn)SQL語句:
CREATE TABLE PHARMACY.DRUG_PRESC_MASTER_S2000
//創(chuàng)建表
PRESC_DATE DATE NOT NULL,
PRESC_NO NUMBER(5) DEFAULT 0 NOT NULL,
DISPENSARY VARCHAR2(8),
QUEUE_ID VARCHAR2(2),
STATUS NUMBER(1) DEFAULT 0,
PATIENT_ID VARCHAR2(10),
NAME VARCHAR2(8),
NAME_PHONETIC VARCHAR2(16),
IDENTITY VARCHAR2(10),
CHARGE_TYPE VARCHAR2(8),
UNIT_IN_CONTRACT VARCHAR2(11),
PRESC_TYPE NUMBER(1) DEFAULT 0,
PRESC_ATTR VARCHAR2(8),
PRESC_SOURCE NUMBER(1) DEFAULT 0,
REPETITION NUMBER(2) DEFAULT 0,
COSTS NUMBER(8,2) DEFAULT 0,
PAYMENTS NUMBER(8,2) DEFAULT 0,
ORDERED_BY VARCHAR2(8),
PRESCRIBED_BY VARCHAR2(8),
ENTERED_BY VARCHAR2(8),
INS_DEL NUMBER(1) DEFAULT 0,
REG_DATE DATE
2.2.2 觸發(fā)器
在DRUG_PRESC_MASTER_TEMP表上建立插入事件、刪除事件、更新事件3個觸發(fā)器,相應(yīng)的接口實現(xiàn)SQL語句如下:
(1)插入事件:
CREATE OR REPLACE TRIGGER "PHARMACY"."MASTER_TEMP_INSERT_S2000" //建觸發(fā)器
AFTER INSERT ON "PHARMACY"."DRUG_PRESC_MASTER_TEMP" FOR EACH ROW //有數(shù)據(jù)插入引發(fā)處方器
BEGIN
IF (:NEW.PRESC_TYPE=1) //為西藥
AND (:NEW.PRESC_SOURCE=0) THEN //門診處方
--IF (:NEW.DISPENSARY='270107 ') THEN //發(fā)藥單位為門診西藥房
INSERT INTO DRUG_PRESC_MASTER_S2000 //插入數(shù)據(jù)
( PRESC_DATE,
PRESC_NO,
PATIENT_ID,
NAME,
DISPENSARY,
IDENTITY,
PRESC_TYPE,
PRESC_ATTR,
PRESC_SOURCE,
COSTS,
ORDERED_BY,
PRESCRIBED_BY,
ENTERED_BY,
INS_DEL,REG_DATE)
VALUES(
:NEW.PRESC_DATE,
:NEW.PRESC_NO,
:NEW.PATIENT_ID,
:NEW.NAME,
:NEW.DISPENSARY,
:NEW.IDENTITY,
:NEW.PRESC_TYPE,
:NEW.PRESC_ATTR,
:NEW.PRESC_SOURCE,
:NEW.COSTS,
:NEW.ORDERED_BY,
:NEW.PRESCRIBED_BY,
:NEW.ENTERED_BY,
1,SYSDATE);
END IF;
END;
(2)刪除事件:
CREATE OR REPLACE TRIGGER "PHARMACY"."MASTER_TEMP_DEL_S2000"
//建觸發(fā)器
AFTER DELETE ON "PHARMACY"."DRUG_PRESC_MASTER_TEMP" FOR EACH ROW
//數(shù)據(jù)刪除時觸發(fā)BEGIN
IF (:OLD.PRESC_TYPE=0) AND(:OLD.PRESC_SOURCE=0) THEN
INSERT INTO
DRUG_PRESC_MASTER_S2000(PRESC_DATE,PRESC_NO,PATIENT_ID,NAME,DISPENSARY,INS_DEL,REG_DATE)
VALUES(:OLD.PRESC_DATE,:OLD.PRESC_NO,:OLD.PATIENT_ID,:OLD.NAME,:OLD.DISPENSARY,2,SYSDATE);
END IF;
END;
(3)更新事件:
CREATE OR REPLACE TRIGGER "PHARMACY"."MASTER_TEMP_UPDATE" BEFORE
//建觸發(fā)器
UPDATE OF "DISPENSARY" ON"PHARMACY"."DRUG_PRESC_MASTER_TEMP" FOR
EACH ROW DECLARE
//數(shù)據(jù)更新時觸發(fā)
BEGIN
UPDATE DRUG_PRESC_MASTER_S2000 SET DISPENSARY=:NEW.DISPENSARY WHERE PRESC_NO=:NEW.PRESC_NO AND PRESC_DATE=:NEW.PRESC_DATE;
END;
2.2.3 連接用戶表
此表為接口軟件,用于連接HIS數(shù)據(jù)庫、讀取數(shù)據(jù)。可以讀寫臨時表:DRUG_PRESC_MASTER_S2000;可以訪問HIS的DRUG_PRESC_DETAIL_TEMP, DRUG_STOCK表。
本系統(tǒng)已在我院運行2年多,使門診的整個取藥流程更趨合理,基本消除了以往取藥混亂的情況,使藥品調(diào)劑過程秩序井然,提高了藥師工作效率和服務(wù)水平,也使門診管理水平提高到了新的層次。但也存在一些不足之處,如處方擺藥單的浪費、自助取號對特殊患者的優(yōu)先等問題,這些都需要我們在實踐中不斷地改進和完善[5-7]。
[1]廖靖萍,于西全,宋洪濤.刷卡叫號取藥模式在我院門診藥房應(yīng)用的體會[J].中國藥房,2011,22(13):1175-1177.
[2]石壁輝.醫(yī)院藥房后臺擺藥排隊系統(tǒng)的設(shè)計與實現(xiàn)[J].中國醫(yī)療設(shè)備,2012,27(2):80-81.
[3]包代小,李根全.中小型藥房取藥最短路徑算法研究[J].中國藥房,2012,(13):1192-1194.
[4]張渝,李初民,王放.后臺擺藥作業(yè)模式研究及設(shè)計[J].醫(yī)療衛(wèi)生裝備,2012,(8):101-102.
[5]王懷沖,徐穎穎,張相彩,等.門診藥房精細化藥學(xué)服務(wù)模式與實踐[J].浙江中西醫(yī)結(jié)合雜志,2012,(7):572-574.
[6]張昕.門診藥房系統(tǒng)信息化的實踐[J].醫(yī)學(xué)信息,2010,23(7):2266.
[7]匡長春,王薇,竇有業(yè).排隊叫號系統(tǒng)在門門診藥房的應(yīng)用[J].中國藥業(yè),2010,19(12):64-65.