开源可私有部署医疗档案解决方案从零搭建实操落地指南
本方案基于开源医疗系统搭建,适合私人医生、小型诊所快速搭建自有私有医疗档案系统,所有数据存储在自有服务器,满足合规要求,全程零成本,按步骤操作即可完成部署。
一、前期环境准备
1. 安装Docker与Docker Compose
Docker可以实现一键部署,避免环境配置出错,根据你的操作系统选择对应操作:
- Windows/Mac系统:直接下载官方安装包安装:
Windows 64位:https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe
Mac Intel芯片:https://desktop.docker.com/mac/main/amd64/Docker.dmg
Mac M系列芯片:https://desktop.docker.com/mac/main/arm64/Docker.dmg - Ubuntu/Debian系统:直接执行以下命令: ``` sudo apt update && sudo apt install docker.io docker-compose-plugin -y ```
- CentOS/RHEL系统:直接执行以下命令: ``` sudo yum install -y docker && sudo systemctl start docker && sudo systemctl enable docker sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose ```
二、拉取配置并启动服务
1. 创建部署目录
执行以下命令创建并进入部署目录: ``` mkdir -p ~/medical-records && cd ~/medical-records ```
2. 编写部署配置文件
在当前目录创建docker-compose.yml文件,直接复制以下完整内容,无需修改即可使用:
```
version: '3'
services:
mariadb:
image: mariadb:10.11
container_name: medical_records_db
environment:
MYSQL_ROOT_PASSWORD: medical_records_2024@root
MYSQL_DATABASE: openemr
MYSQL_USER: openemr
MYSQL_PASSWORD: openemr_2024@pass
volumes:
- medical_db_data:/var/lib/mysql
restart: always
openemr:
image: openemr/openemr:latest
container_name: medical_records_web
ports:
- "8080:80"
environment:
MYSQL_HOST: mariadb
MYSQL_DATABASE: openemr
MYSQL_USER: openemr
MYSQL_PASSWORD: openemr_2024@pass
volumes:
- medical_web_data:/var/www/html/sites
- medical_edoc_data:/var/www/html/edocuments
restart: always
depends_on:
- mariadb
volumes:
medical_db_data:
medical_web_data:
medical_edoc_data:
```
3. 启动服务

在部署目录执行以下命令,启动服务: ``` docker-compose up -d ```
启动后等待2-3分钟,等待数据库初始化完成,即可进入初始化配置步骤。
三、系统初始化配置
- 打开浏览器,输入地址:本地部署为
http://localhost:8080,服务器部署为http://你的服务器IP:8080 - 初始化页面选择简体中文,点击「开始安装」
- 环境检测页面所有项都会自动通过,直接点击「下一步」
- 数据库配置已经通过环境变量自动填充,直接点击「下一步」
- 设置管理员账号密码,填写你的机构名称,点击「保存配置」即可完成安装,进入系统后台。
四、核心操作:医疗档案管理
1. 新建患者档案
- 登录后台后,左侧菜单栏点击患者 -> 新患者
- 填写患者必填信息:姓名、性别、出生日期、联系方式、过敏史、既往病史
- 点击底部「保存患者」,即完成档案创建。
2. 归档病历与检查报告
- 进入对应患者的详情页,点击右侧菜单栏文档 -> 添加新文档
- 选择文档类型(门诊病历/CT报告/检验报告/处方),填写文档日期,上传本地文件
- 点击保存后,文档会自动加密存储,仅授权账号可查看下载。
3. 多用户权限配置
- 左侧菜单栏点击系统 -> 用户 -> 添加新用户
- 填写账号密码,选择对应角色:医生/护士/收费员,不同角色默认配置对应权限,例如护士仅可新增档案不可删除,医生仅可编辑自己负责的患者档案
- 保存后新用户即可登录使用。
五、数据备份与合规配置
医疗数据需要按要求留存,配置自动备份步骤如下:
- 在部署目录创建备份脚本
backup.sh,复制以下内容: ``` !/bin/bash DATE=$(date +%Y%m%d_%H%M) BACKUP_DIR=~/medical_backup mkdir -p $BACKUP_DIR docker exec medical_records_db mysqldump -uopenemr -popenemr_2024@pass openemr > $BACKUP_DIR/openemr_backup_$DATE.sql gzip $BACKUP_DIR/openemr_backup_$DATE.sql find $BACKUP_DIR -name ".gz" -mtime +30 -delete ``` - 执行命令给脚本添加权限:
chmod +x ~/medical-records/backup.sh - 添加定时任务,每天凌晨2点自动备份,执行
crontab -e,添加以下内容:0 2 ~/medical-records/backup.sh >> ~/medical_backup.log 2>&1
如果需要公网访问,可绑定域名后配置HTTPS,使用Nginx反向代理即可,配置参考如下: ``` server { listen 80; server_name 你的域名; return 301 https://$host$request_uri; } server { listen 443 ssl; server_name 你的域名; ssl_certificate /etc/letsencrypt/live/你的域名/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/你的域名/privkey.pem; location / { proxy_pass http://localhost:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } ```
按照以上步骤操作,即可完成完全自有可控的医疗档案系统搭建,所有数据存储在自有环境,满足医疗数据合规要求。