当前位置: 首页 > news >正文

端口扫描站长工具天津市建设网官网

端口扫描站长工具,天津市建设网官网,外链发布的平台最好是,品牌vi机构1.系统介绍 项目概述 本系统是一个命令行版医院挂号问诊管理系统,主要面向医院管理员或挂号员, 用于管理患者挂号、医生排班、就诊记录等核心业务。核心功能模块1.患者管理 (Patients)添加新患者查看所有患者查找患者(按姓名或ID)…

1.系统介绍

项目概述
本系统是一个命令行版医院挂号问诊管理系统,主要面向医院管理员或挂号员,
用于管理患者挂号、医生排班、就诊记录等核心业务。核心功能模块1.患者管理 (Patients)添加新患者查看所有患者查找患者(按姓名或ID)2.医生管理 (Doctors)添加医生查看所有医生查找医生3.科室管理 (Departments)查看所有科室4.挂号管理 (Registrations)为患者挂号(选择科室、医生)查看所有待就诊挂号处理挂号(标记为已就诊)查看历史就诊记录5.退出系统
系统使用 pymysql 连接数据库,pandas 导出数据,
通过菜单驱动提供交互式操作。系统特点结构化设计:清晰的模块划分(患者、医生、挂号、记录)。数据关联:使用外键确保数据完整性。事务安全:在“处理就诊”等关键操作中使用事务,确保挂号状态和病历同步更新。用户友好:菜单清晰,输入有验证,输出格式化。实用功能:包含挂号、就诊、病历、导出等完整流程。可扩展性:易于添加新功能,如预约、缴费、药品管理等。

2. 数据库准备

-- 创建数据库
CREATE DATABASE IF NOT EXISTS hospital_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE hospital_db;-- 科室表
CREATE TABLE departments (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(100) NOT NULL UNIQUE,description TEXT
);-- 医生表
CREATE TABLE doctors (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(100) NOT NULL,department_id INT NOT NULL,title VARCHAR(50), -- 职称:主任医师、副主任医师等FOREIGN KEY (department_id) REFERENCES departments(id) ON DELETE CASCADE
);-- 患者表
CREATE TABLE patients (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(100) NOT NULL,gender ENUM('男', '女') NOT NULL,age INT NOT NULL,phone VARCHAR(15),address TEXT
);-- 挂号表(核心)
CREATE TABLE registrations (id INT AUTO_INCREMENT PRIMARY KEY,patient_id INT NOT NULL,doctor_id INT NOT NULL,registration_date DATETIME DEFAULT CURRENT_TIMESTAMP,status ENUM('待就诊', '已就诊', '已取消') DEFAULT '待就诊',FOREIGN KEY (patient_id) REFERENCES patients(id) ON DELETE CASCADE,FOREIGN KEY (doctor_id) REFERENCES doctors(id) ON DELETE CASCADE
);-- 就诊记录表
CREATE TABLE medical_records (id INT AUTO_INCREMENT PRIMARY KEY,registration_id INT NOT NULL,diagnosis TEXT, -- 诊断结果prescription TEXT, -- 处方visit_date DATETIME DEFAULT CURRENT_TIMESTAMP,FOREIGN KEY (registration_id) REFERENCES registrations(id) ON DELETE CASCADE
);-- 插入测试数据
INSERT INTO departments (name, description) VALUES
('内科', '负责内科疾病诊疗'),
('外科', '负责外科手术及创伤处理'),
('儿科', '儿童疾病诊疗'),
('妇科', '女性健康与疾病诊疗');INSERT INTO doctors (name, department_id, title) VALUES
('张医生', 1, '主任医师'),
('李医生', 2, '副主任医师'),
('王医生', 3, '主治医师'),
('赵医生', 4, '主治医师');INSERT INTO patients (name, gender, age, phone, address) VALUES
('小明', '男', 8, '13812345678', '北京市朝阳区'),
('小红', '女', 25, '13987654321', '北京市海淀区');-- 初始挂号
INSERT INTO registrations (patient_id, doctor_id, status) VALUES
(1, 3, '待就诊'), -- 小明挂儿科王医生
(2, 4, '待就诊'); -- 小红挂妇科赵医生

3. 开发患者管理模块

