目 录
第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 手术申请单的录入界面
|
|