数据库 课程设计医院门诊报告.docx
《数据库 课程设计医院门诊报告.docx》由会员分享,可在线阅读,更多相关《数据库 课程设计医院门诊报告.docx(22页珍藏版)》请在冰豆网上搜索。
数据库课程设计医院门诊报告
《数据库原理与应用》实验报告
实验名称:
医院门诊管理信息系统数据库设计
姓名:
学号:
31
专业班号:
计
实验日期:
2012.9.27
指导教师:
目录
一.背景1
二.需求分析1
1.组织结构分析1
2.业务流程分析2
3.数据流程分析2
4.数据字典分析2
三.概念结构设计5
1.局部概念结构设计5
2.全局概念结构设计10
四.逻辑结构设计12
1.表结构12
2.关系图16
五.物理结构设计18
1.唯一性索引18
2.集簇索引18
六.总结18
一.背景
医院门诊管理信息系统(HospitalClinicManagementInformationSystem,HCMIS),针对以病人医疗活动为中心进行管理病人所有信息,临床的、服务的、用药记录、护理记录和费用信息等能被实时传递到医院各个部门,为医院管理和医疗分析提供便捷服务。
2.需求分析
了解和分析系统将要提供的功能及未来数据库用户的需求。
例如,该系统具有哪些功能需求,哪些数据要存储在数据库中,使用的数据业务规则是什么,数据之间的练习约束等,即了解用户真正从数据库中得到什么。
1.组织机构分析
门诊是医院服务的窗口和最前沿的部门,面临巨大就诊压力。
研究如何合理配置资源、加强管理,充分发挥现有资源的能力来缓解医院服务压力,提高病人满意度很有意义。
2.业务流程分析
(1)一所医院有多个就诊科室部门,每个科室部门都有科室名称(唯一标识)、地址、联系电话、科室简介等信息。
一个科室部门可以有多个员工,但是科室部门负责人只有一位员工。
(2)员工由员工编号唯一标识,需记录员工的姓名、性别、出生年月、身份证号、省份、联系电话、职位、薪水、工作年限、受教程度、住址等信息。
一个员工只属于一个科室部门。
(3)病人由唯一标识的病人编号构成,需存储病人的姓名、性别、生日、身份证号、联系电话、住址、过敏药物,工作等基本信息。
不允许同一个病人在同一个时段内就诊不同的部门。
(4)病历编号构成病历的唯一标识,需记录病症情况,就诊时间,就诊医生等信息。
一份病历只属于一个病人。
(5)药品由药品编号唯一标识,需存储药品名称、药品级别、单价、成分、治疗功效、生产商、生产日期、有效日期、备注等信息。
(6)挂号单由挂号编号唯一标识,需存储挂号的时间、挂号费用等信息。
(7)处方编号构成了处方的唯一标识,需存储就诊日期、药品名称、药品数量等信息。
(8)病人挂号后,需记录病人的挂号信息。
(9)在一个时间段,医生只给一位病人就诊,写一张处方。
(10)每个病人拥有只属于自己的唯一挂号单、唯一病历、唯一处方。
(11)当就诊相同病症的多位医生属于同一科室部门时,具有不同的医生编号。
(12)在同一时间段,药品发放人员只为一位病人发放药物。
(13)挂号处在同一时段只为一位病人挂号,产生挂号单。
(14)在就诊时,医生将病人的看病情况填写在病历上,并把处方单的内容存入处方系统。
3.数据流程分析
(1)一天医院看病的人数不能超过9999人,这是医院接纳的最大人数。
(2)员工开始工作年龄超过18岁,满足工作年龄要求。
(3)病人编号规则:
唯一标识一个病人,编号格式为病人第一次看病日期加流水号,如:
200912130001。
(4)联系电话不超过11或12位数。
(5)住址不超过25为汉字。
(6)邮编为6位数。
(7)病历编号规则:
唯一标识一张病历,‘日期’+’四位流水号’,如:
200912220001。
(8)员工编号规则:
唯一标识一位员工,格式‘workDatetime’+三位流水号,如:
20090430001。
(9)职位填写规则:
用于描述员工在医院中的职位,医护人员(DR),药物管理员(MM)。
(10)科室编号规则:
唯一标识一个科室,从编号00001开始。
(11)挂号单编号规则:
唯一标识一张挂号单,格式‘日期’+‘5位流水号’,如:
r20912130001由系统自动生成一天内最大处理挂号数为9999。
(12)药品编号规则:
唯一标识一种药品,格式为‘C’或者‘S’加’国药准字’,C表示普通药物,S表示特殊药物。
(13)处方编号规则:
‘PR’+‘日期’+‘四位流水号’,如:
PR200912130001。
4.数据字典分析
(1)数据项与数据结构
如表2.1所示。
表2.1数据说明
实体
数据项名
说明
类型(长度)
病人
Patient
PatientNo
病人编号
Char(12)
PatientName
姓名
Varchar(10)
Sex
性别
Char
(1)
Birthday
出生日期
Datetime
ID
身份证号
Char(18)
Telephone
电话
Varchar(12)
Address
住址
Varchar(50)
Zip
邮编
Char(6)
Hypersusceptibility
过敏药物
Varchar(100)
Job
职业
Varchar(10)
病历
CsRecord
CsRecordNo
病历编号
Char(14)
SickDate
就诊日期
Datetime
Symptom
主要症状
Varchar(100)
员工表Employee
EmployeeNo
员工编号
Char(13)
EmployeeName
姓名
Varchar(10)
Sex
性别
Char
(1)
Birthday
出生日期
Datetime
ID
身份证号
Char(18)
Nation
民族
Varchar(10)
Telephone
电话
Varchar(12)
Position
职位
Varchar(10)
Salary
工资
Numeric(10,2)
WorkDate
工作日期
Datetime
WorkTerm
工作年限
int
EduacationLevel
学历
Varchar(10)
Address
住址
Varchar(50)
Zip
邮编
Char(6)
Remark
备注
Varchar(100)
科室
Department
DepartmentNo
科室编号
Char(5)
DepartmentName
科室名称
Varchar(20)
Address
科室位置
Varchar(50)
Manager
负责人
Varchar(10)
Telephone
电话
Varchar(12)
Introduction
科室介绍
Varchar(200)
挂号单
Register
RegisterNo
挂号单编号
Char(14)
RegisterTime
挂号时间
Datetime
RegisterFee
挂号费
Numeric(10,2)
药品
Medicine
MedicineNo
药品编号
Char(18)
MedicineName
药品名称
Varchar(25)
MedicineClass
药品类别
Varchar(10)
UnitPrice
单价
Numeric(10,2)
Specification
规格
Varchar(50)
Elements_M
主要成分
Varchar(256)
Function_M
功能主治
Varchar(256)
Usage
用法用量
Varchar(256)
Providcer
供应商
Varchar(50)
ProduceDate
生产日期
Datetime
Usefullife
有效日期
Datetime
Matters
注意事项
Varchar(256)
Amount
库存量
Int
处方主表
PrescriptionMaster
PrescriptionNo
处方编号
Char(14)
SickDate
就诊日期
Datetime
PatientNo
病人编号
Char(12)
EmployeeNo
员工编号
Char(13)
处方明细表
PrescriptionDetail
PrescriptionNo
处方编号
Char(14)
SickDate
就诊日期
Datetime
MedicineName
药品名称
Varchar(25)
Quantity
药品数量
Int
(2)数据处理
如表2.2所示。
表2.2数据的使用
数据名称
说明
功能实现
Instert_pat_inf
登记病人的基本信息
病人在经过挂号、就诊等一系列就医过程后,院方保存病人的信息资料。
Update_pat_inf
更新病人的基本信息
病人可能有时某些以保留的信息会发生改变,如住址。
Search_Hypersusceptibility
病人对某些药物的过敏
病人看病时,如果以前留有病人的资料,可以查询病人的过往资料,对哪些药物过敏。
Instert_Hypersusceptibility
病人对某些药物的过敏
第一次看病的病人,要就诊后,要添加病人的过敏药物。
Search_pat_inf
病人的基本信息
查询病人的信息
Del_pat_inf
病人的信息
删除病人的信息。
Instert_emp_inf
登记员工的基本信息
员工聘用后,存储其基本信息。
Update_emp_inf
更新员工的基本信息
员工可能有时某些以保留的信息会发生改变,如住址。
Search_emp_inf
员工的基本信息
查询员工的信息
Search_doctor_inf
医生的基本信息
查询医生的信息
Del_emp_inf
员工的基本信息
删除员工的基本信息。
Search_reg_inf
挂号单的信息
查询病人挂号单信息。
Del_reg_inf
挂号单的信息
删除病人挂号单。
Search_dep_inf
科室信息
查询科室信息。
Update_dep_inf
科室信息
更新科室信息,如主管负责人。
Instert_csR_inf
病历信息
填写病人就诊时的基本情况。
Search_csR_inf
病历信息
查询病人的病历信息。
Del_csR_inf
病历信息
删除病人的病历信息。
Instert_pre_inf
处方信息
填写病人就诊时的处方信息。
Search_pre_inf
处方信息
查询病人的处方信息。
Update_pre_inf
处方信息
更新病人的处方信息。
Del_prR_inf
处方信息
删除病人的处方信息。
Instert_med_inf
药品信息
添加新药品。
Search_med_inf
药品信息
查询药品信息。
Update_med_inf
药品信息
更新药品信息。
Del_med_inf
药品信息
删除药品信息。
三.概念结构分析
1.局部概念结构分析
1.1实体及其属性
由需求分析知,基本实体有病人、病历、员工、科室和药品。
(1)病人:
病人编号、姓名、性别、出生日期、身份证号、电话、住址、邮编、过敏、职业,如图3.1所示。
图3.1病人
(2)病历:
病历编号、就诊日期、主要症状,如图3.2所示。
图3.2病历
(3)员工:
员工编号、姓名、性别、出生日期、身份证号、民族、电话、职位、工资、工作日期、工作年限、学历、住址、邮编、备注,如图3.3所示。
图3.3员工
(4)科室:
科室编号、科室名称、科室位置、负责人、电话、科室介绍,如图3.4所示。
图3.4科室
(5)药品:
药品编号、药品名称、药品类别、单价、规格、主要成分、功能主治、用法用量、供应商、生产日期、有效日期、注意事项,如图3.5所示。
图3.5药品
1.2实体间的联系
(1)病人和医生之间是多对多的关系(m:
n),如图3.6所示。
图3.6病人与医生的联系
(2)病人与病历之间是是一对一的关系(1:
1),如图3.7所示。
图3.7病人与病历之间联系
(3)医生与病历之间是是一对多的关系(1:
n),如图3.8所示。
图3.8医生与病历之间联系
(4)员工和科室之间是多对一的关系(n:
1),如图3.9所示。
图3.9员工与科室之间联系
(5)病人和药品之间是多对多的关系(m:
n),如图3.10所示。
图3.10病人和药品之间的联系
(6)病人和科室之间是一对一的关系(1:
1),如图3.11所示。
图3.11病人和科室之间的联系
(7)病人与挂号单之间是是一对一的关系(1:
1),如图3.12所示。
图3.12病人与挂号单之间联系
2.全局概念结构设计
“门诊管理”总体功能如图3.13所示。
图3.14“门诊管理”总体功能
系统总的E-R图,如图3.14所示。
图3.14总体E-R图
四.逻辑结构设计
1.表结构
1)病人表Patient,如表4.1所示。
表4.1病人表Patient
数据项名
类型(长度)
是否为空
约束说明
备注
PatientNo
Char(12)
Notnull
PrimarykeyPatient_PK
病人编号
PatientName
Varchar(10)
Notnull
姓名
Sex
Char
(1)
Notnull
‘F’表示女,’M’表示男
性别
Birthday
Datetime
Notnull
Yyy-mmm-ddd格式
出生日期
ID
Char(18)
Notnull
18位数字表示
身份证号
Telephone
Varchar(12)
null
11或12位数字表示
电话
Address
Varchar(50)
Notnull
最多25个汉字表示
住址
Zip
Char(6)
null
6位数字表示
邮编
Hypersusceptibility
Varchar(100)
null
不超过10个汉字表示
过敏药物
Job
Varchar(10)
null
不超过5个汉字
职业
(2)病历表CsRecord,如表4.2所示。
表4.2病历表CsRecord
数据项名
类型(长度)
是否为空
约束说明
备注
CsRecordNo
Char(14)
Notnull
PrimarykeyCsRecord_PK
病历编号
PatientNo
Char(12)
Notnull
CsRecordPatient_FKn
病人编号
EmployeeNo
Char(10)
Notnull
CsRecordEmployee_FKn
就诊医师
SickDate
Datetime
Notnull
与处方上就诊日期一致
就诊日期
Symptom
Varchar(100)
Notnull
记录病情
主要症状
(3)员工表Employee,如表4.3所示。
表4.3员工表Employee
数据项名
类型(长度)
是否为空
约束说明
备注
EmployeeNo
Char(13)
Notnull
PrimarykeyEmployee_PK
员工编号
EmployeeName
Varchar(10)
Notnull
员工姓名
姓名
Sex
Char
(1)
Notnull
‘F’表示女,’M’表示男
性别
Birthday
Datetime
Notnull
Yyy-mmm-ddd格式
出生日期
ID
Char(18)
Notnull
18位数字表示
身份证号
Nation
Varchar(10)
null
56个民族之一
民族
Telephone
Varchar(12)
Notnull
12位数字表示
电话
Position
Varchar(10)
Notnull
医生职位
职位
Salary
Numeric(10,2)
Notnull
小数点后两位数字表示
工资
WorkDate
Datetime
Notnull
年龄不得小于18岁
工作日期
WorkTerm
Int
null
用一数字表示
工作年限
EduacationLevel
Varchar(10)
null
如“大专”,“本科”等
学历
Address
Varchar(50)
Notnull
不多于25个汉字表示
住址
Zip
Char(6)
null
6个数字表示
邮编
Remark
Varchar(100)
null
医生的附加信息
备注
(4)科室表Departement,如表4.4所示。
表4.4科室表Departement
数据项名
类型(长度)
是否为空
约束说明
备注
DepartmentNo
Char(5)
Notnull
PrimarykeyDepartement_PK
科室编号
DepartmentName
Varchar(20)
Notnull
少于10个汉字表示
科室名称
Address
Varchar(50)
null
少于25个汉字
科室位置
Manager
Varchar(10)
null
负责人姓名
负责人
Telephone
Varchar(12)
null
12位数字表示
电话
Introduction
Varchar(200)
null
科室简介
科室介绍
(5)挂号单表Register,如表4.5所示。
表4.5挂号单表Register
数据项名
类型(长度)
是否为空
约束说明
备注
RegisterNo
Char(14)
Notnull
PrimarykeyRegiste_PK
挂号单编号
PatientNo
Char(12)
Notnull
RegisterPatient_FKn
病人编号
DepartmentNo
Char(5)
Notnull
RegisterDepartment_FKn
就诊科室
RegisterTime
Datetime
Notnull
yyyy-mm-dd格式
挂号时间
RegisterFee
Numeric(10,2)
Notnull
小数点后两位数字表示
挂号费
(6)药品表Medicine,如表4.6所示。
表4.6药品表Medicine
数据项名
类型(长度)
是否为空
约束说明
备注
MedicineNo
Char(18)
Notnull
PrimarykeyRegiste_PK
药品编号
MedicineName
Varchar(25)
Notnull
不超过10个汉字
药品名称
MedicineClass
Varchar(10)
Notnull
唯一表示药品类别,如“外用药”,“内服药”
药品类别
UnitPrice
Numeric(10,2)
Notnull
小数点后两位数字
单价
Specification
Varchar(50)
null
不超过10个汉字
规格
Elements_M
Varchar(256)
null
不超过100个汉字
主要成分
Function_M
Varchar(256)
null
不超过100个汉字
功能主治
Usage
Varchar(256)
null
不超过100个汉字
用法用量
Providcer
Varchar(50)
null
不超过30个汉字
供应商
ProduceDate
Datetime
Notnull
Yyy-mmm-ddd格式
生产日期
Usefullife
Datetime
Notnull
Yyy-mmm-ddd格式
有效日期
Matters
Varchar(256)
null
不超过100个汉字
注意事项
Amount
Int
Notnull
具体数字
库存量
(7)处方表PrescriptionMaster,如表4.7所示。
表4.7处方表PrescriptionMaster
数据项名
类型(长度)
是否为空
约束说明
说明
PrescriptionNo
Char(14)
Notnull
PrimarykeyPrescription_PK
处方编号
PatientNo
Char(12)
Notnull
PrescriptionPatient_FKn
病人编号
EmployeeNo
Char(13)
Notnull
PrescriptionDoctor_FKn
医生编号
SickDate
Datetime
Notnull
Yyy-mmm-ddd格式
就诊日期
(8)处方表PrescriptionDetail,如表4.8所示。
表4.8处方表PrescriptionDatail
数据项名
类型(长度)
是否为空
约束说明
说明
PrescriptionNo
Char(14)
Notnull
PrimarykeyPrescription_PK
处方编号
SickDate
Datetime
Notnull
Yyy-mmm-ddd格式
就诊日期
MedicineNo
Char(18)
Notnull
PrimarykeyRegiste_FK
药品编号
MedicineName
Varchar(25)
Notnull
少于5位数字
药品名称
Quantity
Int
Notnull
一具体数字
药品数量
2.关系图
五.物理结构设计
1.唯一性索引
药品、医生、病历、处方,诊断的日期等信息经常要依编号进行查询或与其他表连接且其更新频率不高,可以在其编号上建立索引,提高效率;在涉及病人编号的所有表中,由于经常要依病人编号查询指定病人信息,可以在病人编号上建立索引。
2.集簇索引
为了提高某些属性的查询速度,可以在这些属性上建立聚簇。
如经常要查询病人的所有处方、费用信息,所以可以在处方表依病人编号建立聚簇,将同一个病人的信息集中存放,提高速度。
6.总结
本文系统地介绍了医院门诊管理信息系统数据库设计全过程,重点讲述了需求分析,概念,逻辑,物理结构设计,虽然系统最终实现了医院门诊的基本功能,数据库数据基本上达到了完整性,但由于本人水平有限,时间有限,还是有考虑不足的地方,设计上还是存在着不少的缺陷,只有靠今后不断地积累经验,进一步提高自己的计算机水平,以及对系统业务做全面的了解,才能设计出比较完善的系统。
通过这次设计我更进