# -*- coding: utf-8 -*-
"""
@Project : 01-python-learn
@File    : 12_医院管理系统.py
@IDE     : PyCharm
@Author  : 刘庆东
@Date    : 2025/9/16 14:15
"""# 1.导入模块
import pymysql
import pandas as pd
from datetime import datetimefrom numpy.f2py.crackfortran import charselectorclass HospitalManagementSystem:def __init__(self):#定义构造方法self.connection=self.connect_db()#做为数据库连接的方法"""pymysql.cursors.DictCursor 因为默认返回的是元组类型 通过设置  cursorclass 使返回类型变为字典类型处理大量数据的时候更加的方便"""def connect_db(self):try:conn=pymysql.connect(host="192.168.88.151",user="root",password="hadoop",database="hospital_db",charset="utf8",cursorclass=pymysql.cursors.DictCursor)print("✅ 数据库连接成功了")return connexcept Exception as e:print(f"❌数据库连接失败:{e}")return None# 定义关闭资源的方法def close_connection(self):if self.connection:self.connection.close()#当connection不是空的时候调用方法进行数据库的关闭print("🔌数据库连接已经断开!")def add_patients(self):print("添加患者")name=input("姓名:").strip()if not name:print("❌姓名不能为空!")returngender=input("性别 (男/女):").strip()if gender not in ['男','女']:print("❌性别只能是男女")returntry:age=int(input("年龄:"))if age<0 or age>150:print("❌年龄不合法!")except ValueError:print("年龄必须是数字")returnphone=input("电话 (可选):").strip()address=input("地址 (可选):").strip()#将上面的信息添加到数据库中try:with self.connection.cursor() as cursor:sql="INSERT INTO patients(NAME,gender,age,phone,address) VALUES (%s,%s,%s,%s,%s)"cursor.execute(sql,(name,gender,age,phone,address))#提交事务self.connection.commit()print(f"✅患者 {name} ,添加成功了!")except Exception as e:#回滚 撤销刚才的所有的操作self.connection.rollback()print(f"❌添加失败:{e}")#查询所有的患者def view_all_patients(self):try:with self.connection.cursor() as cursor:cursor.execute("SELECT * FROM patients ORDER BY id ")patients = cursor.fetchall()#提取全部的数据if not patients:print("暂时没有患者")returnprint("患者列表如下:")print("_"*36)for p in patients:print(p)print("_" * 36)except Exception as e:print(f"查询失败了:{e}")# 医生# 科室# 问诊#菜单def show_menu(self):print("="*36)print("       🏥 医院挂号问诊管理系统")print("=" * 36)print("""1.  添加患者2.  查看所有患者3.  查找患者4.  查看所有医生5.  添加医生6.  查看所有科室7.  患者挂号8.  查看待就诊挂号9.  处理就诊10. 查看历史就诊记录11. 导出数据到Excel12. 退出""")print("-"*36)def run(self):if not self.connection:print("❌系统启动失败,数据库连接异常!")return#没有问题while True:self.show_menu()#调用显示菜单的方法choice=input("请选择 (1-12):").strip()actions={'1':self.add_patients,'2':self.view_all_patients,'12':lambda :print("系统退出") or exit()# 你们写  3  4 5 6 7 8 。。}action=actions.get(choice)#根据你的选择进行获取功能if action:action()else:print("无效的选择,请重新输入!")#创建对象 跑程序
if __name__ == '__main__':sytemss=HospitalManagementSystem()try:sytemss.run()except Exception as e:print(f"出问题了:{e}")finally:sytemss.close_connection()
http://www.dtcms.com/a/518476.html

相关文章:

  • 三网合一网站建设程序评估企业网站建设
  • 电子商务网站建设需要注意什么个人做电影网站
  • 亦庄网站设计小程序开发工具怎么用
  • 369网站建设合格的网站设计师需要会什么软件
  • asp门户网站源码国防教育网站建设方案
  • 怎么用dw做带登陆的网站邢台哪里提供网站制作
  • 如果在工商局网站上做股权质押商标怎么设计才好看
  • php和django做网站哪个好wordpress 投稿插件
  • 企业建设网站的过程手机主页网站
  • 做网站字体海口的网站建设
  • 全国八大员报名官方网站wordpress 建立相册
  • 扬中市住房和城乡建设局网站wordpress自动更新失败
  • 做网站的功能结构布局网站设计代码案例
  • 教做美食的视频网站wordpress 分享按钮
  • 网站301重定向$微信开发者工具下载安装
  • 大连 网站维护wordpress 菜单栏插件
  • 网站建设招标说明书景德镇做网站
  • 亳州市网站建设公司网上银行建设银行
  • 深圳网站建设方案优化湖北什么是网络营销
  • 10个免费的黑科技网站seo关键词排名在线查询
  • 成都网站建设单招网建设网站的计划表
  • 建设数字官方网站如何把购物网站做成非经营网站
  • 网站备案要多少钱做北京塞车网站
  • 阿里云国际wordpress安阳如何优化网站
  • 做婚纱网站的意义代做百度首页排名
  • php网站培训宣城网站建设费用
  • 在线做原型的网站wordpress do_
  • 纳森网络做网站多少钱做淘客都有什么网站
  • 邵阳做网站wordpress eshop
  • 网站平台推广方案手工做耳环银材料哪个网站可以买到