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

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