医院信息管理系统(Python与MySQL数据库的连接与相关增删改查操作)zjucxl

医院信息管理是一项琐碎、复杂而又十分细致的工作,这关系到医院体系能否运行起来这一关乎国民健康水平的重大问题。我们只有利用好了医院中每个医生、护士的各项资源,才能使得医院系统能够有序而条理的进行,更好的安排有限的医生和护士资源,安排患者就诊。同时,在设计医院信息管理系统的同时也兼顾了药品的管理,使得我们在安排各项工作的时候能够更加的清晰明了,其可以与药房管理系统和挂号管理系统相连接,更好的实现医院的管理功能

2.数据输入功能

2>医生实体。包括医生编号,医生姓名,职务,性别,年龄…

3>病房实体。包括房间号,房间地址…

4>患者实体,包括患者编号,患者名,性别,年龄…

5>护士实体。包括护士编号,护士姓名,性别,年龄…

6>药品实体。包括药品编号,药品名,供应商,库存,价格…

7>病房从属科室关系。

8>科室下属医生关系。

9>患者的主治医生关系。包括疾病…

12>患者使用药品关系。包括数量…

根据需求分析结构,构建E-R图,如图2-1所示。

3逻辑结构设计

1.医生(医生编号,姓名,性别,年龄,职务,科室编号)

3.病房(病房编号,病房地址,所属部门号)

5.护士(护士编号,姓名,性别,年龄)

6.药品(药品编号,药品名称,药品厂家,药品库存,药品售价)

8.用药记录表(患者编号,药品编号,用药数量)

1.医生表的创建:

createtabledoctor(dnochar(3)primarykey,dnamechar(20),dutychar(20),dsexbit(1),dageintcheck(page>=0andpage<=150),dpnochar(1),foreignkey(dpno)referencesdepartment(dpno));

插入数据:

insertintodoctorvalues("101","李小明","中级医师",1,18,"1");

2.部门表的创建:

createtabledepartment(dpnamechar(10)notnullunique,dpnochar(1)primarykey,dpadrchar(20),dptelchar(20));

insertintodepartmentvalues("内科","1","一号楼514","04512340987");

3.病房表的创建:

createtableroom(rnochar(10)primarykey,radrchar(20)unique,dpnochar(5),foreignkey(dpno)referencesdepartment(dpno));

insertintoroomvalues("1101","一号楼101","1"),;

4.患者表的创建:

createtablepatient(pnochar(20)primarykey,pnamechar(20)notnull,psexbit(1),pageintcheck(page>=0andpage<=150),dnochar(3),rnochar(10),illnesschar(20),startdatedate,predictenddatedate,foreignkey(dno)referencesdoctor(dno),foreignkey(rno)referencesroom(rno));

insertintopatientvalues

("0001","赵一",1,20,"101","1101","左脚踝粉碎性骨折","2018-12-20","2019-01-28");

5.护士表的创建:

createtablenurse(nnochar(2)primarykey,nnamechar(10)unique,nsexbit(1),nageint);

insertintonursevalues("01","黎晓蓓",0,21);

6.药品表的创建:

createtabledrug(dgnochar(4)primarykey,dgnamechar(20),dgprochar(20),dgnumintcheck(dgnum>=0),dgpriceintcheck(dgprice>=0));

insertintodrugvalues("0001","注射用苄星青霉素","哈尔滨制药厂",123,24);

7.护理记录表的创建:

createtablePN(pnochar(20),nnochar(2),contentchar(20),timedatetime,foreignkey(pno)referencespatient(pno),foreignkey(nno)referencesnurse(nno));

insertintoPNvalues("0001","01","康复治疗1","2018-12-2213:12:11");

8.用药记录表的创建:

createtablePD(dgnochar(4),pnochar(4),numintcheck(num>=0),foreignkey(dgno)referencesdrug(dgno),foreignkey(pno)referencespatient(pno),primarykey(dgno,pno));

insertintoPDvalues("0001","0001",1);

数据控制部分采用Python连接MySQL数据库来操纵数据,其主要步骤为:

1.增:

1>增加科室

sql="INSERTINTOdepartment(dpname,dpno,dpadr,dptel)VALUES('%s','%s','%s','%s')"

2>增加医生

sql="INSERTINTOdoctor(dno,dname,duty,dsex,dage,dpno)VALUES('%s','%s','%s',%d,%d,'%s')"

