第一篇:源程序(医院药房药品管理系统C++)
源程序: # include
#define MAX 60
//下列字符数组的大小 struct Date{//日期
char year[MAX];//年
char month[MAX];//月
char day[MAX];//日 };struct Goods{//药品信息
char name[MAX];//药品名称
char price[MAX];//药品价格
char number[MAX];//药品数量
char cost[MAX];//药品总价
char kind[MAX];//药品的种类
Date indate;//入库日期
Date xiaoqi;//到期时间
Goods * next;//下一个结点
};
class Cangkuguanli { //类定义与实现 private:
int length;//客户数量
Goods * head;//列表的头结点
Goods * current;//当前结点 public:
Cangkuguanli()//构造函数
{
head=new Goods;//创建头结点
current=head;
current->next=NULL;
length=0;//长度为0
}
void Creatlist()//创建新的列表
{
char g='Y';
int s=0;
length=0;//初始长度为0;
current=head;
do {
Goods * temp=new Goods;//构建新结点信息
length++;//每加一个结点 链表长度增1
temp->next=NULL;
cout<<“
请输入药品名称: ”;
cin>>temp->name;
cout<<“
请输入单价
: ”;
cin>>temp->price;
cout<<“ 请输入药品数量:
”;
cin>>temp->number;
cout<<“
请输入总费用 : ”;
cin>>temp->cost;
cout<<“ 请输入日期(**** ** **): ”;
cin>>temp->indate.year>>temp->indate.month>>temp->indate.day;
cout<<“ 请输入药品有效期(**** ** **):”;
cin>>temp->xiaoqi.year>>temp->xiaoqi.month>>temp->xiaoqi.day;
cout<<“ 请输入药品种类: ”;
cin>>temp->kind;
if(head==NULL){head=temp;current=temp;} //head头指针,current尾指针
else {current->next=temp,current=temp;}
do{
cout<<“ next ?(Y N)”;//是否继续存入新产品
cin>>g;
if(g!='Y'&&g!='N')
{
cout<<“n error!!n ”;
}
}while(g!='Y'&&g!='N');
}while(g=='Y');//判断是否继续插入新结点
}
void Open()//打开一个数据文件,并建立链表关联 和文件中的记录对应
{
char fname[20];//文件名称
cout<<“ input the name of the file n”;
cin>>fname;//输入要打开的文件名
ifstream infile(fname);//创建输入文件流
infile>>length;
cout<<“n length is: ”< //if(length==0)cout<<“ 数据为空n”; for(int i=0;i { Goods * t=new Goods; t->next=NULL; infile>>t->name>>t->price>>t->number>>t->cost>>t->kind>> t->indate.year>>t->indate.month>>t->indate.day; if(head==NULL){head=t;current=t;}//跟上面的链表创建相似 else {current->next=t,current=t;} } infile.close();//关闭文件流 }//open void Save()//保存链表信息到文件 { if(length==0) { cout<<“ 列表为空 不需存盘 n”; return; } char fname[20];//文件名称 cout<<“ input the name of the file you want to put data in n”; cin>>fname; ofstream outfile(fname);//创建输出文件流 Goods * temp=head->next; outfile< while(temp!=NULL)//把所有结点写入到文件fname { outfile< << “ ”< //写入每个结点信息 temp=temp->next; } outfile.close();//关闭文件流 } void printinfor(Goods * current)//输出一个结点的信息到字符界面 { if(current==NULL) { cout<<“n元素为空!!n ”;return; } cout.fill(' ');cout< cout.width(8); cout.width(8);cout< cout< cout.width(10);cout< void Show()//输出所有结点信息到字符界面 { current=head->next;if(current==NULL){ cout<<“列表为空 n”;return;} cout.fill(' ');cout.width(2);cout<<“名称”; cout.width(8);cout<<“价格”;cout.width(8);cout<<“数量”;cout.width(8);cout<<“总费用”;cout.width(10);cout<<“药品的种类”;cout.width(15);cout<<“购进时间”;cout.width(15);cout<<“有效期”;cout< //循环输出所有结点 printinfor(current); current=current->next;} }//show Goods *Searchindate(Date t){ //按购入日期搜索 返回结点指针temp //结构体t含有t.year t.month t.day三个信息块 Date d;bool f=false;Goods * temp;current=head->next; while(current!=NULL) { d=current->indate; if(!strcmp(d.year,t.year)&&!strcmp(d.month,t.month)&&!strcmp(d.day,t.day)) { temp=current; f=true; break; } current=current->next; } if(f==false) { cout<<“n 没有满足要求的信息 n”; return NULL; } return temp;} void Queryindate()//按入库日期查询 { Date t;cout<<“ input the date(**** ** **): ”;cin>>t.year>>t.month>>t.day; printinfor(Searchindate(t));}//Queryindate()Goods * Searchname(char r[])//搜索药品名 返回结点指针temp { Goods * temp; current=head->next;bool f=false; while(current!=NULL) { if(strcmp(current->name,r)==0) { temp=current; f=true; break; } current=current->next; } if(f==false) { cout<<“n 商品名为 : ”< return NULL; } return temp;} void Queryname()//按药品名查询 { char r[MAX];cout<<“ input the name: ”;cin>>r;printinfor(Searchname(r));} void Query()//查询函数 一个次级菜单 { char m;do{ cout<<“ ********************************************************** ”< cout<<“******* 按入库的时间查询 ***********”< cout<<“******* 按药品的名称查询 ***********”< cout<<“******* ***********”< case 'a': Queryindate();break;case 'b': Queryname();break; case 'c': return;default: cout<<“error!”;} }while(m!='h');}//Query void Removebynumber()//按总量删除某个结点 { char t[MAX];//需要删除的总量值 bool f=false;//表示是否找到满足要求的结点 Goods * temp;//指向找到的结点,并删除 cout<<“ 请输入药品的数量: ”; cin>>t; current=head; while(current->next!=NULL) { if(strcmp(current->next->number,t)==0)//判断是否满足条件 { temp=current->next; current->next=temp->next; length--;//没删除一个结点,链表长度减1 f=true; delete temp;//释放结点 cout<<“已删除此药品n”; //break; 此处屏蔽break,也就是说找到第一个满足条件的结点,并不退出循环,而是继续删除 } else{ current=current->next; } } if(f==false)//false没有改动,表示没有满足条件的结点 { cout<<“此药品不存在 ,无须删除 n”; } }//Removebynumber void Removebyname()//按名称删除某个结点 { char t[20]; bool f=false;; Goods * temp; cout<<“ 请输入药品的名称:”; cin>>t; current=head; while(current->next!=NULL) { if(strcmp(current->next->name,t)==0) { temp=current->next; current->next=temp->next; length--; f=true; delete temp;cout<<“已删除此药品n”;//break;此处屏蔽break,也就是说找到第一个满足条件的结点,并不退出循环,而是继 续删除 } else{ current=current->next; } } if(f==false) { cout<<“此药品不存在 ,无须删除 n”; } }//Removebyname void Removebyindate()//按购进时间删除某个结点 { Date t,d; bool f=false; Goods * temp; cout<<“ 请输入查找药品的日期: ”; cin>>t.year>>t.month>>t.day; current=head; while(current->next!=NULL) { d=current->next->indate; if(d.year==t.year&&d.month==t.month&&d.day==t.day) { temp=current->next; current->next=temp->next; length--; f=true; delete temp;cout<<“已删除此药品n”; } else{ current=current->next; } } if(f==false) { cout<<“此元素不存在 ,无须删除 n”; } }//Removebyindate void Remove()//删除函数 { char g='Y'; do{ cout<<“ ********************************************************** ”< ***********”< ***********”< ***********”< ***********”< case 'a': Removebynumber();break;case 'b': Removebyname();break;case 'c': Removebyindate();break;case 'd': return;default: cout<<“error!”;} } while(g!='d');} void Add(){ Goods * temp;current=head;while(current->next!=NULL)//找到尾指针 { current=current->next;} temp=new Goods;temp->next=NULL;length++;//链表长加1 cout<<“ 请输入药品名称: ”; cin>>temp->name; cout<<“ 请输入单价 : ”; cin>>temp->price; cout<<“ 请输入药品数量 : ”; cin>>temp->number; cout<<“ 请输入总费用 : ”; cin>>temp->cost; cout<<“ 请输入入购日期(**** ** **)”; cin>>temp->indate.year>>temp->indate.month>>temp->indate.day; cout<<“请输入有效期(**** ** **)”; cin>>temp->xiaoqi.year>>temp->xiaoqi.month>>temp->xiaoqi.day; cout<<“ 请输入药品的种类:”< cin>>temp->kind; current->next=temp;//这时current指向尾指针,将要插入的结点接到current后面 current=temp;}//add void Modify(){//通过药品名找到要修改的数据项 char n[MAX];cout<<“请输入您要修改的药品名:”< Goods * temp=Searchname(n);//按商品名查找 cout<<“ 请输入单价:”; cin>>temp->price; cout<<“ 请输入药品的总费用:n”; cin>>temp->cost; cout<<“ 请输入日期(**** ** **):n”; cin>>temp->indate.year>>temp->indate.month>>temp->indate.day; cout<<“ 请输入药品的数量:n”; cin>>temp->number; cout<<“ 请输入药品的种类:n”; cin>>temp->kind;} void operation(){ char g='Y';do{ cout<<“t”;cout.fill('*');cout.width(21);cout<<'*';cout<<“医院药房管理系统”;cout.fill('*');cout.width(19);cout<<'*'; cout<<“n”; cout<<“t********************************************************n”; cout<<“t MWDICINE STORE MANAGEMENT SYSTERMn”; cout<<“t********************************************************n”;cout<<“t && && &&&&&&&&&&&&&&& cout<<”t && && &&&&&&&&&&&&&&& n“;n”; cout<<“t && && &&& n”; cout<<“t && && &&& n”; cout<<“t && && &&&&&&&&&&&&&&& n”; cout<<“t && && &&&&&&&&&&&&&&& n”; cout<<“t &&& &&& n”; cout<<“t &&& &&& n”; cout<<“t &&& &&& n”; cout<<“t &&& 退出 &&& n”; cout<<“t********************************************************n”; cout<<“t********************************************************n”;cout<<“t”;cout.fill('*');cout.width(18);cout<<'*';cout<<“医院药房管理系统”;cout.fill('*');cout.width(22);cout<<'*';cout< cin>>g;switch(g){ case 'C': Creatlist();break;case 'A': Add();break;case 'M': Modify();break;case 'D': Show();break;case 'Q': Query();break;case 'R': Remove();break;case 'O': Open();break;case 'S': Save();break;case 'N': system(“cls”);break;case 'E': return;default: cout<<“ error! input the right character!!!n”;}//switch }while(g!='E');}//operation };//Cangkuguanli int main(){ Cangkuguanli A; A.operation();return 0;} 题目 医院药房药物管理与配发__ 医院药房药物管理 摘 要 药房药品管理是保证医院医疗质量、安全和经济效益的重要环节。医院药品管理是医院药师管理核心,医院药品管理除包括药品采购、供应、调剂、制剂等传统业务外,还涉及财物经济管理、用药计划管理、药品价格管理、药品效其管理、药品质量管理、新药特药管理、药品信息管理、临床合理用药管理、处方药品查询管理、病人医药费用管理、用药结构管理和药学服务管理等诸多方面的工作。 医院药品管理本着一切以病人为中心,贯彻优质、合理高效、低耗的原则,做好药学服务,以达到有效、安全、经济、方便地使用药品。 关键词:医院药房,药物管理,药品 目 录 摘要..............................................................................................................................2 第一章 药品................................................................................................................4 1.1 传统药和现代药...............................................................................................4 1.2 基本药物...........................................................................................................4 1.3 处方药和非处方药...........................................................................................4 1.4 药品管理有关制度...........................................................................................4 第二章 药品药房的管理............................................................................................5 2.1 药房管理的必要性...........................................................................................5 2.2 药房方面对药品的管理...................................................................................5 2.3 财务科方面对药品的管...................................................................................5 2.4 药房药品盘存...................................................................................................6 2.5 医院药品有关管理具体任务...........................................................................6 2.6 医院药剂科各主要部门药品管理...................................................................6 第三章 药房药剂人员的管理....................................................................................7 3.1 加强药剂人员的管理和培养...........................................................................7 3.2 建立严格的规章制度.......................................................................................7 结论..............................................................................................................................8 参考文献(References).................................................................................................8 致谢..............................................................................................................................8 第一章 药品(drugs,medicine) 我国对药品的含义是:用于防治、治疗、诊断人的疾病,有目的的调节人的生理机能并规定有适应症、用法、用量和注意事项的物质,包括中药材、中成药、化学原料药及其制剂、抗生素、生化药品、放射性药品、血清疫苗血液制品和诊断药品等。 世界卫生组织对药品的含义是:任何生产、出售、推销或提供治疗、缓解、预防或诊断人和动物的疾病、身体异常或症状的;或者恢复、矫正或改变人或动物的器官功能的单一物质或混合物。 美国对药品的含义是: ① 法定的《美国药典》、法定的《美国顺势疗法药典》(Homeopathic Pharmacopoeia of the United States)或法定的《国家处方集》(National Formulary)以及任何增补本所认可的任何物品;② 用于诊断、治疗、缓解或预防人或其他动物疾病的物品; ③ 影响人体或其他动物的结构和功能的物品(食品除外); ④ 用作(1)、(2)、(3)项所规定的物品的成分之一,但不包括器械或其组成部分、零部件或附件。 我国《药品管理法》中规定的药品仅指人用药;世界卫生组织、美国以及日本、英国、瑞典、新加坡等许多国家要是法规中的药品均包括人和药和兽用药。 1.1传统药和现代药(Chinese traditional drugs and modern drugs) 用传统医学观点表达其特性,被传统医学使用的药物为传统药,它包括中药材、中药饮片、传统中成药和名族药,如藏药、蒙药。而用现代医学观点表达其特性,能被现代医学使用的药物称为现代药,他包括化学原料药及其制剂、抗生素、生化药品、放射性药品、血清疫苗血清制品和诊断药品。 1.2基本药物(essential drugs) 医疗卫生、防病治病及计划生育等必需的、疗效比较确切、安全可靠、适合国情的药物。各医疗单位有了这些药物及其制剂,基本上可以解决医疗常规用药的需要。 目前我国对于医疗保险制定了《医疗基本药物目录》,分为甲乙丙三类。 1.3处方药品(prescribed drug)与非处方药品(over the couter,简称OTC) 1.3.1 处方药品:需在医生指导下,凭医生处方才能出售或供应给消费者的药品。因为没有适当安全保证下使用,这类药品会有毒性危险或可能产生生理或心理上的依赖性。 1.3.2 非处方药:无需医生处方即可出售或供给消费者的药品,只需消费者按照标签的规定,如用法、用量与注意事项,就能安全使用的药品。这些药品除在公共药房(community pharmacy)出售外,还可以从其他零售商店得到,某些药品还可以通过自动售货机销售。 1.4药品管理有关制度 药品是用于防病治病、康复保健的特殊商品。做好药品的管理工作,不仅关系 到安全、有效,而且对药剂人员而言,还有严肃的法律责任。 1.4.1药品的三级管理:按照“定额管理、合理使用、加速周转、保证供应”的原则和“核定收入,超收上缴”的管理办法,根据药品的特点,目前医院实行三级管理。 1.4.2处方管理制度:处方是调配、发药的书面依据,也是统计工作量、药品消耗量和经济金额的原始材料,具有法律、技术和经济等多方面的责任。 第二章 药房药品的管理 2.1药房管理的必要性 在市场竞争日趋激烈的前提下,医院的药房作为医院的药品经营单位,在医院的经济活动中,起着举足轻重的作用。据不完全统计,昆明市医院药房经济收入几乎占全院收入的40%~50%,药房经济的好坏,直接影响着医院的生存和发展。因此,搞好药房的管理和经营是十分重要的。 2.2 药房方面对药品的管理 包括: ①药房建立“药品金额登记簿”,借方记载调人领取(购进)、盘盈及调价增加的药品金额;贷方记载当月销售、盘亏及调价减少的药品金额,月终借方余额反映为药房库存的药品金额; ②药房领取(购进)药品时,经领人按照“药品材料调拨单”清点药品品种、数量、金额无误后,在“调拨单”上签章,记入药房“药品金额登记簿”; ③药房工作人员(统计人员)每天必须根据已结算处方按“现金处方”、“记账及公费处方”分类整理汇总金额,记入药房“药品金额登记簿”,作为药房当日的药品消耗。 2.3 财务科方面对药品的管理 包括: ①财务科根据药房调入领取(购进)的“药品材料调拨单”审核无误后,记入总帐科目“药房药品”的借方,同时按批零差价率计算出差价增加数,记入“药品进销差价”的贷力; ②根据药房每月销售、消耗的药品由财务科稽核后,据实报销、结算,按照药品每月实际消耗数列报药品支出,并记入总账科目“药房药品”贷方,同时按批零差价率计算出差价减少数,记录“药品进销差价”的借方,做到实耗实销,账物相符; ③1个月终了,由会计人员根据总账科目“药房药品”借方余额,核对药房“药品金额登记簿”的借方余额是否一致。 2.4 药房药品盘存 由财务、药房人员共同参加本月的药房药品盘存,根据药房“药品金额登记簿”借方余额,检查药房库存药品是否相符;通过盘存。分别调整“药房药品”和“药品金额登记簿”借方余额,并分析盘盈、盘亏因素,采取相对应措施。 2.5医院药品管理具体任务 (1)采购药品,做好药品的保管、供应及帐卡登记(2)调配处方,摆发药品 (3)配合临床,积极研制中西药品的新制剂 (4)药品的质量管理,建立、健全的监督和检验制度 (5)开展临床药学、用药监护工作,做好药物咨询、治疗药物检测、药效学、药代动学研究 (6)配合临床做好新药临床试验以及药品疗效再评价工作 (7)药物不良反应监测工作,及时向药品不良反应监测中心报告并提出需要改进或淘汰药物品种的意见 (8)开展用药趋势分析及药物经济学研究 (9)承担医学院校的教学任务、在职人员培训和基层单位技术指导工作 2.6医院药剂科各主要部门药品管理 2.6.1药库管理 1)药品字典管理:主要负责药品的品种、规格、剂型、含量、别名等信息的定义,是整个医院信息系统药品信息的基础 2)药品价格管理:新药价的设定和已有药品价格的调整 3)药品库存管理:库存初始化,出入库管理、库存盘点、采购计划、出入库统计等功能 2.6.2住院药房管理 药品库存管理:基本同药库 处方录入模块:完成处方领药;精、麻、毒、放贵重药品及一些外来处方处理 医嘱摆药处理:负责长期医嘱和临时医嘱摆药单的生成处理 可以管理多个临床药局(住院药房)或病区药房的药品回收、支、存工作,使用单位(科室)的药品库存、出、入帐目都是互相独立的,系统将根据使用单位(科室)的设置对该单位(科室)下的帐目进行管理 科室药柜管理:负责对科室的小药柜的库存量、消耗量、请领量进行监督控制 2.6.3门急诊药房管理 药品库存管理:基本同药库 处方发药:接受已收费处方(来自于门急诊收费或医生工作站),人工核对无误后,调配并确认出库处理 处方录入:负责未经门急诊收费处理的其他处方录入和药品出库处理 第三章 药房药剂人员的管理 3.1 加强药剂人员的管理和培养 随着科学技术的发展,医院的药剂工作已由过去被动的、简单的药品供应、调剂、制剂向着现代化的药品供应、标准化、规范化、科学化管理的制剂生产、药品检验等的基本任务转化。要实现药剂工作职能转化、必须有一支政治素质好、业务技术精的药学人员队伍,因此对医院药学人员的管理、培养与使用直接关系到药房工作的发展与提高。 由于历史原因及传统的重医轻药的旧观念的影响,造成医院中药学大学本科、大专、中专毕业生所占比例较小,大量的非药剂人员从事药剂工作,导致药剂工作远远达不到客观发展的需要,而解决这一矛盾的关键是必须抓好药剂人员的管理、使用和培养工作,建立药学人员在职教育制度,举办各类型药学专业培训班,召开多种形式专业学术会议,丰富药学人员的知识面,掌握新技术;针对各类企业技术人员具体情况,采取全脱产和半脱产学习或参加短训班,提高他们业务水平,并建立技术考核制度;对于成绩不合格者进行必要的补救后仍不理想的,应调换其工作。医院领导也应尽快扭转重医轻药的传统观念,针对当前药剂人员管理方面存在着使用不当、职责不清、内耗严重的现象,严格执行各级药剂人员岗位责任制,建立岗位责任制奖罚制度,藉此调动工作人员的积极性。 3.2 建立严格的规章制度 建立严格的规章制度是管理好药房工作的根本保证,取错药、打错针、失效药品如霉变的药品发给患者造成不良后果等,这是我们在日常生活中常常听人说起的事情。 为什么会出现这些问题,归根结底是: ① 领导存在着传统的重医轻药的思想观念,平时对药剂工作重视不够; ② 药剂人员缺乏学习,“药品法”的观念不强; ③ 药剂人员业务素质低。要改变这一状况,领导必须按照《中华人民共和国药品管理法》建立一套完整的切实可行的“药房规章制度”,加强药剂人员的学习,使人人对药品有“法”的观念,严格按照“药房规章制度”去做,对那些有法不依、有章不循的药剂人员要严肃处理。 结论 药品不同于一般商品,它的根本目的在于确保疗效,保证质量,起到救死扶伤的作用。在此基础上,要考虑到药品利润,进行成本核算。 目前,药房已经成为具有多种职能的部门,既要保证临床药品供应,又要对药品更新换代合理用药提出意见,还要进行成本核算,以求最大利润。任何一家医院的药房,都要与市场发生买和卖的关系,药房购进的各类药品,通过药房窗口投给患者,这就需要药剂人员作好药品的临床宣传,否则新进药品由于宣传不够造成使用率低就成了积压药品,这就影响了药房的经济效益。同时一定要坚持从国营主渠道进货,坚决杜绝从非正式渠道进货,杜绝为了索取回扣损公肥己的非法勾当。 通过对医院药房科学的管理,既保证了患者用药,又加快了资金周转,促进了医院社会效益和经济效益的提高和医疗卫生事业的发展。 参考文献 [1]张合明.门诊药房的网络化管理[J].医学信息,2005,18(1):29-30.[2]张彤.平台化的HIS-医院信息系统的发展方向[J].医疗设备信息,2004,(7):21-22.[3]邵瑞琪, 周洪, 左根永.执业药师在药品分类管理中的作用[J].药学教育,2006,22(2):58.[4]李翔,邵蓉.优良药房工作规范是药学服务的保障[J].药学服务与研究, 2005,5(3):317.[5]米亚玲, 梁新民.强化药房工作规范的有效途径[J].药学服务与研究,2002,4(6):415.[6]华东医院,药剂科介绍,2008,286-342. 医院药房管理系统 1.需求分析 1.1概述 药品管理主要是药品管理员对药品库存进行的相关管理。在该管理系统中,药品管理员主要需要对药品的库存信息进行记录,查询和统计功能。药品管理是医院日常管理事务中的重要内容,药品管理过程的准确性和高效性至关重要。利用计算机高效,准确的特点能够很好的满足医院药品管理过程的需求,在保证管理过程准确性的基础上,最大程度地提高管理效率。目前,大多数医院都已采用医院管理系统进行医院药品管理业务的计算机管理。医院药品管理系统主要是为医院药品管理人员提供药品信息的记录,查询和统计功能,为管理人员提供重要的信息参考。通过医院药品管理系统,管理人员可以对医院药品的入库,出库以及库存信息进行管理,系统提供方便的药品管理信息的查询和统计功能,能够满足医院药品管理人员的基本管理需求。1.2 可行性分析 本次课程设计主要是为医院药品库存管理系统设计合理的数据库,基于所研究的课题是我们日常生活中比较常接触的,所以从以下三个方面对其可行性进行分析: 经济可行性:本次课程设计主要在自己的电脑上开发,而且从老师给的初始条件结合平时自己对这个业务的理解,而且我们获取需求的时候有很多人帮 助。所以在完成这次课程设计的时候基本上没有什么经济开销。所以就经济可行性而言,我就的我也有能力独立完成这次课程设计。技术可行性:本次课程设计的核心问题是要为药品管理系统设计一个理的数据库。就我学习的数据库课程中,重点讲述的就是如何设计和实现一个合理的数据库,而且我们在数据库课程学习的过程中做过实现一个简单的数据库的试验,因此这方面有一定的基础。这次课程设计主要添加的内容是需要我们自己去进行需求分析,自己从客户那里获取相应的功能需求。这一方面的知识我在软件工程和软件需求中都有学习,所以是可行的。另一方面,本次课程设计可以使用 1 比较简单的jsp为数据库设计相 应的前台界面。所以就技术而言,可以完成这次课程设计.操作可行性:本次课程设计所做的是药品管理系统,主要完成的功能是为医院药品管理人员提供药品信息的记录,查询和统计功能,为管理人员提供重要的信息参考。鉴于药品管理员对药品信息管理已经很熟悉,而且本次课程设计出的数据库的操作非常简单,所以操作可行性也没有什么问题.综上所述,我觉得我有相应的技术和能力独立完成本次课程设计,而且我所设计出的数据库功能齐全,简单明了,方便客户使用。所以我认为本次 课程设计是可行的。1.3用户需求 本次课程设计的主要任务是为药品管理系统设计一个合理的数据库,在实现该系统的过程中,必须满足该系统的基本目标:医院药品管理人员提供药品信息的记录,查询和统计功能,为管理人员提供重要的信息参考。我所设计的药品管理数据库正是基于这个目标而开发的。在实现该系统的同时,也相应的锻炼了我们的动手能力,让我们有机会将课本上的知识运用到实际中来,加深了我们对知识的理解,我认为这也是该系统的目标之一。该系统的主要任务是为了完成医院药品管理人员提供药品信息的记录,查询和统计功能,为管理人员提供重要的信息参考。但是基于该系统的功能比较简单,所以可以在此基础上相应的增加一些相关的功能:当管理员发现某类药品的库存数量低于某个标准时,管理员要联系供应商购买相应的药品来补充该药品的库存;当医院的某个部门缺少某类药品时,需向管理员申请提取相应的药品时,管理员可以根据该药品的库存情况为该部门分配相应数量的药品。2.开发和运行环境 2.1 网络逻辑结构 本次课程设计采用B/S模式来实现,B/S模式是三层C/S模式的一种实现方式,其结构为:浏览器/WEB服务器/数据库服务器。其中表示层(浏览器)负责处理用户的输入和向客户输出。功能层(WEB服务器)负责建立数据库的连接,2 根据用户的请求生成访问数据库的SQL语句,并把结果返回给客户端。数据层(数据库服务器)负责实际的数据库存储和检索,响应功能层的数据处理请求,并将结果返回给功能层。在B/S模式中,用户要运行某个应用程序时只需在浏览器上键入相应的网址。调用WEB服务器上的应用程序并对数据库进行操作完成数据处理工作,最后将结果通过浏览器返回给用户。供 应商 药品管理员 药品管理数WEB服务器 据库(mysql)(Tomcat) 医生 所以用户的操作非常简单,而且客户端要求的配置也不高,这2.2 软件支撑环境及开发工具 本次课程是我选择这中模式的主要原因。设计主要是设计一个合理的数据库,而我的电脑上安装了Mysql,所以可以在自己的电脑上完成本次课程设计,运行环境为WindowsXP,而且和数据库的联系也比较简单,方便.考虑使用JSP来完成前台的设计。所以涉及到的工具为:Mysql, Eclipse,WINDOWSXP.3.概念结构设计 3 3.1总体DFD 药品管理系统中的主要功能是在药品入库和药品出库时,方便药品管理员对药品入库信息,药品出库信息和药品库存信息进行查询和统计的功能。所以该系统主要是对药品入库管理和药品出库管理进行设计的,所以设计基于药品入库管理和药品出库管理的数据流图如下: 药品入库单 供应 供应商 药品库存信息 提取 部门 药品出库单 3.2功能结构 本次课程设计主要是针对医院药品管理人员设计的,主要是为了方便药品管理人员在进行购买药品时药品入库,和提出药品时药品出库时对药品进行记录查询和统计。所以本次课程设计主要分成4个大的功能模块:用户管理,药品的入库,药品出库,库存清点: 4 医院药品管理系统 用药药库户品品存管供提清理 应 取 点 3.2.1用户管理 该课程设计中主要有2类用户,一类是系统管理员,一类是药品仓库管理员。其中由于该数据库主要针对药品管理员而设计,所以在这里主要讲述药品管理员的功能需求:药品管理员主要是负责药品的入库和药品的出库管理和库存的清点工作。 管理员 用户管理 供应商 医生 5 3.2.2供应药品 供应药品主要是供应商为药品仓库提供药品补给,其中主要要求药品管理员对供应清单进行记录,而后药品入库后,会对库存的药品产生一定的影响,药品管理员需对相应的变化对药品记录做相应的改变 填写供应单 保存供应单 供应药品 编辑入库药品信息 药品入库 3.2.3提取药品 提取药品主要是某个部门申请提取药品,主要要求药品管理员对提取单做相应的修改和记录。而后药品出库后,会对库存的药品产生一定的影响,药品管理员需对相应的变化对药品记录做相应的改变 填写提取单 保存提取单 提取药品 编辑出库药品信息 药品出库 6 3.2.4库存清点功能 该功能主要是针对药品的现有库存信息进行查询和统计功能,在每次进行药品入库和药品出库后药品的库存信息将有所改变,所以需要对库存的药品进行清点功能,提醒药品管理员进行药品入库或其他操作。库存信息查询 库存信息浏览 库存清点 出库信息查询 入库信息查询 3.3 局部视图设计 3.3.1数据字典 数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果,并且数据字典的内容将在数据库的设计过程中不断的修改、充实和完善。数据字典有多种表示方法,在这里,我使用的书上介绍的,一般包含:数据项,数据结构,数据流,这几个部分。库存药品的数据项描述: 数据项名 数据项含义 类型 长度 约束 药品编号 药品的编号 int 2 每个药品有一个唯一的编号 仓库编号 仓库的编号 int 2 必须与某个仓库编号一至 药品名称 药品的名称 varchar 20 必须是炒菜,汤,煲类之一 药品种类 药品的种类 varchar 10 药品属于中药或西药之一 7 单价 药品的单价 int 5 必须大于0 生产日期 输入必须符合日期的格式 药品的生产日datetime 期 过期日期 药品的过期日datetime 过期日期必须大于生产日期 期 库存数量 药品的数量 int 10 必须大于0 供货商数据项描述: 数据项名 数据项含义 类型 长度 约束 int 2 每个供货商有一个唯供货商编号 供货商编号 一的编号 名称 名称 VARCHAR 20 电话 供货商电话 bigint 8 地址 供货商地址 VARCHAR 20 管理员的数据项描述: 数据项名 数据项含义 类型 长度 备注 int 2 每个管理员有唯一一个管理员编号 管理员的编编号 号 VARCHAR 20 姓名 管理员的性VARCHAR 10 性别必须是男或女 性别 别 年龄 厨师的年龄 int 2 0到60之间,60岁退休 仓库编号 仓库的编号 int 2 必须与某个仓库编号一至 药品仓库的数据项描述: 数据项名 数据项含义 类型 长度 备注 8 仓库编号 仓库的编号 int 2 每个仓库有唯一一个编号 地址 仓库的地址 VARCHAR 20 地址不能为空 电话 仓库的电话 BIGINT 8 电话号码不能为空 面积 仓库的大小 int 4 必须大于0 部门数据项描述: 数据项名 数据项含义 类型 长度 约束 部门编号 部门编号 int 2 每个部门有一个唯一的编号 名称 名称 VARCHAR 20 电话 供货商电话 bigint 8 3.3.2 实体-联系图 根据上面的功能需求分析过程可以看出,可以将本系统划分成3个大的功能模块,所以可以将本系统画出3个局部E—R图,如下所示: 由于本次课程设计中没有涉及到前台的操作,所以这里画出药品管理员这个实体和该实体的属性: 管理员编性别 名称 年龄 号 药品管理员 供应药品子系统的分E—R图: 9 n 药品 库存 供应商编号 1 名称 供 n 货 1 药品仓库 供应 地址 商 m 电话 管理 1 药品管理员 供应标识 时间 供应量 提取药品子系统的分E—R图: 10 药品管理员 n 提取标识 提取时间 库存 1 提取量 1 药品仓库 提取 1 部门编号 n 部门名称 管理 部门 m 电话 药品管理员 11 药品管理系统E—R图: 供应 标识 提取标识 时间 时间 提取量 供应量 m m 供应 药品 提取 n n n 库存 供应商 部门 1 药品仓库 1 管理 n 药品管理员 4.逻辑结构设计 本次课程设计中的逻辑设计采用关系模型来设计,根据概念设计中的E-R图,将图中的实体和实体间的关系转化成关系模式,在将E-R图转化成关系模型的时候,由于在我所设计的E-R图中存在实体间的联系,根据课本中提到的情况: 药品管理员(管理员编号,名称,性别,年龄,仓库编号)12 药品仓库(仓库编号,地址,电话,面积)库存药品(药品编号,仓库编号,药品名称,药品种类,库存数量,单价,生产日期,过期日期) 供应商(供应商编号,名称,地址,电话) 供应(供应标识,供应商编号,药品编号,仓库编号,时间,供应量,单价)13 部门(部门编号,部门名称,电话) 提取(提取标识,部门编号,药品编号,仓库编号,时间,提取量) 5.应用系统界面设计 在把数据库设计完成之后,转而投入了实现了前台界面与后台数据库的交互,我此次用的是JSP实现的一个小型界面,这正是B/S模式的体现,通过程序与数据库连接,可以对数据库里面的信息进行修改,删除,查看等操作。1.药房管理员工作流程如下图: 14 输入相应的编号,系统会与数据库取得联系,判断该用户是哪类用户,若输入10则表示是药房管理员: 选择要进行的操作,按提交,这里有三种操作供选择,这里选择查看库存信息: 2.供应商的工作流程如下: 输入编号20表示是供应商,进入界面: 输入响应信息后,显示此次的供应单并计算总价: 3.医生提取药品的工作流程: 输入编号30表示是医生,进入界面: 输入相应信息后,点显示此次的 提取单并计算价钱: 6.经验总结 在这一周的课程设计实习过程中,我的收获良多。在一周的时间中,其实画在建立数据库这个环节上的时间不是很多。在学习数据库这门课程的时候,我记得书上有讲过:“数据库设计的特点之一是三分技术,七分管理,十二分基础数据”。在这一周的课程设计中我深有体会,在开始的需求分析和基础数据的获取阶段我差不多花了3天的时间来收集整理材料,由于我对于医院的药品管理这个领域比较陌生,所以花了比较长的时间来了解这个行业的情况和信息。当收集的资料差不多之后,接下来的任务就比较轻松:因为在需求分析阶段了解可以将整个系统中划分成几个实体,每个实体有什么属性,以及实体和实体之间有什么联系。所以在接下来的概念设计中的E—R图的设计就比较简单,而且在画E—R图的时候就可以大致知道整个系统需要划分成几个基本表来实现,所以逻辑设计阶段也比较轻松,至于物理阶段的设计,使用的是MYSQL数据库,是出于操作简单,运行速度快的特点选用的。在把数据库设计完成之后,转而投入了实现了前台界面与后台数据库的交互,在这里我使用的是JSP语言,起初对JDBC只有概念上的认识,通过这次设计,我对 JDBC 中的ResultSet,Statement,PreparedStatement等有了很大认识,主要是在设计的时候对出错原因进行了分析,使得自己对JDBC的理解更加清晰。在本次课程设计过程中,我最大的体会就是了解了一个具体的数据库设计的过程,以及每个过程之间的紧密联系和他们不同的重要性。就像前面提到的一样,在书上看到“数据库设计的特点之一是三分技术,七分管理,十二分基础数据”这句话的时候,并没有引起我什么注意,可是在这次课程设计过程中,我深深的体会到其实要建立数据库中的几个基本表其实很容易,难的是从我所不熟悉的现实领域收集提取建立数据库所需要的基本数据。在这次课程设计中,我了解 17 到将书本上的知识运用到实际中的时候,会使我对原有的知识有更深层次的理解以及掌握。而且通过这次课程设计,我掌握了为某个具体系统建立数据库的流程和方法,肯定会对我将后的学习和实践有很大的帮助。7.参考文献 [1]王珊 编著 数据库系统简明教程,高等教育出版社 [2]王智学 等编著 ROSE对象建摸方法与技术,机械工业出版社 18 医院药房效期药品管理 对效期药品进行管理,是药房药品管理中的一个重要工作,对保证患者用药安全有效,减少医院经济损失起到重要作用。笔者就本院的做法介绍如下:指定专人负责 建立效期药品登记薄,对药房领入的药品,按品名、规格、批号、效期、生产厂家,做到近期失效的先调配,远期的后调配,随时检查药品的外观性状,一旦发生变色、受潮、裂片、破损等不正常现象,即使在有效期内也应停止使用。建立用药计划 经常与临床联系,了解药耗情况,做到量出而进,避免积压;对快到期的药品,与临床合作,在有效期内用完,减少药品浪费,降低经济损失。定期进行检查 药品有效期的月盘查制度 我院药房坚持药品单品种管理制度,实行各药房每月盘存措施“工作人员定柜!定品种进行盘存,盘存中除要求单品种药品帐物相符外,重要的一项工作就是详细查看药品的有效期,对发现近效期药品,即有效期在6个月以内(含6个月)的药品,要详细填表记录其品名!规格!剂型!数量!批号!有效期!生产厂家等,由负责药品有效期管理的药师核查!汇总,上报药剂科主任,并协调处理”这样既定期查看药品的有效期,又没有重复工作,方便易行建立有效期药品专人负责制 选择业务精!责任心强的药学专业人员负责药品的有效期管理,近效期药品的定期检查!统计筛查!登记上报工作和病区药房药品请领工作,根据每月盘存时工作人员盘查出的近效期药品信息,上报当月过期药品和近效期药品的品名!数量!批号!有效期情况等,报表一式两份,提出处理意见后,一份上报科主任,以便药剂科综合分析!分类处理;一份留存备查"同时根据以上数据负责调整每周的请领计划和近效期药品的协调使用。 九、源程序代码 #include class population { private: int maxnum;//人口户籍编号最大值r int sno;//编号 char name[20];char sex[2];int age;char birth[10];//出生日期 char folk[2];//民族 char mianmao[10];//政治面貌 char department[10];//村组名 char speciality[10];//家庭门牌号 char address[30];//人口家庭详细地址 public: population();~population();void enter();//户籍信息录入函数 void display();//户籍信息输出函数 void setsno(int temp);int getsno();char *getname();char *getspeciality();void read();void write();void change();};population::population(){} population::~population(){} int population::getsno(){return sno;} char *population::getspeciality() 齐齐哈尔大学C++程序设计课程设计用纸 {return speciality;} void population::setsno(int temp){sno=temp;} char *population::getname(){return name;} void population::display(){ cout< char ch; cout<<“ 请输入要修改人员的信息”< cout<<“*******************************************************”< cout<<“姓名是不是要改写(Y/N)”< cin>>ch; if(ch=='Y'||ch=='y') { cout<<“请输入新姓名:”< cin>>name; } cout<<“输入性别(男(n),女(m)):”< cin>>sex; if(strcmp(sex,“n”)!=0&&strcmp(sex,“m”)!=0) { cout<<“错误请重新输入!:”< cin>>sex; } cout<<“输入年龄:”< cin>>age; while(age<1||age>=110) { cout<<“错误请重新输入!”< cin>>age; } cout<<“输入出生日期:”< cin>>birth; cout<<“输入民族:”< cin>>folk; 齐齐哈尔大学C++程序设计课程设计用纸 cout<<“出生日期:”< cin>>birth; cout<<“年龄:”< cin>>age; while(age<1||age>=110) { cout<<“错误请重新输入!”< cin>>age; } cout<<“政治面貌类别(党员(a),非党员(b)):”< cin>>mianmao; while(strcmp(mianmao,“a”)!=0&&strcmp(mianmao,“b”)!=0) { cout<<“错误请重新输入!”< cin>>mianmao; } cout<<“民族:”< cin>>folk; cout<<“村组名:”< cin>>department; cout<<“家庭门牌号:”< cin>>speciality; cout<<“家庭详细地址:”< cin>>address;} //主程序部分: #include void read(){ ifstream afile(“population.txt”,ios::nocreate); afile.read((char*)&pop,sizeof pop);} void write(){ ofstream bfile(“population.txt”,ios::app); bfile.write((char*)&pop,sizeof pop); 齐齐哈尔大学C++程序设计课程设计用纸 if(i==pop.getsno()||strcmp(pop.getname(),ch1)==0|| strcmp(pop.getspeciality(),ch2)==0) { cout<<“你要查找的人员信息如下:”< cout< “年龄”< setw(8)<<“村组名”< pop.display(); i=0; k=0; m=1; return; } } if(m!=1)cout<<“没有找到这名人员的信息!”< } void omit()//删除函数 { int ch; cout<<“请输入要删除的人员的编号:”< cin>>ch; ifstream in(“population.txt”,ios::nocreate);//打开文件1,读数据 ofstream out(“population1.txt”,ios::trunc);//打开文件写数据到文件2 while(in)//循环读数据 { if(in.read((char*)&pop,sizeof pop))//读后存在pop变量里,读pop这么大小 if(ch!=pop.getsno())// 如果读出来的数据的pop取sno不等于刚才输入的学号,将这组数据写入文件 { out.write((char*)&pop,sizeof pop); } else cout<<“人员已成功删除!”< } in.close();//关闭文件 out.close(); ifstream ifile(“population1.txt”,ios::nocreate);//将文件2的内容弄到文件1上 ofstream hfile(“population.txt”,ios::trunc); while(ifile) { if(ifile.read((char*)&pop,sizeof pop)) 齐齐哈尔大学C++程序设计课程设计用纸 } void menu(){ cout<<“ * 人口户籍信息管理系统 *”< 0.退出管理系统 ”< cout<<“ 1.人员信息录入 ”< cout<<“ 2.人员信息查询 ”< cout<<“ 3.人员信息删除 ”< cout<<“ 4.人员信息修改 ”< cout<<“ 5.人员信息输出 ”< cout<<“ 请选择以上操作(0=======5)”< int ch; while(1) { cin>>ch; switch(ch) { case 0:exit(0);menu();break; case 1:input();menu();break; case 2:search();menu();break; case 3:omit();menu();break;case 4:change();menu();break; case 5:output();menu();break; default:menu();cout<<“输入无效请重新输入(0========5)”< } } } int main(){ int count=0;char password[5]; //密码 char name[11]; //用户名 齐齐哈尔大学C++程序设计课程设计用纸 cout<<“ 谢谢使用-----人口户籍信息管理系统!! ”< 再见! ”< cout<<“*******************************************************************************”< 保存文件 药品查询
第二篇:医院药房药品管理
第三篇:医院药房管理系统
第四篇:医院药房效期药品管理
第五篇:C++程序设计课程设计人口户籍信息管理系统源程序