3 часа назад
История
README.md
СОМИ: Система обработки медицинской информации
СОМИ — это высокопроизводительный серверный комплекс на C++, предназначенный для приема, долгосрочного хранения, обработки и маршрутизации медицинских данных в стандартах DICOM и HL7. Проект использует СУБД PostgreSQL для индексации метаданных и предоставляет встроенный движок исполнения SOMI Action/Condition и Lua для гибкой автоматизации рабочих процессов.
🚀 Основные возможности
- DICOM SCP/SCU: реализация сервисов C-STORE, C-FIND, C-MOVE и C-GET для обмена данными с диагностическим оборудованием (КТ, МРТ, Рентген).
- HL7 MLLP Шлюз: прием, парсинг и валидация сообщений HL7 v2/v3 (ADT, ORU, OML) для синхронизации данных пациентов и назначений с МИС/ЛИС.
- 🤖 Автоматизация: встроенные интерпретаторы SAC и Lua для написания пользовательских скриптов, реагирующих на события поступления данных (пересылка, изменение тегов, триггеры для ИИ-анализа).
- Интеграция с PostgreSQL: индексация DICOM-тегов (Patient ID, Study Instance UID, Accession Number) для мгновенного поиска по архиву исследований.
- Асинхронная маршрутизация: многопоточный движок распределения данных на основе настраиваемых правил и метаданных.
- Безопасность: поддержка шифрования TLS (включая алгоритмы ГОСТ) для сетевых соединений и разграничение прав доступа.
- Многопоточность: асинхронный движок, обеспечивающий низкую задержку (low latency) при высокой сетевой нагрузке.
🛠 Технологический стек
- Язык программирования: C++20
- Система сборки: CMake (>= 3.25)
- База данных: PostgreSQL (с драйвером
libpqxxдля C++) - Зависимости: DCMTK, OpenSSL, Boost
📋 Требования к окружению
- Компилятор: GCC >= 12.2 / Clang >= 19.1
- ОС: Linux (Astra Linux 1.8 и новее)
- СУБД: PostgreSQL версии 14 или выше
⚙️ Сборка и запуск
Перед сборкой убедитесь, что в вашей системе установлены …
1. Подготовка конфигурации
2. Клонирование и сборка
# Клонирование репозитория
git clone --recursive https://somi
cd somi
# Создание директории сборки
mkdir build && cd build
# Конфигурация и компиляция (Release-режим)
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build . --config Release --parallel \$(nproc)
3. Запуск
🔧 Конфигурация
📄 Лицензирование / License
Весь проект распространяется под лицензией GNU Affero General Public License version 3. Для удобства навигации по коду информация разделена на два файла:
- LICENSE - Основной код и серверная часть (GNU Affero General Public License version 3).
- LICENSE-UI - Пользовательский интерфейс и внешние фронтенд-компоненты (GNU Affero General Public License version 3 + уведомления о встроенных библиотеках Bootstrap, jQuery, D3 и др.).
Описание
СОМИ Система Обработки Медицинской Информации
Конвейеры
0
успешных
0
с ошибкой