目 錄
第1章. 項目/模塊的名稱,介紹
………………………………………………………………4
第2章. 項目/模塊功能的詳細描述
………………………………………………………………4
第3章. 本系統的開發環境,運行環境(硬件,編程工具,應用服務器,后臺數據庫,操作系統)
………………………………………………………………4
第4章. 源程序各單元文件說明(含客戶端和應用服務器層,使用的特殊控件)
……………………………………………………………6
第5章. 所有相關的(限本系統增改的)后臺數據庫表結構描述,程序設計的整體思路及大的框架
………………………………………………………………7
第6章. 客戶端程序各窗體完成的功能和所對應的單元文件,及與之相關的應用服務層的COM
………………………………………………………………12
第7章. 應用服務層的每個.DLL文件的相關后臺數據庫表,及發布出的每一個函數功能和調用方式
………………………………………………………………13
第8章. 后臺數據庫中的TRIGGER和STORE PROCEDURE的功能和調用方式
………………………………………………………………14
第9章. 項目開發時間過程
………………………………………………………………16
第10章. 尚未解決的問題.
………………………………………………………………16
第11章. 升級建議
………………………………………………………………16
第12章. 編程心得.
………………………………………………………………16
第1章. 項目/模塊的名稱,介紹
本模塊名稱:住院醫生工作站子系統
利用本模塊,可處理住院病人的醫囑錄入、病歷錄入、檢查申請單錄入、用血申請、手術申請單錄入;可查詢病人基本信息及病人的體征信息;可維護字典。
第2章. 項目/模塊功能的詳細描述
本模塊共有三個主要功能:
2.1 錄入處理:可進行醫囑、病歷、檢查報告、用血申請單、手術申請單的錄入;病歷的打印;病人體征信息的查看。
2.2 病人查詢:可查詢本科室的病人信息。
2.3 字典維護:對與病歷模板,關鍵詞匯,基本圖像有關的字典進行維護。
第3章.本系統的開發環境,運行環境(硬件,編程工具,應用服務器,后臺數據庫,操作系統)
開發環境:
工作站
硬件:CPU Pentium 300以上,RAM 64M以上,VRAM 2M以上,HD 4G以上,
顯示器800X600X15”。
軟件:Windows/98/2000中文版,Delphi5,ODBC for SQL server,Office2000中文版
服務器
硬件:(按需)
軟件:Windows NT 4.0 Server 中文版,SQL Server6.5/7.0, Microsoft Transaction Server 2.0
運行環境:
工作站
硬件:CPU Pentium 300以上,RAM 64M以上,VRAM 2M以上,HD 2G以上,
顯示器800X600。
軟件:Windows/98/2000中文版
服務器
硬件:(按需)
軟件:Windows NT 4.0 Server 中文版,SQL Server6.5/7.0, Microsoft Transaction Server 2.0
說明:服務器硬件按Windows NT 4.0 Server和實際使用的要求設置。服務器按實際使用可將數據庫服務器和中間層服務器合并或分開,若分開成兩臺服務器,則安裝的軟件SQL Server6.5/7.0和Microsoft Transaction Server 2.0將分裝在兩臺服務器上。SQL Server6.5/7.0裝于數據庫服務器,Microsoft Transaction Server 2.0裝于中間層服務器。
第4章.源程序各單元文件說明(含客戶端和應用服務器層,使用的特殊控件,不含基類的各單元文件)
單元名 功能說明
Adt_dlg_dlgActPatientEdit 住院病人病歷修改(彈出窗口)
Dlg_dlgyz_instruction 醫生囑托錄入窗口(彈出窗口)
Mz_bl_frm_image 基本圖像字典維護
Mz_bl_frm_printAll 病歷打印窗口(彈出窗口)
Mz_bl_frm_templates 基本模板字典維護
Mz_bl_frm_words 關鍵詞匯字典維護
Ws_dlg_dlgpatientSelect 病人選取窗口(彈出窗口)
Ws_dlg_dlgyz_group_pattern 成組醫囑錄入(彈出窗口)
Ws_dm_ApplyInput 與檢查申請單錄入有關的DataModal
Ws_dm_InsertTemplate 錄入病歷時右鍵插入病歷模板有關的DataModal
Ws_dm_InsertWord 錄入病歷時右鍵插入關鍵詞匯有關的DataModal
Ws_dm_dmPatient 選取病人有關的DataModal
Ws_dm_dmRecord 與病歷有關內容的DataModal
Ws_dm_dmshApplyInput 與錄入手術申請單有關的DataModal
Ws_dm_dmxkApplyInput 與錄入用血申請單有關的DataModal
Ws_dm_dmYzInput 與醫囑錄入有關的DataModal
Ws_frm_frmApplyInput 檢查申請單錄入窗口
Ws_frm_frmshApplyInput 手術申請單錄入窗口
Ws_frm_frmsub_shInput 手術崗位人員錄入窗口(彈出窗口)
Ws_frm_frmconfigEdit 系統初始化窗口
Ws_frm_frmInput 用血申請單錄入窗口
Ws_frm_frmInputtext 病歷錄入中往圖像文字窗口(彈出窗口)
Ws_frm_frmMainInput 醫囑錄入窗口
Ws_frm_frmRecordInput 病歷錄入窗口
Ws_frm_Insert_Template 右鍵插入病歷模板窗口(彈出窗口)
Ws_frm_Insert_word 右鍵插入關鍵詞匯窗口(彈出窗口)
Ws_yz_frm_frmoperate 手術醫囑錄入窗口(彈出窗口)
Yz_frm_frmgroup_pattern 選擇成組醫囑(彈出窗口)
Yz_frm_frmprintChart 病人體征信息窗口(彈出窗口)
Ws_frm_frmRecordSaveTemplate
Unit_frmMainBase 應用程序主單元,由基類主窗口繼承來。
Ws_comDat.ws_com_ActPatient 與選取病人有關的數據
Ws_comData.ws_com_basewords 與選取關鍵詞匯有關的數據
Ws_comData.ws_com_jcData 與檢查報告有關的數據
Ws_comData.ws_com_shData 與手術室申請單有關的數據
Ws_comData.ws_com_xkData 與用血申請單有關的數據
Ws_comData.ws_com_yzinput 與醫囑錄入有關的數據
Ws_comData.ws_com_zy_bl_configure (暫為空)
Ws_comData.ws_com_zy_bl_patient_image 與病歷錄入中病人圖像有關的數據
Ws_comData.ws_com_zy_bl_patient_Record 與病人病歷錄入有關的數據
Ws_comData.ws_com_zy_bl_patient_temperature 于插入模板有關的數據
Ws_comData.ws_com_zy_bl_index 與病人病歷索引有關的數據
Ws_comData.ws_com_zy_bl_tpe (暫為空)
Ws_comData.ws_zy_com_based 與病歷錄入有關的其它數據
Ws_comLogic.ws_com_inputManege 手術錄入有關的控制
Ws_comLogic.ws_yz_config 醫囑有關設定
第5章.所有相關的(限本系統增改的)后臺數據庫表結構,描述程序設計的整體思路及大的框架
本系統是一個綜合了其它系統有關功能內容的系統,所以為了將來在整套系統的可實行性,因此后臺數據庫采用已有的其它系統的表結構,象醫囑、檢查申請單、血庫、手術室都采用了原有系統的表結構,而且都只采用了與錄入有關的表結構;只有病歷錄入為本系統新建了住院病人表。下面就著重介紹本系統新建的表結構。
一、病歷錄入相關的數據表結構
表1: zy_bl_record_type
列名 數據類型 允許空 中文注釋
Code(主鍵) Char NOT NULL 類型編碼
Name Varchar NOT NULL 類型名稱
P_code Varchar NULL
D_code Varchar NULL
Delete_flag Char NULL 刪除標志
表2: zy_bl_patient_image
列名 數據類型 允許空 中文注釋
Patient_id(主鍵) Varchar(12) NOT NULL 病人Id
times(主鍵) Smallint(2) NOT NULL 住院次數
Record_serial(主鍵) Smallint(2) NOT NULL 病歷序號
Image_serial(主鍵) Smallint(2) NOT NULL 圖像序號
Image_type Char Not Null 圖像類型
Patient_image Image Null 病人圖像內容
comment Varchar(40) Null 圖像描述
Image_design Image Null
表3: zy_bl_patient_record
列名 數據類型 允許空 中文注釋
Patient_id(主鍵) VarChar (12) NOT NULL
Times(主鍵) Smallint NOT NULL
Record_serial(主鍵) Smallint NOT NULL
Patient_record Text NULL 病人病歷內容
Creat_time Datatime NULL 創建時間
Modifer Varchar NULL 錄入人
Archive_flag Char Not NULL 歸檔標志
Archive_opera Varchar(4) NULL 歸檔人
Archive_time Datatime NULL 歸檔時間
Record_type char NULL 病歷類型
表4。zy_bl_record_index
列名 數據類型 允許空 中文注釋
Patient_id(主鍵) varChar (12) NOT NULL
Times(主鍵) Smallint Not NULL
Record_serial(主鍵) Smallint Not NULL 病歷序號
Index_serial(主鍵) int Not NULL 索引序號
二、系統流程圖
第6章.客戶端程序各窗體完成的功能和所對應的單元文件,及與之相關的應用服務層的COM
說明: 本系統的錄入界面采用了面向對象的方式進行設計。在程序中,醫囑錄入為第一級Form,在次Form中寫入所有有關醫囑部分的代碼;病歷錄入為第二級From,它繼承了醫囑錄入的Form,添加了一個pge頁,在這個Form中看不到醫囑錄入的代碼,我們只需添加跟病歷錄入有關的代碼即可;依此類推。在此程序中我們共繼承了四次,而錄入界面就是我們最后一次繼承的界面,這樣作的好處是在維護時我們看到的代碼只與某一個具體的錄入內容有關,不會受到其它錄入內容代碼的干擾。
6.1 Unit_frmMainBase 應用程序主單元
這是血庫管理模塊的主單元。包括登錄界面的調用及登錄正確與否,創建其他Form及進入應用程序。應用程序的主界面及功能組(outlookbar)在此單元中確定,功能組的確定原則遵循公司其他模塊的統一原則。
這里要說明的一點是在‘錄入’按鈕的事件中,我們將錄入有關的DataModal全部創建出來了,這一操作要花費一些時間。
6.2 frm_frmMainInput 申請單錄入功能單元
功能組 :醫囑錄入處理
對應的DataModal :dm_dmpatient; dm_dmYzInput;
相應的中間層COM :ws_com_Actpatient;ws_com_YzData
公用函數及過程 :這里的公共函數是指在后面的Form中也用到的函數,它們定義在 程序的public區內
GetAllData;Dynamic;選取病人;
VerifyData;Dynamic;驗證數據是否有過修改
AppendOneRecord;Dynamic;增加一條數據
DeleteOneRecord;Dynamic;刪除一條數據
SaveAllData;Dynamic;保存病人的數據
對醫囑處理的私有方法有
GetFilterStr(sRangeTypeName,sOrderTypeName:TRadioGroup):string;
取得過濾醫囑類型的filter條件
SetWardDrug;處理臨時醫囑的基數藥
Set_Long_once_flag;給醫囑賦長期、臨時標志
UpdateOrder; 用在確認醫囑按鈕中,處理相關的病人數據
醫囑錄入用到相關的form有
yz_frm_frmgroup_pattern, 成組醫囑選擇
adt_dlg_dlgActPatientEdit, 病人病歷的修改
ws_dlg_dlgPatientSelect, 選擇病人窗口
ws_dlg_dlgyz_group_pattern,成組醫囑錄入
dlg_dlgyz_instruction, 醫生囑托錄入
ws_yz_frm_frmoperate, 手術醫囑錄入
yz_frm_frmprintchart, 病人體征休息窗口(打印體溫表)
ws_dm_dmYzInput,
對應醫囑錄入的DataModel
相關函數有CreateCDSFee 給醫囑錄入時的 Lookup 字段用
CreateOrderStatus 取得醫囑的狀態
SetDmcName 設置DCOM所連的中間層服務器
主體構件:
cdsBrowerOrder 瀏覽病人醫囑
cdsActorder 取得病人醫囑
cdsdialog 取得醫囑名
cdssf 取得病人身份
cdsapplyinfo 取得用藥方式
cdsorderfee 取得醫囑費用
cdssinglecharge 取得自費標志
cdsfee 取得病人身份
cdsypunit 取得用藥單位
cdsypdict 取得藥品名
cds_exclusive_code 取得組排斥醫囑
cds_pattern 取得成組醫囑
cds_operatetime 取得手術時間
cds_mzfs 取得麻醉方式
cds_yz_comment 醫生囑托
cds_yp_ward_dtug
cdsowelimit
cdsdoseage_unit 空
cdssatus 空
cds_actorder_parent 空
ws_dm_dmPatient
對應整個錄入的選病人的DATAModel
主體構件:cdsActPatient 取得該科室所有的病人
CdsPatientRoot 根節點,空
CdsGetSinglePatient 選取一個病人
CdsGetSinglePatient_bybedno 通過床號選病人
6.3 ws_frm_frmRecordInput 病歷錄入的相關內容
對應的datamodal: dm_dmRecord
相關的form: ws_frm_frmInputText,用于在圖片病歷中輸入文字
ws_frm_insert_template, 在病歷中插入模版
ws_frm_insert_words, 在病歷中插入關鍵詞匯
mz_bl_frm_PrintAll, 打印病人病歷
ws_frm_frmRecordSaveTemplate 將病歷保存成模版
中間層 ws_com_bl_zy_patient_record
ws_com_bl_zy_record_index
ws_com_bl_zy_configure
ws_com_bl_zy_patient_image
ws_com_bl_zy_patient_temperature
ws_com_based_zd
公共函數及過程
在本form中,病歷的錄入是用了一個專門的控件來實現的(twDBRichEdit)
該控件繼承自DBRichEdit,封裝了自編的代碼,實現了對關鍵詞和模版的著色。
其具體內容詳見控件的說明
Dm_dmRecord中的主體構件和過程
CdsLevel1-cdsLevel8是八級模版的對應clientdataset
CdsRecordtype和cdsReocrd是對應病人病歷的主從表的結構
CdsRecordcount用于判斷該病人有幾分病歷
CdsGetSingleWord 取得病歷詞匯
CdsChioces 取得關鍵詞對應的內容
CdsImageRecord 取得病人的圖像病歷
CdsBaseImage 取得庫中的基本圖像
6.4 ws_frm_frmApplyinput 檢查申請單的錄入界面
相應的datamodal: ws_dm_dmApplyInput
dm_dmApplyInput中的主體構件和過程
cdsUpdataApply 提交檢查申請單是用到
cdsApplyinfo 取得申請單信息
cdschargeitem 和cdschargedata 對應錄入控件
對應的中間層 :ws_com_jcData
6.5 ws_frm_frminput 用血申請單的錄入界面
相應的dataModal: ws_dm_dmxkApplyInput
公用函數及過程
procedure AddApply; 添加申請單
function GetSelfNo:integer; 給xk_apply.self_no賦值
procedure InitialDataSet; 初始化用于放血制品規格的數據集
dm_dmxkApplyInput中的主體構件和過程
cds_Applyitem 和cds_Applydetail是主從表結構
6.6 ws_frm_frmshinput 手術申請單的錄入界面
|
|