Professional Picture Archiving and Communication System
Modern PACS system based on microservice architecture with web interface for managing DICOM images, reports and patients.
# Clone repository
git clone https://github.com/your-repo/clinton-medical-pacs.git
cd clinton-medical-pacs
# Start system
docker-compose up -d
# Initialize database
docker-compose exec flask_auth_service python init_db.py🌐 System Access:
- Web Interface: https://localhost
- Login:
admin/admin - OHIF Viewer: https://localhost/ohif
- Orthanc: https://localhost/orthanc
|
|
|
|
graph TB
A[👤 User] --> B[🌐 NGINX]
B --> C[⚛️ OHIF Viewer]
B --> D[🐍 Flask Auth]
B --> E[🏥 Orthanc]
D --> F[🗄️ PostgreSQL]
E --> G[🗄️ PostgreSQL]
D --> H[📊 ELK Stack]
| Service | Description | Port |
|---|---|---|
| NGINX | Reverse proxy, SSL | 80, 443 |
| OHIF Viewer | DICOM viewer | 3000 |
| Flask Auth | API, authentication | 5000 |
| Orthanc | DICOM server | 8042 |
| PostgreSQL | Database | 5432 |
- Docker and Docker Compose
- RAM: 8+ GB
- Disk: 100+ GB
- CPU: 2+ cores
# Start
docker-compose up -d
# Status
docker-compose ps
# Logs
docker-compose logs -f
# Stop
docker-compose down
# Initialize DB
docker-compose exec flask_auth_service python init_db.py./scripts/generate_ssl.sh
docker-compose restart nginxcp env.example .env
nano .env # Edit passwords
docker-compose restart flask_auth_service- Add Patient: Patients → Add
- Upload DICOM: Studies → Upload
- View: Click on study → OHIF Viewer
- Report: In viewer → Create report → Export PDF
# Ports occupied
sudo netstat -tlnp | grep :80
sudo systemctl stop apache2 nginx
# Insufficient memory
docker stats
sudo fallocate -l 4G /swapfile && sudo swapon /swapfile
# Database errors
docker-compose restart postgres
docker-compose logs postgres- Change default passwords
- Use SSL in production
- Regularly update system
- Configure firewall
Профессиональная система архивирования и передачи медицинских изображений
Современная PACS система на основе микросервисной архитектуры с веб-интерфейсом для управления DICOM изображениями, отчетами и пациентами.
# Клонировать репозиторий
git clone https://github.com/your-repo/clinton-medical-pacs.git
cd clinton-medical-pacs
# Запустить систему
docker-compose up -d
# Инициализировать базу данных
docker-compose exec flask_auth_service python init_db.py🌐 Доступ к системе:
- Веб-интерфейс: https://localhost
- Логин:
admin/admin - OHIF Viewer: https://localhost/ohif
- Orthanc: https://localhost/orthanc
|
|
|
|
graph TB
A[👤 Пользователь] --> B[🌐 NGINX]
B --> C[⚛️ OHIF Viewer]
B --> D[🐍 Flask Auth]
B --> E[🏥 Orthanc]
D --> F[🗄️ PostgreSQL]
E --> G[🗄️ PostgreSQL]
D --> H[📊 ELK Stack]
| Сервис | Описание | Порт |
|---|---|---|
| NGINX | Реверс-прокси, SSL | 80, 443 |
| OHIF Viewer | Просмотрщик DICOM | 3000 |
| Flask Auth | API, аутентификация | 5000 |
| Orthanc | DICOM сервер | 8042 |
| PostgreSQL | База данных | 5432 |
- Docker и Docker Compose
- RAM: 8+ ГБ
- Диск: 100+ ГБ
- CPU: 2+ ядра
# Запуск
docker-compose up -d
# Статус
docker-compose ps
# Логи
docker-compose logs -f
# Остановка
docker-compose down
# Инициализация БД
docker-compose exec flask_auth_service python init_db.py./scripts/generate_ssl.sh
docker-compose restart nginxcp env.example .env
nano .env # Отредактировать пароли
docker-compose restart flask_auth_service- Добавить пациента: Пациенты → Добавить
- Загрузить DICOM: Исследования → Загрузить
- Просмотр: Кликнуть на исследование → OHIF Viewer
- Отчет: В просмотрщике → Создать отчет → Экспорт PDF
# Порты заняты
sudo netstat -tlnp | grep :80
sudo systemctl stop apache2 nginx
# Недостаточно памяти
docker stats
sudo fallocate -l 4G /swapfile && sudo swapon /swapfile
# Ошибки БД
docker-compose restart postgres
docker-compose logs postgres- Смените пароли по умолчанию
- Используйте SSL в продакшн
- Регулярно обновляйте систему
- Настройте файрвол