Skip to content

Repository files navigation

MiniMIS

Локальная медицинская информационная система для ведения регистра пациентов инсультного отделения, клинической аналитики и формирования отчётов.

Важно: MiniMIS не является медицинским изделием и не заменяет клиническое решение врача. Ответственность за защиту персональных данных, настройку доступа, резервное копирование и соблюдение локальных требований несёт оператор системы.

Возможности

  • регистрация и редактирование пациентов;
  • дашборд отделения;
  • клиническая аналитика по инсультам, реперфузии, NIHSS, летальности и другим показателям;
  • Excel-, Word- и PDF-отчёты;
  • роли заведующего и общего врачебного аккаунта;
  • журнал действий и мягкое удаление записей;
  • согласованные резервные копии SQLite;
  • шифрование резервных копий AES-256-GCM;
  • проверка целостности и атомарное восстановление базы.

Требования

  • Python 3.11 или новее для обычной установки;
  • Windows или Linux;
  • браузер с доступом к компьютеру, на котором запущен Streamlit.

Для изолированной рабочей среды допустима заранее подготовленная локальная папка с совместимыми Python-пакетами.

Установка

Windows

  1. Установите Python и отметьте пункт Add Python to PATH.
  2. Распакуйте проект в локальную папку.
  3. Откройте PowerShell в папке проекта.
  4. Установите зависимости:
python -m pip install -r requirements.txt
  1. Запустите приложение:
python -m streamlit run app.py

Также можно запустить Start.bat двойным щелчком.

Linux

python3 -m pip install --user -r requirements.txt
python3 -m streamlit run app.py

После запуска откройте адрес, указанный Streamlit, обычно http://localhost:8501.

Первый запуск

При первом запуске заведующий задаёт:

  • название отделения;
  • пароль заведующего;
  • общий пароль врачей.

После входа заведующий может создать список врачей и задать секретную фразу для восстановления административного пароля. Проект публикуется без базы пациентов, учётных данных, ключей и резервных копий. Пустая база создаётся локально после первоначальной настройки.

Роли

Врач

Может добавлять и редактировать пациентов, просматривать дашборд и клиническую аналитику, формировать отчёты.

Заведующий

Дополнительно получает доступ к настройкам, списку врачей, журналу действий, удалению и восстановлению записей, импорту базы и резервным копиям.

Сессия действует 8 часов. После пяти неверных попыток вход блокируется на 15 минут.

Скриншоты

Дашборд

Дашборд

Клиническая аналитика

Клиническая аналитика

Карточка пациента

Карточка пациента

Отчёты

Отчёты

Настройки

Настройки

Хранение данных

Рабочая база создаётся в:

data/minimis.db

Настройки безопасности и локальный ключ также находятся в data/. Содержимое этой папки исключено из Git.

Отчёты создаются в exports/, резервные копии — в backups/. Эти каталоги также исключены из Git, кроме файлов .gitkeep.

Резервные копии

MiniMIS:

  1. создаёт согласованный снимок SQLite через Backup API;
  2. проверяет его с помощью PRAGMA integrity_check;
  3. шифрует AES-256-GCM;
  4. публикует готовый файл атомарной заменой.

Ключ резервных копий создаётся локально:

data/backup.key

Храните отдельную защищённую копию ключа. Без него восстановить зашифрованные копии невозможно. Не храните единственную копию ключа рядом с резервными копиями.

Для шифрования требуется пакет cryptography. При его отсутствии основные функции приложения продолжают работать, но создание и восстановление зашифрованных копий недоступно до установки:

python -m pip install cryptography

Развёртывание в локальной сети

Рекомендуемая схема:

  • Streamlit и рабочая SQLite-база находятся на локальном диске одного компьютера или сервера;
  • пользователи подключаются через браузер;
  • в сетевую папку переносятся только полностью созданные резервные копии.

Не размещайте активно используемый minimis.db в общей сетевой папке. Обрыв соединения при прямой работе с SQLite-файлом может привести к блокировкам и ошибкам ввода-вывода.

Документация

Обратная связь и вклад

Ошибки и предложения можно оформлять через GitHub Issues. Перед публикацией примеров, журналов или изображений обязательно удаляйте медицинские и персональные данные.

Pull request должен содержать краткое описание изменений и не включать рабочие базы, ключи или данные пациентов.

Лицензия


Copyright

Copyright © 2026. All rights reserved.

This repository is published for demonstration and educational purposes. No permission is granted to copy, redistribute, or create derivative works without prior written permission from the copyright holder.

Репозиторий опубликован в демонстрационных и образовательных целях. Копирование, распространение, создание производных работ и использование исходного кода без письменного разрешения правообладателя не допускается.

About

Medical information system for stroke registry and clinical analytics

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages