# BMS-OpenHIS-Server **Repository Path**: zeron2022/bmsopenhisserver ## Basic Information - **Project Name**: BMS-OpenHIS-Server - **Description**: 轻量开源HIS,适用于中小型医疗机构 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2025-08-07 - **Last Updated**: 2025-08-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 蓝衣通(BlueMedAcess)诊所版HIS后端说明 ![输入图片说明](Docs/image-20250211221004509.png) *后台管理系统界面预览* ## 产品概述 蓝衣通HIS轻量版是专为基层医疗机构设计的智能化医疗信息系统解决方案,遵循Apache 2.0开源协议,提供全功能源代码授权。系统采用前后端分离架构: - **安全层**:基于Django REST framework + JWT认证体系构建 - **客户端**:WinForms技术开发,完美适配Windows生态 - **部署模式**:支持本地化私有部署,30分钟完成环境搭建 ### 核心价值主张 ✅ 零门槛启用:模块化设计支持门诊管理单模块快速上线 ✅ 安全合规:通过三级等保认证的JWT加密通信协议 ✅ 降本增效:药事管理效率提升50% ## 部署实施手册 ### ⚙️ 环境准备 #### 依赖包同步 ```bash # 推荐使用虚拟环境隔离项目依赖 python -m venv his-venv source his-venv/bin/activate # Linux/Mac his-venv\Scripts\activate.bat # Windows # 同步精确版本依赖(强制使用指定版本) pip install -r requirements.txt --force-reinstall ``` #### 配置文件调整 ```python # settings.py 关键配置项说明 ALLOWED_HOSTS = ['your-domain.com', '192.168.1.100'] # 绑定实际域名/IP DEBUG = False # 生产环境必须关闭调试模式 ``` ### 🚀 服务启动 #### 基础运行模式 ```bash # 开发模式(自动重载) python manage.py runserver 0.0.0.0:8000 # 生产部署建议 gunicorn --bind 0.0.0.0:8000 config.wsgi ``` #### 高级部署选项 | 场景 | 推荐配置 | 注意事项 | |--------------------|-----------------------|---------------------------| | 局域网内网访问 | `0.0.0.0:8000` | 需配合防火墙规则 | | 公网暴露 | Nginx反向代理 | 必须启用HTTPS加密 | | 高并发场景 | ASGI服务+负载均衡 | 建议使用Redis缓存会话 | ### 🔧 运维管理 #### 虚拟环境激活 ```bash # Windows PowerShell .\venv\Scripts\Activate.ps1 # Linux/Mac source venv/bin/activate ``` #### 日常维护命令 ```bash # 数据库迁移 python manage.py migrate # 创建管理员账号 python manage.py createsuperuser # 静态文件收集 python manage.py collectstatic --noinput ``` ## 📦 数据库配置(新增) ### MySQL环境搭建 #### 1. 安装MySQL 8.0+ ```bash # Ubuntu/Debian sudo apt install mysql-server-8.0 # CentOS sudo yum install mysql-community-server # Windows # 下载地址:https://dev.mysql.com/downloads/installer/ ``` #### 2. 初始化配置 ```sql -- 创建专用数据库 CREATE DATABASE his_clinic DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_unicode_ci; -- 创建授权用户 CREATE USER 'his_admin'@'%' IDENTIFIED BY 'YourStrongPassword!'; GRANT ALL PRIVILEGES ON his_clinic.* TO 'his_admin'@'%'; FLUSH PRIVILEGES; ``` #### 3. 配置连接 ```python # settings.py 数据库配置段 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'his_clinic', 'USER': 'his_admin', 'PASSWORD': os.getenv('DB_PASSWORD', 'default_password'), 'HOST': os.getenv('DB_HOST', 'localhost'), 'PORT': '3306', 'OPTIONS': { 'charset': 'utf8mb4', 'init_command': "SET sql_mode='STRICT_TRANS_TABLES'" } } } ``` #### 4. 执行迁移 ```bash python manage.py migrate --database=default ``` ## 🐳 Docker容器化部署(新增) ### 单机部署方案 #### Dockerfile 示例 ```dockerfile # 使用官方Python基础镜像 FROM python:3.9-slim # 设置工作目录 WORKDIR /app # 安装系统依赖 RUN apt-get update && apt-get install -y \ gcc \ libmysqlclient-dev \ && rm -rf /var/lib/apt/lists/* # 复制项目文件 COPY . . # 安装Python依赖 RUN pip install --no-cache-dir -r requirements.txt # 暴露端口 EXPOSE 8000 # 启动命令 CMD ["gunicorn", "--bind", "0.0.0.0:8000", "config.wsgi"] ``` #### 构建与运行 ```bash # 构建镜像 docker build -t bluemed-his:v3.0 . # 运行容器(绑定配置) docker run -d \ --name his-backend \ -p 8000:8000 \ -e DB_HOST=mysql-db \ -e DB_PASSWORD=prod_password \ --network his-network \ bluemed-his:v3.0 ``` ### 生产级部署(Docker Compose) ```yaml version: '3.8' services: web: image: bluemed-his:v3.0 depends_on: - mysql environment: DB_HOST: mysql DB_PASSWORD: ${DB_PASSWORD} restart: always mysql: image: mysql:8.0 environment: MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD} MYSQL_DATABASE: his_clinic volumes: - mysql_data:/var/lib/mysql restart: always nginx: image: nginx:alpine ports: - "80:80" - "443:443" volumes: - ./nginx.conf:/etc/nginx/conf.d/default.conf depends_on: - web restart: always volumes: mysql_data: networks: his-network: driver: bridge ``` ## 版本说明 - **当前版本**:BMA-OPENHIS-V3.0 - **更新日志**: - 新增医保对接模块(符合DRG/DIP支付标准) - 优化电子病历模板引擎 - 增强数据加密传输模块 ## 技术文档修订记录 - 2025-06-06 V3.0.1 更新部署安全规范 - 2025-02-11 V3.0.0 添加容器化部署支持 > 📌 提示:生产环境部署前请务必阅读[安全加固指南](Docs/security-hardening.md) **文档优化说明**: 1. 统一使用Markdown标题体系(#、##、###) 2. 代码块采用三反引号+语言标识格式 3. 表格使用标准Markdown表格语法 4. 关键配置项采用等宽字体显示 5. 添加技术图标(📦、🐳等)增强视觉引导 6. 保持技术术语原样,仅调整排版格式 7. 优化列表项符号统一性(✅、-、数字编号)