输入医生的编号,姓名,性别,职务,年龄和所属部门编号进行匹配SQL语句。

3>增加病房

sql="INSERTINTOroom(rno,radr,dpno)VALUES('%s','%s','%s')"

输入病房的编号,病房地址和所属部门编号进行匹配SQL语句。

4>增加患者

sql="INSERTINTOpatient(pno,pname,psex,page,dno,rno,illness,startdate,predictenddate)VALUES('%s','%s',%d,%d,'%s','%s','%s','%s','%s')"

5>增加护士

sql="INSERTINTOnurse(nno,nname,nsex,nage)VALUES('%s','%s',%d,%d)"

输入护士的编号,姓名,性别和年龄进行匹配SQL语句。

6>增加药品

sql="INSERTINTOdrug(dgno,dgname,dgpro,dgnum,dgprice)VALUES('%s','%s','%s',%d,%d)"

输入药品的编号,名称,产地,库存和价格进行匹配SQL语句。

7>增加用药记录

sql="INSERTINTOPD(dgno,pno,num)VALUES('%s','%s',%d)"

输入药品的编号,患者的编号和用药数目进行匹配SQL语句。

8>增加护理记录

sql="INSERTINTOPN(pno,nno,content,time)VALUES('%s','%s','%s','%s')"

2.删:因为部门,医生及病房的删除过程比较复杂,故不予考虑。

1>删除患者

输入患者编号,删除其护理记录,用药记录和患者记录。

sql="DELETEFROMPNWHEREpno='%s'"

删除护理记录

sql="DELETEFROMPDWHEREpno='%s'"

删除用药记录

sql="DELETEFROMpatientWHEREpno='%s'"

删除患者记录

2>删除护士

输入护士编号,删除其护理记录,和护士记录。

sql="DELETEFROMPNWHEREnno='%s'"

sql="DELETEFROMnurseWHEREnno='%s'"

删除护士记录

3>删除药品

输入药品编号,删除其用药记录和药品记录。

sql="DELETEFROMPDWHEREdgno='%s'"

sql="DELETEFROMdrugWHEREdgno='%s'"

删除药品记录

4>删除护理记录

输入护士编号和患者编号,删除护理记录。

sql="DELETEFROMPNWHEREpno='%s'andnno='%s'"

5>删除用药记录

输入药品编号和患者编号,删除用药记录。

sql="DELETEFROMPDWHEREpno='%s'anddgno='%s'"

3.改:

1>修改药品库存

输入药品编号来修改药品库存。

sql="UPDATEdrugSETdgnum=%dWHEREdgno='%s'"

输入药品编号来修改药品售价。

sql="UPDATEdrugSETdgprice=%dWHEREdgno='%s'"

输入药品编号和患者编号来修改患者使用药品数量。

sql="UPDATEPDSETnum=%dWHEREdgno='%s'andpno='%s'"

sql="UPDATEpatientSETpredictenddate='%s'WHEREpno='%s'"

输入患者编号来修改患者房间号码。

sql="UPDATEpatientSETrno='%s'WHEREpno='%s'"

4.查:这里的查询都是用的存储过程写的,故在这里直接写存储过程及在MySQL环境下的call调用过程。

1>查询医生姓名及部门createproceduresl_department(inddnochar(4))beginselectdname医生姓名,dpname科室名fromdepartment,doctorwheredepartment.dpno=doctor.dpnoanddoctor.dno=ddno;end;callsl_department("302");

2>查询科室的每个患者及其主治医师createproceduresl_department_patientname(inddpnochar(1))beginselectpname患者名,patient.pno患者编号,dname主治医师姓名,doctor.dno主治医师编号frompatient,doctor,departmentwherepatient.dno=doctor.dnoanddepartment.dpno=doctor.dpnoandddpno=department.dpno;end;callsl_department_patientname("1");

3>查询科室就诊人数createproceduresl_department_patientnum(inddpnochar(1))beginselectcount(*)科室患者数frompatient,doctor,departmentwherepatient.dno=doctor.dnoanddepartment.dpno=doctor.dpnoandddpno=department.dpno;end;callsl_department_patientnum("2");

4>查询患者的主治医生及其职务科室

createproceduresl_doctor(inppnochar(4))beginselectdoctor.dname医生姓名,doctor.duty职务,dpname科室名fromdoctor,departmentwheredepartment.dpno=doctor.dpnoanddnoin(selectdnofrompatientwhereppno=pno);end;callsl_doctor("0001");

