医院处方管理系统.docx
- 文档编号:6323823
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:14
- 大小:113.98KB
医院处方管理系统.docx
《医院处方管理系统.docx》由会员分享,可在线阅读,更多相关《医院处方管理系统.docx(14页珍藏版)》请在冰豆网上搜索。
医院处方管理系统
长沙理工大学
计算机与通信工程学院
(软件实验用)
课程名称Java程序设计
实验项目名称处方跟踪系统
年级2004班级
学号姓名
同组姓名
实验日期2007-5-31~2007-6-13
考试成绩
一、实验目的
掌握对复杂系统的建模和编码能力,能在正确建模的基础上编写Java程序实现系统功能。
二、实验内容
实现处方跟踪系统的建模和编码。
三、实验平台
Windows操作系统,JDK1.5
四、设计流程
1、系统分析
处方跟踪系统(PTS)参与者为Customer,Customer可实现三个操作,查询客户信息,查询处方信息,查询药物信息。
PTS系统的用例图如图4.1所示:
图4.1PTS系统用例图
说明:
该系统分为:
查询处方信息模块、查询药物信息模块及用户信息模块。
其中查询药物信息模块实现了处方跟踪系统要求实现的查询药物信息及其是否可以替代及相应替代药物的功能。
查询处方信息模块实现了处方跟踪系统要求实现的查询处方信息及处方使用时间的功能。
2、系统设计
本系统涉及3个类:
分别是Customer、Medicine和Prescription。
图4.2为PTS系统类图:
图4.2PTS系统类图
3、数据字典
PTS处方跟踪系统数据字典:
类
⏹用户(Customer):
具有查询本系统中各项项信息的人,是本系统的参与者。
⏹药物(Medicine):
客户所使用处方中的一系列药物。
⏹处方(Prescription):
客户所用的一系列处方。
属性
⏹Customer.name:
每个用户的用户名。
⏹Customer.phone:
每个用户相对应的用户电话号码。
⏹Customer.birthday:
每个用户的生日。
⏹Cpany:
每个用户的承包公司。
⏹Customer.baodanhao:
每个用户的保单号。
⏹Medicine.name:
每种药物的药物名称。
⏹Medicine.Unit:
每种药物的单位。
⏹Medicine.Number:
每种药物的数量。
⏹Medicine.Effect:
每种药物的副作用。
方法
⏹方法:
displayPrescription()
⏹所属类:
Customer
⏹首部:
publicvoiddisplayPrescription()
⏹描述:
对记录做判断,如果record中记录为空,则提示没有该用户。
如果有,则打印输出用户信息.
⏹方法:
record()
⏹所属类:
Customer
⏹首部:
publicvoidrecord(Prescriptionp)
⏹描述:
保持客户类与处方类关联的一致性.
⏹方法:
isGiveMedicine()
⏹所属类:
Prescription
⏹首部:
publicbooleanisGivedrug(intn)
⏹描述:
n为给药的次数,而getnum()是总共给药的次数,通过判断总共给药的次数是否大于给药的次数。
如果大于,则条件允许再分配剩余的次数。
否则,则不允许。
⏹方法:
isExtime
⏹所属类:
Prescription
⏹首部:
publicbooleanisExtime()
⏹描述:
通过判断处方所给出的结束日期与当前日期的先后顺序得出是否过期。
五、程序清单
importjava.util.ArrayList;
importjava.util.Date;
/**
*处方类
*/
publicclassPrescription{
privateStringID;//处方ID号
privateDatedate;//开处方日期
privateDateenddate;//处方结束日期
privateintnumber;//已给药次数
privateinttotal;//处方给药总数
privateCustomercustomer;//开给处方的客户
privateArrayList
publicPrescription(Stringid,Datedate,Dateenddate,intnumber,inttotal){
this.ID=id;
this.date=date;
this.enddate=enddate;
this.number=number;
this.total=total;
pm=newArrayList
}
publicArrayList
{
returnpm;
}
publicvoidsetPm(Medicinem)
{
pm.add(m);
}
publicvoidsetNumber(intnumber){
this.number=number;
}
publicintgetNumber(){
returnnumber;
}
publicDategetDate(){
returndate;
}
publicvoidsetDate(Datedate){
this.date=date;
}
publicvoidsetTotal(inttotal){
this.total=total;
}
publicintgetTotal(){
returntotal;
}
publicDategetEnddate(){
returnenddate;
}
publicvoidsetEnddate(Dateenddate){
this.enddate=enddate;
}
publicStringgetID(){
returnID;
}
publicvoidsetID(Stringid){
ID=id;
}
publicCustomergetCustomer(){
returncustomer;
}
publicvoidsetCustomer(Customercustomer){
this.customer=customer;
}
publicbooleanisGivemedicine(){
System.out.println("\t以给药次数:
"+this.getNumber());
returntrue;
}
//处方是否已过期
publicbooleanisExtime(){
Datenow=newDate(System.currentTimeMillis());
if(now.after(this.enddate)){
//System.out.print("处方已过期");
returntrue;
}
elsereturnfalse;
}
//显示处方信息
publicvoiddisplay(){
System.out.print("\t处方ID号:
"+this.getID());
System.out.print("\t处方日期:
"+this.getDate().toString());
System.out.print("\t处方终止日期:
"+this.getEnddate().toString());
System.out.println("\t批准的再次给药次数:
"+(this.getTotal()-this.number));
for(Medicinem:
pm)
System.out.println("\t"+m.getName()+""+m.getNum()+m.getunit()+""+m.getEffect());
}
}
/**
*PTS驱动类
*/
importjava.sql.Date;
importjava.util.ArrayList;
publicclassPTS{
publicstaticArrayList
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
Customerc1,c2,c3,c4;//定义四个客户;
Medicinem1,m2,m3,m4,m5;//定义五种药物;
Prescriptionp1,p2,p3;//定义三个处方。
//初始化
c1=newCustomer("张艺","","06/12","长沙移动","11");
c2=newCustomer("李景普","","07/12","郴州移动","12");
c3=newCustomer("王明","","08/12","商丘移动","13");
c4=newCustomer("赵虎","","09/12","湖南移动","14");
m1=newMedicine("青霉素","毫升",100,"可能会出现抽搐,皮肤搔痒等症状");
m2=newMedicine("阿司匹林","盒",1,"可能会出现皮肤红肿等症状");
m3=newMedicine("钙片","片",5,"可能会出现痉挛症状");
m4=newMedicine("葡萄糖","毫升",700,"可能会出现头晕症状");
m5=newMedicine("三株口服液","瓶",9,"可能会出现头疼等症状");
//添加药物的替代药物
m1.addreMedicine(m3);m1.addreMedicine(m4);
m2.addreMedicine(m5);m4.addreMedicine(m2);
m4.addreMedicine(m3);m4.addreMedicine(m1);
Datedate1=Date.valueOf("2007-02-01");
Dateenddate1=Date.valueOf("2007-02-15");
p1=newPrescription("1",date1,enddate1,5,5);
p1.setPm(m1);
p1.setPm(m3);
p1.setPm(m5);
Datedate2=Date.valueOf("2007-02-28");
Dateenddate2=Date.valueOf("2007-03-05");
p2=newPrescription("2",date2,enddate2,3,6);
p2.setPm(m2);
p2.setPm(m4);
Datedate3=Date.valueOf("2007-06-07");
Dateenddate3=Date.valueOf("2007-06-11");
p3=newPrescription("3",date3,enddate3,4,5);
p3.setPm(m1);
p3.setPm(m2);
//添加处方记录
c1.record(p1);c1.record(p3);
c2.record(p2);c2.record(p1);
c3.record(p1);c3.record(p2);
c3.record(p3);c4.record(p2);
//显示某客户的处方历史记录
System.out.println("-----------------------------------");
System.out.println("客户的处方历史记录:
");
System.out.println("-----------------------------------");
//c1.disPlay();
c1.displayPrescription();
//c2.disPlay();
c2.displayPrescription();
//c3.disPlay();
c3.displayPrescription();
//c4.disPlay();
c4.displayPrescription();
//显示特定药物的通用替代药物清单
System.out.println("-----------------------------------");
System.out.println("各种药物的替代药物:
");
System.out.println("-----------------------------------");
m1.displayreMedicine();
m2.displayreMedicine();
m3.displayreMedicine();
m4.displayreMedicine();
m5.displayreMedicine();
System.out.println();
//判断给定的处方是否可以再次给药,以及处方是否已过期
System.out.println("------------------------------------");
System.out.println("判断处方再次给药次数与处方是否过期");
System.out.println("------------------------------------");
prescriptionrecord=newArrayList
prescriptionrecord.add(p1);
prescriptionrecord.add(p2);
prescriptionrecord.add(p3);
for(Prescriptionp:
prescriptionrecord){
System.out.println("处方ID号为"+p.getID()+"的判定情况");
if(p.isGivemedicine())
System.out.println("\t剩余给药次数:
"+(p.getTotal()-p.getNumber()));
elseSystem.out.println("\t不可以再次给药!
!
");
if(p.getTotal()-p.getNumber()==0)System.out.println("\t该处方过期!
!
!
!
");
elseSystem.out.println("\t该处方没有过期,结束日期为:
"+p.getEnddate().toString());
}
}
}
六、调试和测试结果
七、教师批语与成绩评定
1、评分指标
评分项目
等级
(1)是否遵循建模原则
(2)Java代码编写是否规范
(3)模型评价
(4)程序功能是否完整、细致
(5)系统运行情况
(6)系统难度
(7)完成系统的工作量
(8)编写系统的努力程度
(9)数据库或文件访问功能
(10)用户界面
2、总评分数
3、评分教师刘翌南
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 医院 处方 管理 系统