# BlueMedAccess-EMS-BasicEdition **Repository Path**: peideming_admin/BlueMedAccess-EMS-BasicEdition ## Basic Information - **Project Name**: BlueMedAccess-EMS-BasicEdition - **Description**: EMS-BlueMedAccess-EMS-BasicEdition - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2024-08-09 - **Last Updated**: 2025-01-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 蓝衣通(BlueMedAccess-EMS)项目README ## 简介 蓝衣通(BlueMedAccess-EMS)是一款专为医疗机构量身定制的电子病历管理系统(Electronic Medical Record System, EMRS),旨在通过数字化手段简化医疗工作流程,提升医疗效率,确保患者数据的准确性与安全性。本系统聚焦于病历管理、药房运营、处方管理及历史病历查询四大核心功能,为医护人员和患者提供便捷、高效的服务体验。 ### 主要功能 #### 病历录入 蓝衣通支持结构化与非结构化病历录入,通过预设的病历模板和自定义字段,医生可以快速、准确地记录患者的病情、诊断结果、治疗计划等信息。 #### 药房管理 药房管理模块涵盖了药品库存管理、采购计划制定、药品销售记录等功能。系统实时监控药品库存量,自动提醒库存不足或过期药品,减少因缺货或过期导致的医疗风险。同时,药房管理模块与处方管理模块无缝对接,自动接收并处理医生开具的电子处方,提高药品发放效率。 #### 处方管理 处方管理模块是蓝衣通的核心功能之一,它允许医生在系统中直接开具电子处方,并自动进行药物相互作用检查、剂量合理性校验等安全性审查。处方信息一旦生成,即可直接发送至药房进行配药,大大缩短了患者等待时间。此外,系统还支持处方历史查询,便于医生追踪患者用药情况,调整治疗方案。 #### 历史病历查看 历史病历查看功能允许医生快速检索并查看患者的历史病历记录,包括历次就诊的病情描述、诊断结果、治疗过程及用药情况等。这一功能不仅有助于医生全面了解患者病史,做出更准确的诊断,还能在紧急情况下为患者提供及时的救治。 #### 项目预览 ![输入图片说明](https://foruda.gitee.com/images/1723333438156775045/11419641_12273709.png "屏幕截图(9).png") ![输入图片说明](https://foruda.gitee.com/images/1723333458284066255/29f2498e_12273709.png "屏幕截图(10).png") ![输入图片说明](https://foruda.gitee.com/images/1723333474969119416/040ac33c_12273709.png "屏幕截图(11).png") ## 部署 蓝衣通项目基于Django框架开发,支持多种部署方式,以满足不同用户的需求。以下是两种主要的部署方法: ### 部署方法1:直接运行脚本 #### Windows系统 1. **下载项目**:从官方仓库或指定位置下载蓝衣通项目的源代码,并解压至本地目录。 2. **环境准备**:确保系统中已安装Python(推荐Python 3.7及以上版本)和Django框架。同时,根据项目依赖文件(如`requirements.txt`)安装所有必要的第三方库。 3. **数据库配置**:根据项目需求,在`settings.py`文件中配置MySQL或SQL Server数据库的连接信息。 4. **运行脚本**:在项目根目录下找到`STARTPROGRAM.cmd`文件,双击运行。该脚本将自动配置并启动Django项目服务。 #### Linux系统 1. **下载项目**:通过Git或直接从官方仓库下载蓝衣通项目的源代码至Linux服务器。 2. **环境准备**:安装Python和Django框架,并配置虚拟环境(如使用virtualenv或conda)。根据项目依赖文件安装所有必要的第三方库。 3. **数据库配置**:编辑`settings.py`文件,配置数据库连接信息。 4. **赋予执行权限**:为`STARTPROGRAM.sh`脚本赋予执行权限,使用`chmod +x STARTPROGRAM.sh`命令。 5. **运行脚本**:在终端中执行`./STARTPROGRAM.sh`命令,启动Django项目服务。 ### 部署方法2:使用Docker容器 Docker容器化部署为蓝衣通项目提供了更加灵活、高效的部署方案。以下是使用Docker部署蓝衣通项目的详细过程: 1. **安装Docker**:确保系统中已安装Docker及Docker Compose(如果项目使用)。 2. **编写Dockerfile**: 在项目根目录下创建或编辑`Dockerfile`文件,定义Docker镜像的构建过程。示例Dockerfile内容可能包括: ```Dockerfile # 使用官方Python运行时作为父镜像 FROM python:3.8-slim # 设置工作目录 WORKDIR /usr/src/app # 将当前目录内容复制到位于/usr/src/app中的容器中 COPY . . # 安装任何所需的包 RUN pip install --no-cache-dir -r requirements.txt # 使端口8000可用于外部访问 EXPOSE 7090 # 定义环境变量 ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1 # 运行时执行 CMD ["python", "./manage.py", "runserver", "0.0.0.0:7090"] ``` 注意:由于Django默认使用8000端口,但此处我们改为7090以符合项目要求。 3. **构建Docker镜像**: 在项目根目录下执行以下命令构建Docker镜像: ```bash docker build -t bluemedaccess-ems . ``` 这条命令会根据`Dockerfile`中的指令构建一个新的Docker镜像,并将其标记为`bluemedaccess-ems`。 4. **运行Docker镜像**: 构建完成后,使用以下命令启动Docker容器: ```bash docker run -d -p 7090:7090 --name bluemedaccess-container bluemedaccess-ems ``` 这里,`-d` 参数让容器在后台运行,`-p 7090:7090` 参数将容器的7090端口映射到宿主机的7090端口上,`--name bluemedaccess-container` 参数为容器指定了一个名字,最后`bluemedaccess-ems` 是前面构建的镜像名。 5. **验证部署**: 在浏览器中输入`http://localhost:7090`(或者你的服务器IP地址和端口),如果看到Django项目的启动页面或蓝衣通项目的登录界面,说明部署成功。 ## 数据库同步 -**本项目打包下载后是可以直接运行(使用STARTPROGRAM.cmd、STARTPROGRAM.sh或者给项目下的manage.py添加runserver参数)的,所以本项目默认使用的是sqlite数据库(即本地数据库)** -**我们建议使用MySQL或者SQL Server,因为他们存储数据更加安全** ### 修改`settings.py`以支持MySQL 1. **打开`settings.py`文件**: 在项目根目录下的`guahao`(或相应的应用名)文件夹中,找到并打开`settings.py`文件。 2. **修改`DATABASES`配置以支持MySQL**: 找到`DATABASES`字典配置,并将其修改为适用于MySQL的配置。以下是一个示例配置: ```python DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'bluemedaccess', # 数据库名 'USER': 'your_mysql_user', # 数据库用户名 'PASSWORD': 'your_mysql_password', # 数据库密码 'HOST': 'localhost', # 数据库服务器地址 'PORT': '3306', # 数据库端口,MySQL默认是3306 } } ``` 请确保将`your_mysql_user`、`your_mysql_password`替换为你的MySQL数据库的实际用户名和密码,`bluemedaccess`替换为你想要创建的数据库名(如果尚未创建,你需要在MySQL中手动创建它)。 3. **安装MySQL数据库驱动**: 确保你的环境中安装了适用于Django的MySQL数据库驱动。通常,这可以通过安装`mysqlclient`或`PyMySQL`(Django 2.2+ 支持)来完成。你可以使用pip来安装: ```bash pip install mysqlclient # 或者 pip install PyMySQL ``` 注意:`mysqlclient`可能需要编译,这取决于你的操作系统和Python环境。如果遇到问题,可能需要安装额外的编译依赖项。 ### 修改`settings.py`以支持SQL Server 如果你还想要支持SQL Server,你可以保留MySQL的配置作为备用,或者创建另一个数据库别名(尽管在这个例子中我们只修改`default`)。但请注意,Django官方推荐使用`pyodbc`或`django-pyodbc-azure`作为SQL Server的后端。 1. **修改`DATABASES`配置以支持SQL Server**: 将`DATABASES`配置更改为适用于SQL Server的设置。由于Django原生不支持SQL Server的`ENGINE`字符串,你需要使用`django-pyodbc-azure`或类似库。以下是一个使用`django-pyodbc-azure`的示例配置: ```python DATABASES = { 'default': { 'ENGINE': 'sql_server.pyodbc', 'NAME': 'BlueMedAccess', # 数据库名 'USER': 'your_sqlserver_user', # 数据库用户名 'PASSWORD': 'your_sqlserver_password', # 数据库密码 'HOST': 'localhost', # 或者IP地址和端口,如'192.168.1.100,1433' 'OPTIONS': { 'driver': 'ODBC Driver 17 for SQL Server', # 根据你的ODBC驱动版本更改 }, } } ``` 请确保你已经安装了`django-pyodbc-azure`和相应的ODBC驱动。安装`django-pyodbc-azure`可以使用pip: ```bash pip install django-pyodbc-azure ``` 并且,你需要在系统上安装适用于SQL Server的ODBC驱动。 2. **注意**: - SQL Server的配置可能因你的ODBC驱动版本和SQL Server版本而有所不同。 - 确保`OPTIONS`中的`driver`设置与你的系统上安装的ODBC驱动相匹配。 3. **数据库迁移**: 无论你选择哪种数据库,都需要运行Django的迁移命令来同步数据库表结构: ```bash python manage.py makemigrations python manage.py migrate ``` -或者运行项目根目录下的SQLSERVER.cmd(Windows)或者SQLSERVER.SH(Linux) 这些步骤应该能够帮助你在`settings.py`中配置MySQL和SQL Server作为蓝衣通项目的数据库后端。记得在更改配置后重启你的Django开发服务器或Docker容器,以确保新配置生效。