5>查询医生主治的患者数量createproceduresl_doctor_patientnum(inddnochar(4))beginselectcount(*)医生主治的患者数量frompatientwherepatient.dno=ddno;end;callsl_doctor_patientnum("102");

6>查询患者用药情况createproceduresl_drug_patient(inppnochar(4))beginselectpname患者姓名,illness病症,dgname药物名,num数量frompatient,drug,PDwherepatient.pno=pd.pnoanddrug.dgno=pd.dgnoandpd.pno=ppno;end;callsl_drug_patient("0001");

7>查询患者应缴金额createproceduresl_money(inppnochar(4))beginselectsum(num*dgprice)应缴金额frompd,patient,drugwherepd.pno=patient.pnoanddrug.dgno=pd.dgnoandpatient.pno=ppno;end;callsl_money("0023");

8>查询科室的病房createproceduresl_room(inddpnochar(1))beginselectdpname科室名,rno病房编号,radr病房地址fromroom,departmentwhereddpno=room.dpnoandroom.dpno=department.dpno;end;callsl_room("1");

9>根据护士编号查询护士姓名createproceduresl_nurse(innnnochar(2))beginselectnno护士编号,nname护士姓名fromnursewherenno=nnno;end;callsl_nurse("05");

11>以患者编号查询室友createproceduresl_patient_one_room(inppnochar(4))beginselectA.pname,A.pnofrompatientAwherernoin(selectB.rnofrompatientBwhereB.pno=ppno);end;callsl_patient_one_room("0002");

12>查询同一病房的患者createproceduresl_room_patient(inrrnochar(4))beginselectpno,pnamefrompatientwhererno=rrno;end;callsl_room_patient("1407");

1.增

向医生表中加入一个工号为104,姓名为李来文的医生,再查询是否增加了该条记录。

图4.13:增加界面

2.改

先查询1号患者所要支付的钱,再将药品价格上调后,查询1号患者所需支付的钱,不同则为修改了。

图4.14:修改界面

如上图:修改前为1883,修改后为1889,说明数据发生了修改。

3.删

先查询8号护士是否存在,看到存在后将其删了,再次查询看8号护士是否存在。

