《台大药局领药号机制探讨.ppt》由会员分享,可在线阅读,更多相关《台大药局领药号机制探讨.ppt(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、台大药局领药号机制探讨 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望領藥號基本運作機制診間開好藥單,傳送至藥局,得到領藥號,將領藥單印出,交予患者。藥局得到藥單,將其給予藥台配藥,再依照領藥號配送至領藥窗口,請患者領藥。藥局的配藥運作一共九個藥台,編號AI,每個藥台各有一位藥劑師配藥領藥窗口共有四個,編號14,1號窗口的領藥號在12000,2號窗口的領藥號在20014000,以此類推。而每個藥台各自有對應的領藥窗口,而這個藥台所配的藥單,其領藥號依其領藥窗口規則
2、藥局的配藥運作基本上配藥工作,是以藥台為單位而分配的,而且以五張藥單為一梯次輪替。換言之,一個藥台配完了五張藥單,才換下一個藥台配藥。即便藥台要停止工作時,亦需配完五張藥單才能結束工作藥局的工作時間藥局的工作時間,總共有五個時段。但這些時段又可分為兩類,一為正常上班時段,一為值班時段。藥局有紀錄所謂值班藥台,即是在值班時段工作的藥台,有的值班時段,有特殊規定,但亦不影響原來的輪班原則。藥台的工作交接根據前述,藥局有工作時段,且因應時段有不同的排班人員,而在時段交接時,原時段的工作人員,即便在此時段內不用工作,亦須把五張藥單配滿才可結束工作。此亦與先前所提過的規則相符設計機制時的主要考量工作平均
3、分配n工作的分配必須完全符合公平原則,每個藥台配了五張藥單,便應該換下一個藥台工作藥台狀態更動的時效性n藥台狀態是希望可以隨時更動,而更動後的生效時機卻需注意架構圖做法1想法:n發放流水號來控制領藥號的正確性n從藥臺與窗口的狀態(Status)來計算領藥號處方流水號領藥號&藥臺的對應如何確保Status的正確性?n流水號的分割做法1所需SeqNo:流水號n流水號範例:001 00001n每一筆領藥需求流水號加1n每一筆修改工作狀態流水號加10萬,以確認修改過藥局的工作狀態getStatus:取得藥局工作狀態setStatus:設定藥局工作狀態getSeqNo:取得流水號F(SeqNo,getS
4、tatus):運算出實際領藥號做法1-內部運作方式AP Server不斷地從DB Server取得流水號及藥局工作狀態,利用公式算出實際領藥號,之後將結果傳回診間及藥局每當DB Server取得新的工作狀態時,就會將十萬位數加1,以確認工作狀態變更做法1-診間取得藥號流程診間發出領藥需求DB Server將流水號加1AP Server利用f函式運算出領藥號回應診間實際領藥號,並到藥局發出配藥需求示意圖示意圖APServerAPServerAPServerDBServer診間藥局傳回傳回SeqNo領藥號領藥號&藥台藥台&窗口的結果窗口的結果傳回傳回If(SeqNo OK)F(SeqNo,Stat
5、us)ElsegetStatusSeqNo+1getStatusgetSeqNo做法1-修改藥局工作狀態從DB Server取得目前工作狀態表及流水號10萬位數的數目nEx:00300025,就是3修改完後傳回DB Server,先比對流水號10萬位數的數目確認與修改的版本是否相同n是:修改成功n否:拒絕要求,因為可能有其它電腦先行修改了,必需重新取得目前工作狀態後方得修改示意圖示意圖APServerAPServerAPServerDBServer診間藥局getStatusStatus&確認用SeqNoSegNo:003 000025最新的狀態處存在DB中Status&確認用的SeqNo傳到藥
6、局傳回變更好Status 確認用的SeqNoIf(確認用SeqNo OK)(setStatus,SeqNo+1000000)Else再將最新的Status送回藥局setStatus做法2想法:n先把處方分配好再來等處方n用Database Server來儲存資料預先分配好的處方-藥臺-領藥號等處方產生之後,再從已分配好的表格中查詢做法2內部運作方式藥局先計算領藥號與流水號的對應,並寫入DB Server當診間需要領藥號的時候,直接取得流水號,用流水號查詢領藥號做法2診間取得藥號流程診間發出領藥需求DB Server將流水號加1等待DB Server做完處理回傳,取得領藥號做法2-藥局修改工作狀
7、態(1)修改工作狀態的table後再update到DB ServernEx:A oB xC xD oE o1 o2 x3 o4 x做法2-藥局修改工作狀態(2)藥局按照其工作狀態內容運算出領藥號nEx:00001 100100002 100200003 100300004 100400005 1005示意圖示意圖APServerAPServerAPServerDBServer診間藥局預先算好領藥號和SeqNo的對應表對應表儲存在DB Server中將SeqNo+1並且將對應的領藥號傳出兩種作法的優缺點比較(1)做法1 需要的時候再算出號碼n對Status的修改可以馬上生效n可以允許來自不同電腦的修改n修改時可能會出現Starvationn必須確保 SetStatus 和 流水號+10萬 這兩個動作中間不被干擾n資料的流量無法確定,可能必須視情形調整資料的存放方式兩種作法的優缺點比較(2)做法2 先算出對應來等處方產生n修改Status需要重新計算現有的表格n基本上只能讓一臺電腦做修改n不會有Starvation的問題n需要確保藥局和資料庫之間process的運作順序正確n人員的流動無法控制,可能造成”有藥沒人配”或是“有人沒藥配”
限制150内