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