患者就诊后恢复情况管理.docx
《患者就诊后恢复情况管理.docx》由会员分享,可在线阅读,更多相关《患者就诊后恢复情况管理.docx(23页珍藏版)》请在冰豆网上搜索。
患者就诊后恢复情况管理
1.前言……………………………………………………………………………1
2.需求分析………………………………………………………………………2
2.1.功能需求……………………………………………………………………2
2.2.系统功能需求………………………………………………………………2
2.3.数据描述………………………………………………………………………3
2.4.数据库描述……………………………………………………………………4
2.5.数据采集………………………………………………………………………4
3.概要设计………………………………………………………………………5
3.1.总体设计…………………………………………………………………5
3.2.接口设计…………………………………………………………………5
3.3.数据结构……………………………………………………………………6
4.详细设计…………………………………………………………………………7
4.1.程序设计说明…………………………………………………………………7
4.2.主要模块设计…………………………………………………………………7
4.2.1.添加模块设计………………………………………………………………7
4.2.2.修改模块设计……………………………………………………………9
4.2.3.删除模块设计………………………………………………………………10
4.2.4.查询模块设计………………………………………………………………11
4.2.5.统计模块设计………………………………………………………………12
5.实现与调试分析…………………………………………………………………13
5.1.实现环境………………………………………………………………………13
5.2.语言选择………………………………………………………………………13
6.测试分析…………………………………………………………………………14
6.1.查询功能测试…………………………………………………………………14
6.2.添加功能测试…………………………………………………………………15
6.3.修改功能测试…………………………………………………………………16
6.4.删除功能测试…………………………………………………………………17
6.5.统计功能测试…………………………………………………………………19
总结………………………………………………………………………………20
致谢…………………………………………………………………………………21
参考文献…………………………………………………………………………22
附录源程序文件名清单:
1.前言
某某社区医院是一个非赢利的、短期、能够接待急诊的医院。
它是一个面前有150个床位的相对较小的医院。
根据国家的趋势,近年来医疗卫生成本不断上升,社区医院的基本目标是在成本的控制情况下,为周围社区提供优质的医疗服务。
随着医院的发展和其组织信息管理的提高,传统的人工方法来管理患者恢复情况信息显得费事而且费力。
因而产生了患者就诊后恢复情况管理系统。
患者就诊后恢复情况管理系统有患者恢复情况的录入、更新、统计、查询等功能。
2.需求分析
2.1.功能需求
为了将患者就诊后恢复情况做良好的统计,我们将患者就诊后的恢复情况与患者就诊信息结合起来。
通过数据库来实施对患者信息进行统一管理,患者信息管理子系统-患者就诊后恢复情况管理系统满足以下几个方面的要求:
(1)能够对患者的信息做良好的管理;
(2)对患者回访信息以及其就诊后恢复情况管理;
总之,希望通过系统的开发,能对患者就诊后恢复情况做到良好的信息管理。
2.2.系统功能需求
(1)待开发软件的功能需求
患者信息管理子系统-患者就诊后恢复情况管理系统必须完成患者信息以及患者恢复情况的录入、更新、统计、查询等工作。
(2)待开发软件的功能
按照用户需求,要满足以上功能,设计出了患者信息管理子系统-患者就诊后恢复情况管理系统的结构。
如图1
图1患者就诊后恢复情况管理系统层次方框图
结合系统需求,对图1所示的系统功能解释如下:
信息录入:
录入患者回访信息的相关资料,并存档;
信息修改:
修改患者回访信息;
信息删除:
删除患者回访信息;
信息查询:
按编号查询患者回访信息;
统计病例人数:
统计指定病例的患者人数;
统计医生病人数:
统计指定医生所治疗的患者数;
图2患者就诊后恢复情况管理系统顶层数据流图
2.3.数据描述
1.E-R图:
图3患者就诊后恢复情况管理系统E-R图
2.静态数据及数据字典
待开发软件的功能已经用层次方框图和顶层数据流图表示出来了,其中涉及到的静态数据及其数据字典如下:
表1患者恢复情况表
字段名
数据类型
长度
中文描述
允许空
是否作为主键
PNUM
char
10
患者编号
N
Y
PNAME
char
6
患者姓名
N
DIS
char
8
病名
N
LHDT
char
10
出院日期
Y
RVDT
char
10
回访日期
Y
RECOV
char
4
恢复情况
N
RMARK
char
20
备注
Y
DNAME
Char
10
医生姓名
Y
表2医生信息表
字段名
数据类型
长度
中文描述
允许空
是否作为主键
DNUM
char
6
科室
N
DNAME
char
10
医生姓名
N
Y
2.4.数据库描述
本软件采用关系型数据库。
2.5.数据采集
通过键盘、鼠标向软件系统输入数据。
3.概要设计
本软件将辅助医院完成患者就诊后恢复情况的管理,可以进行查询、统计、打印报表等工作,提高医院对患者信息的管理效率。
在分析阶段,我们已经提出了系统的结构和数据字典。
本节我们将对系统的硬件环境作简要介绍,并对待开发系统作概要设计。
3.1总体设计
1.处理流程
(1)系统启动,进入身份验证。
(2)初始化系统,导入数据库。
(3)进入消息循环状态,通过事件驱动激活各模块,执行各任务。
(4)一任务执行完毕后重新进入消息循环状态。
(5)通过事件驱动退出系统。
2.系统总体结构和模块设计。
通过以上分析,进一步设计出了产成品管理系统的总体结构模块图(见图3)。
图4系统总体结构图
各模块设计如下:
模块编号
模块名称
M1
初始化模块
M2.1
患者回访信息录入模块
M2.2
患者回访信息修改模块
M2.3
患者回访信息删除模块
M3
查询患者信息模块
M4.1
按病例统计患者人数模块
M4.2
按医师统计患者人数模块
M5
退出
3.2.接口设计
1.外部接口
(1)用户界面
采用图形用户界面,包含菜单、按钮、对话框等元素。
(2)软件接口
微软windows7操作系统
(3)硬件接口
处理器英特尔Corei5760@2.80GHz四核处理器
2.内部接口
1)初始状态(M):
系统初始时自动调用,之后进入初始状态。
2)关闭系统模块(M5):
由系统功能模块调用,之后退出系统。
3)系统功能模块(M2,M3,M4):
接受各事件驱动消息,启动相应的系统功能。
4)信息操作模块(M2.1-M2.3):
由相应事件驱动消息激活,完成数据管理功能,之后进入消息循环状态。
5)信息查询模块(M3):
由相应事件驱动消息激活,完成对信息的查询功能,之后进等待状态。
3.3.数据结构
数据字典如下:
表1患者恢复情况表
字段名
数据类型
长度
中文描述
允许空
是否作为主键
PNUM
char
10
患者编号
N
Y
PNAME
char
6
患者姓名
N
DIS
char
8
病名
N
LHDT
char
10
出院日期
Y
RVDT
char
10
回访日期
Y
RECOV
char
4
恢复情况
N
RMARK
char
20
备注
Y
DNAME
Char
10
医生姓名
Y
表2医生信息表
字段名
数据类型
长度
中文描述
允许空
是否作为主键
DNUM
char
6
科室
N
DNAME
char
10
医生姓名
N
Y
4.详细设计
在以上工作的基础上,对有输出要求的全部数据进行属性分析、存储分析、关联分析、查询统计分析、数据分类与处理功能分析。
4.1程序设计说明
1.模块描述
(1)系统详细功能模块如表3
(2)模块设计如下:
表3系统功能模块表
模块编号
模块名称
M1
初始化模块
M2.1
患者回访信息录入模块
M2.2
患者回访信息修改模块
M2.3
患者回访信息删除模块
M3
查询患者信息模块
M4.1
按病例统计患者人数模块
M4.2
按医师统计患者人数模块
M5
退出
4.2主要模块设计
4.2.1添加模块设计:
1.代码:
voidCMyView:
:
OnButtonadd()
{
CScoreDlgdlg;
if(dlg.DoModal()==IDOK)
{
m_pSet->AddNew();
m_pSet->m_PNUM=dlg.m_PNUM;
m_pSet->m_PNAME=dlg.m_PNAME;
m_pSet->m_DIS=dlg.m_DIS;
m_pSet->m_RECOV=dlg.m_RECOV;
m_pSet->m_RVDT=dlg.m_RVDT;
m_pSet->m_DNAME=dlg.m_DNAME;
m_pSet->Update();
m_pSet->Requery();}
}
2.流程图:
图4-1添加模块流程图
4.2.2修改模块设计
1:
代码
voidCMyView:
:
OnButtoneidt()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
CScoreDlgdlg;
dlg.m_PNUM=m_pSet->m_PNUM;
dlg.m_PNAME=m_pSet->m_PNAME;
dlg.m_DIS=m_pSet->m_DIS;
dlg.m_RECOV=m_pSet->m_RECOV;
dlg.m_RVDT=m_pSet->m_RVDT;
dlg.m_DNAME=m_pSet->m_DNAME;
if(dlg.DoModal()==IDOK){
m_pSet->Edit();
m_pSet->m_PNUM=dlg.m_PNUM;
m_pSet->m_PNAME=dlg.m_PNAME;
m_pSet->m_DIS=dlg.m_DIS;
m_pSet->m_RECOV=dlg.m_RECOV;
m_pSet->m_RVDT=dlg.m_RVDT;
m_pSet->m_DNAME=dlg.m_DNAME;
m_pSet->Update();
UpdateData(FALSE);
}
}
2.流程图:
图4-2修改模块流程图
4.2.3删除模块设计:
1.代码:
voidCMyView:
:
OnBUTTONRecDel()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
CRecordsetStatusstatus;
m_pSet->GetStatus(status);
m_pSet->Delete();
if(status.m_lCurrentRecord==0)
m_pSet->MoveNext();
else
m_pSet->MoveFirst();
UpdateData(FALSE);
}
2.流程图:
图4-3删除模块流程图
4.2.4查询模块设计
1.代码:
voidCMyView:
:
OnButtonQuery()
{
UpdateData();
m_strQuery.TrimLeft();
if(m_strQuery.IsEmpty())
{MessageBox("要查询的编号不能为空!
");
return;}
if(m_pSet->IsOpen())
m_pSet->Close();
m_pSet->m_strFilter.Format("PNUM='%s'",m_strQuery);
m_pSet->m_strSort="PNUM";
m_pSet->Open();
if(!
m_pSet->IsEOF())//如果打开记录集有记录
UpdateData(FALSE);//自动更新表单中控件显示的内容
elseMessageBox("没有查到你要找的病人记录!
");
}
2.:
流程图
图4-4查询模块流程图
4.2.5统计模块设计
1.代码:
voidCMyView:
:
OnButtoncountdis()
{
UpdateData();
m_count1=0;
m_strcountqu.TrimLeft();
if(m_strcountqu.IsEmpty())
{MessageBox("要查询的资料不能为空!
");
return;}
if(m_pSet->IsOpen())
m_pSet->Close();
m_pSet->m_strFilter.Format("DIS='%s'",m_strcountqu);
m_pSet->m_strSort="PNUM";
m_pSet->Open();
if(!
m_pSet->IsEOF())
{
while(!
m_pSet->IsEOF())
{
m_pSet->MoveNext();
m_pSet->GetRecordCount();
}
m_pSet->MoveFirst();
m_count1=m_pSet->GetRecordCount();
}
UpdateData(FALSE);
}
5.实现与调试分析
5.1.实现环境
硬件环境:
处理器英特尔Corei5760@2.80GHz四核
内存2GB(金士顿DDR31333MHz)
显卡NvidiaGeForceGTS250(1GB/Nvidia)
主板华硕P7H55-MLE(英特尔CoreProcessorDMI-H55Express芯片组)
软件环境:
微软windows7操作系统
5.2.选择语言
C++程序设计语言
6.测试
6.1查询功能测试
在查找的添加栏中输入你要查找的病人编号,如输入6(成功);
图6-1查询6号病人成功信息
在查找的添加栏中输入你要查找的病人编号,如输入8(失败);
图6-2查询失败弹出对话框信息
6.2添加功能测试
在主页面上点击添加按钮,弹出下列对话框
图6-3单击添加按钮后弹出的对话框
输入如下数据:
图6-4添加7号病人
单击确定按钮,添加成功
6.3修改功能测试
在主页面中单击修改按钮,弹出如下对话框
图6-5单击修改后弹出的对话框
在对话框中输入修改后的病人信息,如下图
图6-6修改6号病人信息
单击确定后修改成功。
在查询中查询6号病人信息以确定修改成功:
图6-7查询修改后的6号病人信息
6.4删除功能测试
单击删除按钮,删除当前页信息
图6-7删除界面
单击删除,表中信息消失
图6-8删除后的信息
查询刚删除的6号信息以验证删除成功。
图6-9查询删除掉的6号信息
6.5统计功能测试
在统计的医生姓名或者病名中输入要统计的条件
点下统计
图6-10统计
总结
通过本次课程设计,我学习掌握软件工程的基本概念、基本原理、开发软件项目的工程化的方法和技术及在开发过程中应遵循的流程、准则、标准和规范等;通过患者就诊后恢复情况管理系统的设计,提高了对整个软件开发过程的能力,让能切实体会到软件工程在实践中的指导作用。
通过课程设计,学会了按软件工程的要求完成规范的各项软件开发文档,对提高软件开发能力和项目管理能力有重要的现实意义。
参考文献
[1]张海藩.软件工程导论,清华大学出版社,2004
[2]陈明.实用软件工程基础,清华大学出版社,2003
[3]殷人昆.实用软件工程,清华大学出版社,2003
[4]宋波.UML面向对象技术与实践,科学出版社,2004