引 言
编写本项目开发计划的目的是把在医院信息管理系统的开发过程中对各项工作任务的负责人员、开发的进度、经费的预算、硬件和软件资源条件等问题所作的安排用文档的形式记载下来,以便根据本计划开展和检查项目开发工作,保证项目开发成功。
第一部分 系统设计
说明对程序系统的设计考虑,包括程序系统的基本处理流程,程序系统的组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和安全性设计等,为程序的详细设计奠定基础。
系统需求
医院管理系统要求达到:门诊、住院、库房管理、物资管理、药方管理、病员管理等较全面的功能。
门诊模块
包括门诊挂号(病人信息建档、专家预约挂号、IC卡)、门诊收费、门诊医令、急诊管理、门诊医保建立。
·门诊挂号:即时挂号、当日加号、预约挂号、电话挂号、换号退号、挂号的分科分类管理、日报表,病人信息建档。
·门诊收费:处方、诊疗项目划价(收费),预交金、收退费管理,防止收费、退费中的漏费、舞弊,打印报销单据,统计查询,报表,支持一日清单打印。
·门诊医令:集成了挂号、药品查询、诊疗项目查询、化验结果查询、处方书写等功能,对患者进行治疗过程的管理。
·急诊管理:接诊,医嘱记录、复核,护士执行,口头医嘱补录,跟踪留察病人的处理。
·门诊医保:核算参保人员的自负和社会统筹部分,并分别打印收据,自负部分押金、统筹部分与社保中心结算。
住院模块
包括住院预约登记、病人入出院,转科转床管理、住院收费、医嘱管理、住院医令、病人结算,病区护理、住院医保建立。
·住院管理:预约、登记,病床使用信息,病人入出院、转科转床动态管理,病历管理。
·费用管理:预交金、定押金底线,病人结算管理,自动接收医嘱费用,减少偷漏费。
·医嘱管理:医嘱的录入、确认、执行,各种单据的打印(支持一日清单),长期医嘱、临时医嘱、终止或修改医嘱等全过程的医嘱管理,有效的控制病人欠费,病人信息查询功能及辅助处理功能。
·住院医保:同门诊。
药局模块
包括药库、门诊药房(划价、发药及库存管理),住院药房(划价/医嘱用药、发药及库存管理),以及中心摆药管理。
·药库管理:入库、出库、库存、调价、药品帐目等查询、统计、打印,积压和呆滞药品有效管理,可自动制定采购计划,药品会计功能完善,并可单独使用。
·门诊药房:入出库管理、药品分装、库存管理、统计查询及日报,可采用多媒体触屏方式,可采用大屏幕显示提醒病人领药。
·住院药房: 入出库管理、库存管理、各项检索查询、统计及日报,直接接受医嘱用药,二级库的管理动态、及时。
·中心摆药管理:药品入帐,药价自动调整,发药记费,减库存增收入,特殊药和贵重药的控制管理,各药房库存管理,按月盘点、打印盘点表、损益表,调帐处理。
医技模块
包括病案管理、统计管理、检查检验管理(申请预约、报告书写、图像采集等)、手术室管理、血库管理、供应室管理等。
·病案管理:病案初始建立(首页审查、录入、编目),住院病人查询,模糊查询,追踪查询,日常工作,统计汇总,病历、病案分析。
·统计管理:门(急)诊、病房、医技科室、医生工作量、病种术种统计,差错统计,统计科目编码体系灵活。
·检查检验管理:申请、预约、报告书写、图像采集等。
·手术室管理:接收病区手术申请(申请录入、计划安排),手术核对,数据查询,费用录入(自动写到住院结算部分),麻醉管理。
职能模块
包括院长(主任)查询、医务管理、护理管理、人事管理、图书管理、设备管理、物资材料管理、后勤管理等。
财务模块
日常凭证、汇总处理、帐簿查询、科目设置、财务报表、财务分析、月末年末结转帐、工资管理、资产管理。
外部接口
医疗远程会诊、医疗保险结算、信息卡管理、Internet链接、外部网络公共接口等。
设计技巧
出于对系统精简代码、便于维护、统一管理的考虑,一些技巧将使用在本系统中。这些技巧有些是系统设计上的、有的是含在代码段中。本节将说明对于整个系统编码工作采用的技巧。
一、 对一些通用的输入建立组件。
二、 要求界面必须有助手来帮助用户输入。
三、 对所有的药品、医生名称等常用输入项支持拼音及五笔的首字。用户可快速输入。
四、 建立通用的Frame。并在此Frame中建立常用处理程序。
五、 对于每个Frame,有自己对应的TAG,每个TAG在表TsysProc中有相应的存储过程名,由Frame建立ADOStoredProc进行调用。
六、 Frame中的每个值需要进入数据库的控件,按对应存储过程设定TAG值。查询、增加、修改等按此值顺序传递参数。
七、 自定义公用消息文件、常量为PubMsg.Pas 。
八、 自定义函数、过程文件为PubFunc.pas.
系统确定的技巧必须在具体的编程中全面正确完整体现。确定后不在允许新的甚至更好的技巧包含进来。除非进行升级版的开发。
表TsysMenu、各个Frame及Tsysproc的关系示意:
业务流程
病员编号的组成:前两位代表当前医院代码。再1位表示门诊为M住院为Z。后跟9位表示其病员编号。其范围从000000001起到999999999止。
档案号的组成:基本上是病员编号,但其号码可以手工更改。
卡号=档案号。
门诊可以保存病员信息,也可不进行保存。默认为保存。
门诊流程
Yes
目录定义
整个程序在服务器目录”//QxSelf/E:/his2002/” 目录下。
../pas 所有的PAS文件和FRM文件。(不含PUBMSG。PAS)
../Class 所有的自定义控件(内含PubMsg.pas)
../Dlls 所有的dll和其相关的源程序。
../Picture 所有的Bmp和Ico资源。
../doc 文档
../data 数据库描述文件
.
项目文件名为HIS2002.Dpr.
术语解释
第二部分 数据库设计
数据库选型
当前市场上的能运行于WinTel环境下的数据库都有相当多的产品,它们被分为单机小型数据库和网络数据库。
在单机数据库领域中有代表性的是ACCESS的MDB、Fox系列的DBF,两者均为Microsoft的产品。其中FoxPro对DBF的支持性能在桌面型数据库中首屈一指。但是我们的最终产品将建立在网络上,所以这些数据库将不会进入选择范围。
在网络数据库中有代表性的是IBM出品的DB2、Oracle公司的oracle、Microsoft公司的MS SQL SERVER和SyBase的SyBase。其中DB2在收购以后,其市场份额再次成为第一,但它对硬件的要求较高;oracle公司的产品拥有跨平台的特性,但同时以难学著称,Sybase出品的数据库后劲不足,虽然它是MS SQL SERVER 的老前辈,但现在在性能上也不能同MS SQL SERVER抗衡;MS的SQL SERVER从Sybase 的合作中得来,它虽然出身不正,起点较弱(很多人都记得其6.5版本的难用方式),但经过MS的全力发展,其现在的新版本也经可以和Oracle在性能上同起同坐,而且其容易维护、学习方便、与WIN的结合比其它数据库都为紧密。
虽然Borland公司也有自己的InterBase数据库版本,定位于中型规模的企业,比较适合医院这样的企业使用,但现在其性能尚未见业界肯定,并且没有中文的工具界面,售后服务者必须有较高的素质才能胜任。
我们决定了以Win2000 Database Server版本作后台,那么选择一套与WIN结合紧密的数据库将是明智选择。我们将在DB2/o/ms sql server中选择其中一套作为开发时使用和预定义的数据库,我们建议在程序中支持其它落选数据库。
我们以一个市级医院为例,来得出相关的数据量,从而决定选择。报告情况详见《**市第*人民医院2001年月1月3月业务量报告》。在这份报告中,我们认为使用SQLSERVER也足可支持中等级规模医院的使用量,而SQLSERVER2000的价格客户也可承受、后继开发人员及维护人员使用方便。
因此这套系统将定位于SQL SERVER2000基础上。
关于注册表
对于数据库来说,数据库连接字符串保存在注册表中,任何DLL中的数据连接均使用此接连。
本程序在注册表中的项是:
Hkey_local_Machine/sjhis
其下:
../application 为程序自用的项
Application项下有如下主键:
ServerName:服务器名
ServerPath:升级文件存放位置
MachineName:string机器名. 作为系统后台管理判断网络通断的依据。可为IP也可为管理者自定的名称
MachineScr:string机器说明。 一个辅助性的说明字符串而也
ConnectionStr:string 数据库连接字符串 (数据库使用当前连接串加上username&password来与后台数据库建立信任关系
DoctorWriteRecipe:Boolean 医生开处方 否为划价员录入
HaveDisplayer:Boolean 顾显
HaveSound:Boolean 允许声音提示
HavePrinter:Boolean 打印机
SleepTime:integer 休眠保护时间
DisableOtherOperate:Boolean 禁止使用其它程序
ExitAsPowerOff:Boolean 退出程序时直接关闭计算机
Version:string Exe文件版本号
程序首先使用注册表中的hkey_local_machine/sjsis/ConnectionStr加上登录过程中的用户名和密码登录系统,然后从数据库中获取新值,如果数据库允许使用单机自已的设置则使用单机上的注册表项,否则使用公用表项。如果数据库要求强制刷新应强制刷新本机注册表。
系统主文件名为sjhis.exe.
更新文件名为:upgrade.exe ------主要为从网络上下载及更新系统主文件
sjhis.exe 完成对所有子功能模块的升级以及主界面的实现。
√表示为一般索引,*表示主键,一表多个*表示含*字段组成主键
用户库为:(主要保存日常营业数据)His_Server
建库
A、用户库
数据库名称:His_HisUser
Default Datbase Administrator :Sa
Default Password: sa
B、系统库
数据库名称:His_System
Dsfault Database Administrator:Sa
Default Password:Sa
建表
A、行政类表