BSHIS2.2詳細設計說明書
(病區醫囑管理系統)
一. 概述
病區管理主要有兩塊,
(一) 為病人床位管理,它與住院收費系統床位相似,現系統這部分程序調用了住院系統的ZY_GXMK中的u_zy_cwgl中的程序,涉及表有ZY_BRRY,ZY_CWSZ,ZY_HCMX,其中ZY_BRRYF填的字段有BRCH,BRBQ,BRKS,ZY_CWSZ填的字段有ZYH,ZY_HCMX中須加一條記錄;
(二) 為醫囑管理,醫囑管理主要包括醫囑錄入,醫囑提交,它主要與ZY_BQYZ有關。醫囑分為長期和臨時,又可分為藥品和項目。藥品提交給藥房,由藥房發藥。
(1) 現項目有兩種情況,一種須交給醫技系統記費,一種在病區記費。當項目被標為YJSY,并且有使用科室,如果此科室已上系統。即此科室的TJHM>0(YJ_KSXX中),則交給醫技系統記費,如果沒上系統,則在病區記費,當項目被標為YJSY,但沒有使用科室,則由兩邊都可以記費,由搶先者記費。現系統通過JFBZ來判別,JFBZ為1為外科室記費,為2為本病區記費,為9為不確定,即兩邊都可以記費。一旦被醫技記費,則此條醫囑永遠為醫技記費,如為病區記費,則此醫囑永遠處被搶狀態,即可為兩邊記費。
(2) 現ZY_BQYZ有LSYZ字段,它標識醫囑是否為臨時醫囑,1為臨時醫囑 同時系統認為醫囑的開囑日期等于停囑日期為臨時醫囑,這兩點是一致的,即LSYZ為1,開囑日期等于停囑日期,反之亦然。
(3) LSBZ它為歷史標志,即醫囑已經不起作用。對于長期醫囑有兩種情況,如果停醫囑距上次發藥只有一天,停醫囑時,把它的LSBZ置為1,如果不止一天,則為預停醫囑,停醫囑時,把它的LSBZ置為2;對于臨時醫囑,藥品發藥時,把LSBZ置為1,對于項目當為醫技記費時,LSBZ置為1, 當為病區記費時置為1。對于不發藥的藥品醫囑,停醫囑時置為1 。對于預停醫囑它的處理同臨時醫囑一樣。
(4) BSHIS22中仍有XMLX字段,但其含義有些改變,1表示普通醫囑中的藥物醫囑,2表示急診用藥,3表示出院帶藥,4-9為項目,它來自GY_YLSF中的XMLX,如果發現GY_YLSF中的XMLX小于4時,在填醫囑時,強制填為4,XMLX為10表示其它醫囑。
(5) 為了表示附加計價,現增加了YZPB字段,它用來區分醫囑和附加計價。0表示醫囑,1-10表示附加計價,1-10的含義與此附加計價的父醫囑的XMLX一致。例:一醫囑的XMLX為3,則它所有附加計價都為3。
(6) 因BSHIS22可以設置N個藥房,現在ZY_BQYZ中加了YFSB,它用來標識醫囑從哪個藥房發藥。
(7) 為了標識藥品醫囑發藥的差異用了FYSX字段,0普通,1一次即集中發藥,2不發,3本病區發藥。對于集中發藥處理藥房發藥把發藥屬性置為2(不發),對于這四種類型,可以理解為發藥(0,1,3)和不發(2),對于長期醫囑,當藥品由發變為不發時,系統認為自上次發藥以來所有的藥品都不發,當藥品由不發置為發時,系統把QRSJ置為當天的前一天(如果QRSJ大于此天除外)。
另外對于錄入藥品,項目的控件作如下說明:
這兩控件的最終祖先為SUPPORT。PBL中的VU_SELECT,在它的基礎上創建了VU_SELECT_BQ。病區本身的存有藥品和項目的DATASTORE一直在內存中,只要讓控件與DATASTORE共享數據,
用戶在控件中選的任何行,應與DATASTORE中相應的行中的數據一致。這樣就可以用控件來提供與用戶的交互,然后從DATASTORE中取數據。
二.模塊設計說明書
系統名稱 病區護士站 系統編號
模塊編號
模塊名稱 醫囑錄入(W_YZSR,W_QTYZ_BQ)
功
能
描
述 1. DW_BR顯示病人信息,它繼承于UO_BR,其中顯示的病人費用由RETRIEVE事件中的GF_GET_BRJKJE(),GF_GET_BRZFJE()取得。當換病人時,它會觸發父窗口的UE_SJCL事件
2. DW_YZSR顯示長期醫囑,DW_YZSR_LS顯示臨時醫囑。現認為醫囑中一組醫囑中的第一條為主記錄。因同一組中的開始時間用法途徑一樣,只有在主記錄中才可以改開始時間,用法途徑。在這兩個數據窗口中由PRO_TJBZ,PRO_YTJGBZ,PRO_TJBZ等計算列來控制列字段能否修改。對于數據錄入,通過數據窗口中的ITEMCHANGED來取得數據(先ACCEPTTEXT,后RETURN 1),而在ITEMFOCUSCHANGED中判斷是否須增加空行。
3. DW_FJJJ顯示對應醫囑的附加計價,對于附加計價它的很多屬性與父醫囑的屬性一致,它通過YZZH與父醫囑聯起來。現系統通過ROWFOCUSCHANING來過濾附加計價的數據。
4. 系統通過父窗口中的UE_MENU來連接萊單與窗口。
5. 插入按扭(CB_INSERT)完成插入空行,并賦默認值,因為對于于組的附加計價,它只與組的第一條醫囑有關(即主記錄),所以在組的第一行前插入空行會影響附加計價.
6. 刪除按扭(CB_DEL)完成醫囑刪除,對于已提交的醫囑和已執行過的醫囑不能刪除。如果刪除的醫囑為一組醫囑的主醫囑時,下一條同組醫囑會變為主醫囑,所以附加計價會變,如果對應的組只有一條醫囑,此條醫囑的附加計價也應刪除。
7. 增加組按扭(CB_ADDGROUP)增加新的組,并賦默認值。
8. 取組套按扭(CB_LOADGROUP)取組套。先取組套序號,再把明細寫入數據窗口,這里應注意的是,對于藥品、項目要填的字段應與操作員錄入藥品、項目所要填的字段一樣。這里附加計價也應填上。對于嬰兒,這里有一代碼處理,但實際上不起作用,因為在醫囑組套設置沒有相應處理。如果有需求,可以作相應調整。
9. 單停按扭(CB_DT)單停一組醫囑。通過函數WF_YZTZ()完成此操作。它會同時停掉附加計價。而在WF_YZTZ()中以通過WF_YZTZ_RECORD()來停具體一條醫囑。
10. 賦空按扭(CB_FK)把停止時間賦空。它會把同一組的所有醫囑的停止時間都清空。包括附加計價
11 換病人按扭(CB_HBR)把焦點切換到病人數據窗口上。或從病人 數據窗口換到醫囑窗口上。
12 保存按扭(CB_SAVE)通過WF_SAVE()來存數據。
13 查詢按扭(CB_SAVE)打開查詢窗口(W_YZCX),來查詢病人全部醫囑
14 增加按扭(CB_ADD)增加一條醫囑,它與它上一條醫囑為同一組,如果沒有上條醫囑,則新增加組。
15 臨時按扭(CB_LS)把當前長期醫囑中的一組醫囑復制一份臨時醫囑,同時附加計價也會復制過去。
16 保存組按扭(CB_SAVEGROUP)把當前組保存為組套。它打開W_BCZT來完成這部分工作。
17 全停扭按(CB_QT)把當前病人的所有醫囑都停掉。
18 切換臨時按扭(CB_SELECT_LS)在臨時和長期TAB頁之間切換。
19 附加計價增加(CB_FJJJ_ADD)增加附加計價,對于沒有提交沒有執行過的醫囑可以增加附加計價,附加計價的一些屬性來自其父醫囑
20 刪除附加計價(CB_FJJJ_DELETE)刪除沒有提交沒有執行過的醫囑
21 藥品錄入通過UO_YP控件,它會觸發窗口的UE_GETYP,UE_GETYP會調用函數WF_SR_YP來完成藥品錄入的數據處理。長期,臨時,附加計價的藥品都通過UO_YP來完成錄入,對于由于藥品的用藥途徑或是項目帶出的默認藥品附加計價的數據處理也是由WF_SR_YP完成的。
22 費用錄入通過UO_FY控件,它會觸發窗口的UE_GETXM,UE_GETXM會調用函數WF_SR_XM來完成費用錄入的數據處理,長期,臨時,附加計價的藥品都通過UO_FY來完成。對于由于藥品的用藥途徑或是項目帶出的默認項目附加計價的數據處理也是由WF_SR_XM完成的。
23 對于換病人,它通過窗口的UE_SJCL來取病人的一些信息,和觸發TAB頁的SELECTIONCHANGED事件來完成數據提取。
24 現系統對于操作人員的數據錄入,用數據窗口的ITEMCHANGED事件來處理,對于按回車鍵自動增加新行,在ITEMFOCUSCHAGED事件中觸發UE_ADDROW來完成。
25 現系統堅持的一些原則包括:(1)附加計價只與一組醫囑的第一
條醫囑(即組主記錄)有關;(2)同一組醫囑的開始時間,停止時間,用法,途徑一樣;(3)對于臨時醫囑,它的開始時間與停止時間一樣,如果開始時間與停止時間一樣,則它一定是臨時醫囑(4)對于藥品一旦不發,且停止時間已打上,則歷史標志置上。
26 對于急診和出院帶藥,它只是臨時的藥品醫囑,程序處理由W_QTYZ_BQ來處理,W_QTYZ_BQ繼承自W_YZSR,它只是在窗口的OPEN事件與W_YZSR不一樣,系統通過II_XMLX來判斷當是錄入是普通醫囑,還是急診用藥,出院帶藥。
IPO
過
程
描
述 (1) DW_BR存貯病人信息
(2) DW_YZSR存貯處理長期醫囑
(3) DW_YZSR_LS存貯處理臨時醫囑
(4) DW_FJJJ存貯處理附加計價
(5) DW_YZZT取組套時用
(6) DW_XMGL錄入醫囑時,取默認附加計價時用
(7) W_YZSR程序圍繞著ZY_BQYZ進行處理,有關這些字段的處理說明,請參照“對于醫囑錄入,字段填充說明“文檔。
數據窗口
引用表 ZY_YPYF,GY_SYPC,ZY_BRRY,GY_YGDM,BQ_YZZT,BQ_ZTMX,GY_XMGL
操作表 ZY_BQYZ
系統名稱 病區護士站 系統編號
模塊編號
模塊名稱 藥品醫囑交藥房(W_YZTJ,W_YZTJ_DBR)
功
能
描
述 它完成藥品醫囑的提交,它分為四個TAB頁,對于附加計價,它僅僅只是顯示一下。對于附加計價的記帳,是在藥房把藥品發掉后,再在病區“藥品醫囑附加計價執行“中記帳。此模塊完成的工作實際上只是,把操作員選出的醫囑的SYBZ置為1.在YF_FYZT中填上提交的醫囑數量。
程序通過WF_RETRIEVE()來取得醫囑和附加計價數據。這些數據包括所有的沒有打上歷史標志的數據。程序通過WF_TZSJ()來填充所需數據,并計算可發藥天數(GF_GET_YZTS()),并判斷醫囑是否不用發藥。有關計算發藥天數的算法,可以參看文件“醫囑發藥天數計算 “。
WF_FILTER()完成醫囑數據窗口的過濾,并把數據傳過DW_VIEW和DW_CYDY,WF_FJJJ_FILTER()完成對附加計價的過濾。WF_FYZT完完成對YF_FYZT的填寫
IPO
過
程
描
述 (1) DW_VIEW 顯示所有需提交的醫囑明細
(2) DW_CYDY顯示所有出院帶藥醫囑明細
(3) DW_YZTJ提交醫囑時用
(4) DW_FYCL_HZ顯示提交醫囑的匯總
(5) DW_FYCL_ZJHZ顯示針劑醫囑的匯總(現判斷是否為針是通過看它YPSX是否為11,12
(6) DW_FJJJ顯示附加計價
(7) DW_FYZT用來填寫YF_FYZT
數據窗口 DW_VIEW,DW_CYDY,DW_YZTJ,DW_FYCL_HZ,DW_FYCL_ZJHZ,
DW_FJJJ,DW_FYZT
引用表
|
|