THE END
1.2023年上半年在绵阳的中央省属科研院所及高等院校公开引进人才...1.负责项目的系统设计与集成、技术推广等; 2.配合开展用户沟通、需求调研、需求分析、竞标方案等项目争取和实施前验证工作; 3.负责项目中硬件电路相关的文档编制、设计开发及管理、生产协调、问题归零等项目实施工作; 4.牵头或配合项目管理; 5.配合完成相关关键技术攻关、科研课题研究、研发平台建设等工作。 岗位要求...http://www.sdsgwy.com/article/html/5206701.html
2.江苏省人力资源和社会保障厅热点新闻江苏省2019年高校毕业生...车行天下商务管理发展集团有限公司 运营经理、文案编辑 江苏科宁舒适家居系统集成有限责任公司 暖通外场设计师、见习客户经理、暖通内场设计师 江苏建发建设项目咨询有限公司 监理员、实习生、项目管理员 点米网络科技股份有限公司 苏宁易购客服专员、大客户销售代表 ...http://jshrss.jiangsu.gov.cn/art/2019/2/22/art_57444_8180462.html
3.基于asp.netnet通用疫情打卡系统微信小程序毕业论文.docx“通用疫情打卡系统小程序”是基于SQL Server数据库,在技术程序设计的基础上实现的。为确保中国经济的持续发展,信息时代日益更新,蓬勃发展。同时,随着信息社会的快速发展,各种管理系统面临着越来越多的数据需要处理,如何用方便快捷的方式使管理者在广阔的数据海洋里面查询、存储、管理和共享有效的数据信息,对我们的学习,...https://m.book118.com/html/2022/0619/8021133067004111.shtm
1.python毕设宠物医院管理系统程序+论文系统成果:成功开发出一个基于Python的宠物医院管理系统,该系统具备完整的客户、宠物医生、宠物登记、药品信息、诊断信息、住院信息、挂号信息、出院信息、药方信息等管理功能,并且具有良好的用户界面和操作体验。 文档成果:撰写完整的毕业设计论文,详细阐述宠物医院管理系统的设计与实现过程,包括需求分析、系统设计、功能实现...https://blog.csdn.net/wek109/article/details/143768288
2.python写一个宠物管理系统宠物管理系统数据流图python写一个宠物管理系统 宠物管理系统数据流图 一、项目技术栈 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用HTML和Vue相结合开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 二、系统分析...https://blog.51cto.com/u_16099221/9716452
3.[精选]信息管理系统论文15篇系统设计的目的是统一化管理所内教师和学生基本信息,实现自动化的统计排名以及方便的查询操作。在系统中,用户的身份主要划分为3级:管理员、教师、学生,不同的用户身份拥有不同的权限,用户在登录时系统即可根据用户名查询该用户所在的组别,呈现相应的界面。根据研究所内的具2.2通知公告 ...https://www.yjbys.com/biyelunwen/fanwen/guanli/735643.html
4.回复即可体验ChatGPT大圣前端进阶指南基于信号处理的毕业设计:建立基于信号处理的系统,实现信号的捕获、信号滤波、信号增强、信号分析等功能; 基于智能控制的毕业设计:建立基于智能控制的系统,实现自动监测、自动控制、自动调节等功能; 基于网络与信息安全的毕业设计:建立基于网络与信息安全的系统,实现网络安全防御、网络安全审计、信息安全管理等功能; ...http://shengxinjing.cn/blog/chatgpt.html
5.年薪50万!北航合肥创新研究院招募研究员!澎湃号·政务3、研究面向特定领域应用的人工智能算法,包括大数据分析与管理、多媒体应用技术、视觉内容理解、自然语言理解、光学信息处理、机器学习、人工智能学习平台等方向(注:开展一个或多个应用方向研究); 4、负责带领团队成员进行核心算法设计和实现,并进行系统软件的开发与维护; ...https://www.thepaper.cn/newsDetail_forward_4985535
6.人才培养兴安职业技术学院数据库技术:数据库应用系统分析及规划、数据库设计及实现、数据库存储、管理与维护、数据库技术的发展及新技术。 软件测试技术:软件测试的基本概念、软件测试技术、软件测试过程和管理方法。 信息安全技术:信息安全保障概论、信息安全基础技术与原理、系统安全、网络安全、应用安全、信息安全管理等。 https://www.nmxzy.cn/contents/136/2229.html
7.网络工程专业人才培养方案(2022)3.4在网络系统设计过程中,能够考虑法律、健康、安全、文化、社会以及环境等现实约束条件,完善系统解决方案。 毕业要求4(研究):能够基于科学原理并采用科学方法对复杂网络工程问题进行研究,包括设计实验、分析与解释数据、并通过信息综合得到合理有效的结论。 4.1 能够运用文献研究或相关方法,对网络规划与部署、协议与安全、...https://www.csust.edu.cn/jtxy/info/1148/20900.htm
8.2019级电子商务专业人才培养方案(3)具备网店设计与装修的能力,能够根据产品页面需求,进行页面设计、布局、美化和制作。 (4)能够根据网站(店)推广目标,选择合理的推广方式,进行策划、实施和效果评估与优化。 (5)能够根据不同商品类型进行产品策划、分类管理。 (6)能够根据运营目标采集电子商务平台数据,并依据店铺、产品和客户等各类数据,对其进行分析...https://www.hnwmxy.com/jiaoxuekeyan/jiaoxuebiaozhunfabu/rencaipeiyangfangan/2019_r/2020/0703/6462.html
9.?物联网应用技术专业2023级人才培养方案程序设计、传感网应用开发等专业知识和技术;掌握信息产业链中大数据、计算机网络技术、软件技术、人工智能、数字媒体专业中的两种扩展技能所需的基础知识和基本技能;具备物联网应用技术专业职业岗位(群)所需的专业基本能力和专业技术应用能力,能够从事物联网系统设备安装与调试、物联网工程项目的规划、测试、维护、管理和...https://www.cswu.cn/dsjyxxcy/2023/0619/c3737a71175/page.htm
10.odoo17官方版本发布白皮书,全部功能及重要更新ReleaseNote...会展管理/门票管理,可实现二维码签到等 前台访客管理,出勤管理 仓库管理增强,实时库存估值,库存账龄报告等 项目管理增强,更好的甘特图 ...新的用户界面设计 重新设计包括可用性和美观性方面的显着改进。主要目标是增强整体用户体验并提供具有视觉吸引力的界面,促进直观的交互。 https://www.odooapp.cn/blog/odoo-install-deploy-6/odoo17-official-release-all-functions-and-important-updates-315