Skip to content

chengzi404-byte/case-system

Repository files navigation

医疗病历管理系统

一个基于Flask开发的医疗病历管理平台,注重数据安全和隐私保护。

主要特性

🔐 安全性

  • 数据加密: 使用AES加密技术保护敏感医疗数据
  • 身份认证: JWT令牌认证,确保访问安全
  • 权限控制: 基于角色的访问控制系统
  • 审计日志: 记录用户操作,支持安全审计

👥 用户角色

  • 管理员: 完整系统管理权限
  • 医生: 创建、查看、编辑病历
  • 护士: 查看病历权限
  • 患者: 查看个人病历

📋 功能模块

  • 病历管理: 创建、查看、编辑、删除病历记录
  • 搜索筛选: 支持全文搜索和多条件筛选
  • 数据备份: 自动和手动备份,一键恢复
  • 响应式界面: 支持桌面和移动设备

技术架构

  • 后端: Flask (Python)
  • 前端: Bootstrap 5 + JavaScript
  • 数据存储: JSON文件 + 加密存储
  • 认证: JWT Token
  • 加密: AES-256

快速开始

环境要求

  • Python 3.7+
  • pip包管理器

安装步骤

  1. 克隆项目
git clone <repository-url>
cd medical-platform
  1. 使用启动脚本(推荐)
chmod +x start.sh
./start.sh
  1. 或手动安装
# 创建虚拟环境
python3 -m venv venv
source venv/bin/activate  # Linux/Mac
# 或 venv\Scripts\activate  # Windows

# 安装依赖
pip install -r requirements.txt

# 初始化系统
python3 init_system.py

# 启动应用
python3 main.py

访问系统

⚠️ 重要: 生产环境中请修改默认密码!

项目结构

medical-platform/
├── main.py                 # 主应用文件
├── settings.py             # 配置文件
├── requirements.txt        # 依赖包列表
├── init_system.py          # 系统初始化脚本
├── start.sh               # 启动脚本
├── utils/                 # 工具模块
│   ├── auth.py           # 认证管理
│   ├── medical_records.py # 病历管理
│   └── backup.py         # 备份管理
├── templates/             # HTML模板
│   ├── base.html         # 基础模板
│   ├── index.html        # 首页
│   ├── login.html        # 登录页
│   ├── dashboard.html    # 仪表板
│   ├── records.html      # 病历管理
│   └── backup.html       # 备份管理
├── static/               # 静态资源
│   └── css/
│       └── style.css     # 样式文件
├── db/                   # 数据目录
│   ├── users.json       # 用户数据
│   ├── sessions.json    # 会话数据
│   └── medical_records/ # 病历数据
└── backups/              # 备份目录

API接口

认证相关

  • POST /api/v1/auth/login - 用户登录
  • POST /api/v1/auth/logout - 用户登出
  • POST /api/v1/auth/register - 用户注册

病历管理

  • GET /api/v1/medical-records/patient/{id} - 获取患者病历
  • GET /api/v1/medical-records/{patient}/{record} - 获取病历详情
  • GET /api/v1/medical-records/{patient}/{record}/edit - 获取病历用于编辑
  • POST /api/v1/medical-records - 创建病历
  • PUT /api/v1/medical-records/{patient}/{record} - 更新病历
  • DELETE /api/v1/medical-records/{patient}/{record} - 删除病历
  • GET /api/v1/medical-records/search/{patient} - 搜索病历

数据备份

  • POST /api/v1/backup/create - 创建备份
  • GET /api/v1/backup/list - 备份列表
  • POST /api/v1/backup/restore - 恢复备份

安全说明

数据加密

  • 所有敏感医疗数据(诊断、症状、治疗等)采用AES-256加密存储
  • 加密密钥可通过环境变量配置

访问控制

  • JWT令牌认证,令牌有效期24小时
  • 基于角色的权限控制系统
  • 患者只能访问自己的病历

备份策略

  • 支持手动和自动备份
  • 备份文件同样加密存储
  • 恢复前自动创建当前数据备份

开发说明

环境变量

SECRET_KEY=your-secret-key
JWT_SECRET_KEY=your-jwt-secret
ENCRYPTION_KEY=your-encryption-key
DATABASE_URL=sqlite:///medical_platform.db

扩展功能

系统采用模块化设计,便于扩展新功能:

  1. utils/ 目录下添加新的模块
  2. main.py 中注册新的路由
  3. templates/ 中添加对应的前端页面

注意事项

  1. 生产环境部署

    • 修改默认密码
    • 配置环境变量
    • 启用HTTPS
    • 定期备份数据
  2. 数据安全

    • 定期更换加密密钥
    • 监控访问日志
    • 实施最小权限原则
  3. 系统维护

    • 定期清理过期会话
    • 管理备份文件
    • 更新依赖包

许可证

本项目采用MIT许可证,详见LICENSE文件。

贡献指南

欢迎提交Issue和Pull Request来改进项目。

支持

如有问题,请通过以下方式联系:

  • 提交GitHub Issue
  • 邮件联系项目维护者

重要提醒: 本系统仅用于医疗信息管理,不能替代专业医疗设备和医疗人员的专业判断。使用前请确保符合当地医疗数据保护法规。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors