Документация программы для ЭВМ «Протолика.Мед»
Описание функциональных характеристик, руководство пользователя, технические требования и сведения об архитектуре сервиса автоматизации заполнения медицинской карты на основе записи приёма врача.
Содержание
- Назначение и общие сведения
- Функциональные характеристики
- Поддерживаемые врачебные специальности
- Технические требования
- Установка и запуск
- Руководство пользователя
- Архитектура программы
- Безопасность и обработка персональных данных
- Контакты технической поддержки
- Сведения о правообладателе
- Лицензирование и стоимость
- Жизненный цикл и поддержка программного обеспечения
- Жизненный цикл разработки программного обеспечения (SDLC)
1. Назначение и общие сведения
«Протолика.Мед» — программа для электронных вычислительных машин (далее — Программа), предназначенная для автоматизации составления медицинской документации на основе аудиозаписи приёма врача. Программа выполняет распознавание русской медицинской речи, разделяет голоса врача и пациента, извлекает структурированные клинические факты и формирует черновик медицинской карты в одной из 17 врачебных специальностей. Готовая карта выгружается в формате DOCX и подписывается врачом.
«Протолика.Мед» — медицинская вертикаль платформы речевой аналитики «Протолика» (protolika.ru).
Программа предоставляется как облачный сервис (SaaS) с веб-интерфейсом, доступным по адресу app.med.protolika.ru. Установка клиентского ПО не требуется: интерфейс работает в браузере как Progressive Web Application (PWA) и может быть установлен на устройство как самостоятельное приложение.
Программа зарегистрирована в Реестре программ для ЭВМ Федеральной службы по интеллектуальной собственности (Роспатент): Свидетельство о государственной регистрации программы для ЭВМ «Протолика.Мед» № 2026681779 от 16.07.2026, правообладатель — ООО «Городские системы хранения». Запись доступна в открытом реестре: fips.ru/EGD.
2. Функциональные характеристики
Программа реализует следующие функции:
2.1. Запись и обработка аудио приёма
Запись звука с микрофона устройства врача в режиме реального времени; поддерживаются приёмы длительностью от 30 секунд до 90 минут; выполняется первичная нормализация уровня громкости (loudnorm), удаление пауз и подавление фоновых шумов; промежуточные фрагменты аудио отправляются на серверную обработку по защищённому каналу.
2.2. Распознавание речи
Автоматическое распознавание русской речи с поддержкой медицинской терминологии; словарь включает более 11 000 кодов МКБ-10 и свыше 800 наименований лекарственных препаратов; автоматическая коррекция типичных ошибок распознавания на медицинских терминах; формирование текстового транскрипта с разметкой по времени.
2.3. Диаризация (разделение голосов)
Разделение реплик в записи на говорящих — врача и пациента; используется модель NVIDIA NeMo Sortformer (версия v2, потоковая диаризация до четырёх говорящих) и модели векторных представлений голоса TitaNet / ECAPA-TDNN; поддерживается определение пересечений (overlap) реплик; учитывается голосовой эталон врача, если он зарегистрирован в Личном кабинете.
2.4. Формирование структурированной медицинской карты
Извлечение клинически значимых фактов из транскрипта и заполнение полей медицинской карты (жалобы, анамнез, объективный осмотр, диагноз, рекомендации и др.); поддержка 17 врачебных специальностей с индивидуальными шаблонами полей (см. раздел 3).
2.5. Контроль качества
Проверка извлечённых диагнозов по справочнику МКБ-10; проверка назначенных лекарственных препаратов по справочнику с обнаружением неподтверждённых и искажённых названий; механизмы защиты от добавления данных, которых не было в исходном аудио (anti-hallucination): любое заполненное поле опирается на конкретный фрагмент транскрипта.
2.6. Подтверждение и редактирование
Ручная коррекция ролей говорящих (переключение «врач/пациент» для отдельных реплик); редактирование любого поля медицинской карты непосредственно в веб-интерфейсе; повторная генерация отдельных секций по запросу врача.
2.7. Хранение истории приёмов
Сохранение сформированных медицинских карт и текстовых транскриптов в защищённом виде в базе данных программы; поиск по приёмам по дате, специальности, диагнозу; разграничение доступа: каждая карта видна только врачу, который её создал.
2.8. Экспорт в DOCX
Выгрузка готовой медицинской карты в редактируемом формате DOCX (Microsoft Word, LibreOffice, Apple Pages) для последующего внесения в медицинскую информационную систему (МИС) клиники в виде вложения или для печати на бумажном носителе. Для организаций доступен партнёрский API для интеграции с МИС.
2.9. Управление учётной записью
Регистрация по адресу электронной почты с подтверждением; выбор и смена врачебной специальности; запись и хранение голосового эталона врача для повышения точности диаризации; удаление учётной записи и всех связанных данных по запросу пользователя.
2.10. Биллинг и подписка
Бесплатный пробный период 14 календарных дней без указания платёжных реквизитов; платная подписка по одному из тарифов — «Специалист» (7 990 ₽ за 30 календарных дней либо 76 680 ₽ за 365 календарных дней, 1 врач), «Команда» (19 990 ₽ либо 191 880 ₽ за 365 дней, до 3 врачей) или «Организация» (5 990 ₽ за каждого врача за 30 календарных дней либо 64 680 ₽ за врача за 365 календарных дней, от 4 до 100 врачей; от 100 врачей — индивидуальные условия); актуальные тарифы — на странице med.protolika.ru/#pricing; приём платежей через платёжного агента ООО НКО «ЮMoney» (ЮKassa); автоматическое продление подписки с возможностью отключения в любой момент.
3. Поддерживаемые врачебные специальности
Программа поддерживает 17 врачебных специальностей; для каждой реализован отдельный шаблон полей медицинской карты с учётом профильных клинических разделов:
- Терапия
- Хирургия
- Кардиология
- Неврология
- Эндокринология
- Педиатрия
- Гинекология
- Дерматология
- Оториноларингология (ЛОР)
- Офтальмология
- Гастроэнтерология
- Пульмонология
- Психиатрия
- Урология
- Травматология-ортопедия
- Скорая медицинская помощь (форма 110/у)
- Приёмное отделение
4. Технические требования
Для работы с программой требуется устройство (персональный компьютер, ноутбук, планшет или смартфон) и установленный современный веб-браузер:
- Google Chrome версии 100 и выше;
- Mozilla Firefox версии 100 и выше;
- Apple Safari версии 15 и выше;
- Microsoft Edge версии 100 и выше.
Дополнительные требования:
- Микрофон устройства (встроенный или внешний) с предоставленным в браузере разрешением на доступ;
- Стабильное подключение к сети Интернет (рекомендуемая скорость не менее 10 Мбит/с);
- Включённая поддержка JavaScript и хранилища IndexedDB / LocalStorage в браузере;
- Корректное системное время и часовой пояс на устройстве.
Установка отдельного клиентского ПО не требуется. Программа работает как Progressive Web Application (PWA) и при желании может быть «установлена» средствами браузера на устройство пользователя (отдельная иконка на рабочем столе, запуск в собственном окне без панели браузера).
5. Установка и запуск
5.1. Способ распространения и установка на стороне пользователя
Программа распространяется в виде интернет-сервиса (SaaS): экземпляр Программы развёрнут на серверах правообладателя на территории Российской Федерации. Установка Программы на устройство пользователя не требуется — работа ведётся через веб-браузер (Google Chrome 100+, Mozilla Firefox 100+, Safari 15+, Microsoft Edge 100+). Для начала работы:
- Открыть в браузере сайт https://med.protolika.ru/.
- Нажать кнопку «Попробовать бесплатно» и перейти к форме регистрации: указать адрес электронной почты и пароль учётной записи.
- Подтвердить адрес электронной почты переходом по ссылке из письма, полученного на указанный e-mail.
- Войти в Личный кабинет и выбрать врачебную специальность из 17 доступных.
- (Опционально) В разделе «Профиль» записать голосовой эталон врача длительностью 20–60 секунд — это повышает точность определения роли говорящего при диаризации.
- Программа готова к работе: можно начинать запись первого приёма.
Опционально Программа устанавливается на устройство как прогрессивное веб-приложение (PWA) штатной функцией браузера: в Chrome/Edge — кнопка «Установить приложение» в адресной строке; на iOS (Safari) — «Поделиться» → «На экран "Домой"». Отдельный дистрибутив при этом не используется; удаление выполняется стандартными средствами операционной системы.
5.2. Установка серверной части (развёртывание on-premise)
По отдельному договору серверная часть Программы разворачивается на инфраструктуре заказчика специалистами правообладателя. Требования к серверу: Ubuntu 24.04 LTS (x86-64); графический ускоритель NVIDIA с видеопамятью от 48 ГБ (драйвер NVIDIA, CUDA 12+); от 12 ядер CPU, от 64 ГБ ОЗУ, NVMe от 500 ГБ; PostgreSQL 16, Python 3.11+, Node.js 20+ (для сборки веб-интерфейса), nginx, systemd. Контейнеризация и внешние облачные сервисы не требуются; модели распознавания речи, разделения говорящих и обработки текста размещаются локально и не требуют доступа к сети Интернет.
Порядок установки серверной части:
- Установить системные зависимости (PostgreSQL 16, Python 3.11+, nginx, драйвер NVIDIA с CUDA); создать базу данных и учётную запись СУБД.
- Разместить серверную часть Программы в каталоге
/opt/med-assist; установить зависимости Python в виртуальное окружение (pip install -r requirements.txt). - Разместить локальные модели машинного обучения в каталоге моделей из комплекта поставки.
- Собрать веб-интерфейс (
npm install && npm run build) и разместить результат сборки в каталоге статики. - Заполнить конфигурационный файл окружения (.env): параметры СУБД, ключ шифрования данных, домен, параметры электронной почты.
- Установить и включить systemd-сервисы (
systemctl enable --now medassist-backend medassist-sortformer); настроить nginx как обратный прокси с TLS-сертификатом. - Проверить работоспособность:
GET /api/healthвозвращает HTTP 200; веб-интерфейс открывается по адресуhttps://<домен>/app/; тестовая учётная запись выполняет запись и формирование карты. Миграции базы данных применяются автоматически при первом запуске.
6. Руководство пользователя
Типовой сценарий работы с программой во время приёма пациента:
- На вкладке «Новый приём» нажать кнопку «Начать запись» и предоставить браузеру доступ к микрофону (запрос появится при первом запуске).
- Провести консультацию в обычном режиме. Программа в фоновом режиме передаёт фрагменты аудио на серверную обработку.
- По завершении консультации нажать кнопку «Стоп». Программа выполняет финальную обработку (типичное время — от 30 до 180 секунд для четырёхминутного приёма).
- Проверить автоматически расставленные роли говорящих в транскрипте, при необходимости переключить «врач/пациент» для отдельных реплик одним нажатием.
- Просмотреть сформированную медицинскую карту, при необходимости отредактировать любые поля непосредственно в интерфейсе.
- Нажать кнопку «Скачать DOCX» и сохранить файл медицинской карты для внесения в МИС клиники или печати.
Дополнительные функции, доступные из Личного кабинета:
- раздел «История» — список всех ранее проведённых приёмов с поиском и фильтрацией;
- раздел «Профиль» — смена специальности, обновление голосового эталона, смена пароля;
- раздел «Подписка» — управление платной подпиской, просмотр истории платежей, отключение автопродления.
7. Архитектура программы
Программа имеет трёхзвенную архитектуру с разделением на клиентскую, серверную и хранения данных:
7.1. Клиентская часть
Веб-приложение на основе библиотеки React (язык TypeScript), выполняемое в браузере пользователя. Реализовано как Progressive Web Application с поддержкой оффлайн-кэширования статических ресурсов через Service Worker. Захват аудио со встроенного или внешнего микрофона выполняется через стандартный браузерный API MediaRecorder.
7.2. Серверная часть
Серверная часть реализована на языке Python с использованием веб-фреймворка FastAPI. Связь между клиентом и сервером — по протоколам HTTPS (REST-API) и защищённому WebSocket (для потоковой передачи аудио во время приёма). Серверная часть включает следующие подсистемы:
- Подсистема распознавания речи на базе модели семейства OpenAI Whisper (faster-whisper), исполняется локально на сервере правообладателя без обращения к внешним сервисам;
- Подсистема диаризации на базе моделей NVIDIA NeMo (Sortformer v2, TitaNet) и ECAPA-TDNN, исполняется локально;
- Подсистема извлечения медицинских фактов на базе языковой модели семейства Qwen (Qwen3), исполняется локально;
- Подсистема контроля качества — проверка извлечённых диагнозов по справочнику МКБ-10, проверка назначенных препаратов по справочнику, проверка обоснования каждого поля карты ссылкой на конкретный фрагмент транскрипта;
- Подсистема экспорта — формирование DOCX-файла медицинской карты по шаблону соответствующей специальности.
7.3. Хранение данных
Реляционная база данных PostgreSQL. В базе хранятся: учётные записи врачей, профильные настройки, текстовые транскрипты приёмов и сформированные медицинские карты. Аудиозаписи приёмов после получения транскрипта удаляются и в базе как аудио не сохраняются. Чувствительные поля медицинских карт и блоки сегментов диаризации шифруются на уровне приложения по алгоритму AES-256-GCM; ключ шифрования хранится отдельно от базы данных.
7.4. Размещение
Все компоненты программы и базы данных размещаются на серверах российского провайдера АО «Селектел», в центре обработки данных, физически расположенном на территории Российской Федерации. Передача данных между клиентом и сервером выполняется по протоколу TLS 1.3. Внешние модели машинного обучения (зарубежные облачные сервисы) при работе программы не используются — все ИИ-модели исполняются на серверах правообладателя в РФ.
8. Безопасность и обработка персональных данных
Обработка персональных данных осуществляется в соответствии с Федеральным законом № 152-ФЗ «О персональных данных». Оператор (ООО «Городские системы хранения», ИНН 9701318648) внесён в реестр операторов Федеральной службы по надзору в сфере связи, информационных технологий и массовых коммуникаций (Роскомнадзор): рег. № 77-26-551731, приказ № 246 от 12.05.2026 (pd.rkn.gov.ru).
Основные принципы обработки данных пациентов, реализованные в программе:
- программа не запрашивает у врача фамилию, имя, отчество пациента, дату рождения, пол, адрес проживания и контактный телефон — эти поля при необходимости заполняются врачом вручную после выгрузки карты;
- аудиозапись приёма по умолчанию не сохраняется после получения транскрипта: фрагменты аудио используются кратковременно для обработки и удаляются;
- хранятся текстовые транскрипты и поля карты в зашифрованном виде (с минимизацией идентифицирующих данных пациента);
- каждая карта доступна только тому врачу, который её создал;
- передача данных между клиентом и сервером выполняется по протоколу TLS 1.3;
- учётная запись и все связанные с ней данные удаляются по запросу пользователя из Личного кабинета — мгновенно и безвозвратно.
Подробные условия обработки персональных данных приведены в Политике конфиденциальности и в Соглашении об обработке персональных данных пациентов.
9. Контакты технической поддержки
- Электронная почта
- support@protolika.ru
- Время ответа
- В течение 1 рабочего дня (рабочие дни — по календарю Российской Федерации, 5/2)
- Способ обращения
- Письменное обращение по электронной почте с указанием адреса учётной записи и описанием проблемы
- Сайт программы
- https://med.protolika.ru/
10. Сведения о правообладателе
Исключительное право на программу для ЭВМ «Протолика.Мед» принадлежит правообладателю — ООО «Городские системы хранения» (Свидетельство о государственной регистрации программы для ЭВМ № 2026681779 от 16.07.2026, заявка № 2026681267/69 от 09.07.2026).
- Полное наименование
- Общество с ограниченной ответственностью «Городские системы хранения»
- ИНН / КПП
- 9701318648 / 770101001
- ОГРН
- 1257700421648
- Юридический адрес
- 105005, г. Москва, вн. тер. г. муниципальный округ Басманный, пер. Плетешковский, д. 3А, стр. 1, помещ. 3П
- Расчётный счёт
- 40702810001300047602 в АО «АЛЬФА-БАНК», БИК 044525593, к/с 30101810200000000593
- Генеральный директор
- Птицын Данила Алексеевич
- Электронная почта
- support@protolika.ru
- Статус (МТК)
- Малая технологическая компания, реестровая запись № 6445 от 18.12.2025 в Реестре малых технологических компаний Минэкономразвития РФ (реестр МТК)
- Реестр операторов ПДн (Роскомнадзор)
- рег. № 77-26-551731, приказ № 246 от 12.05.2026 (проверка в реестре)
11. Лицензирование и стоимость
Право использования программы предоставляется пользователю на условиях простой (неисключительной) лицензии путём удалённого доступа к сервису через сеть Интернет. Полные условия лицензии — в Публичной оферте. Условия и стоимость подписки — в разделе Тарифы на сайте программы (см. также раздел 2.10 настоящей документации).
Тип лицензии — простая (неисключительная), территория — все страны мира, срок — соответствует сроку действия подписки. Программа предоставляется по принципу «как есть» (as is) с гарантиями, прямо предусмотренными публичной офертой.
12. Жизненный цикл и поддержка программного обеспечения
Настоящий раздел описывает процессы поддержки, устранения неисправностей и совершенствования программы «Протолика.Мед» в течение её жизненного цикла, а также состав персонала, обеспечивающего эти процессы.
12.1. Поддержка пользователей
- Канал обращений в техническую поддержку: электронная почта support@protolika.ru.
- Время реакции на обращения: 1 рабочий день в рабочие часы (ПН–ПТ, 09:00–18:00 МСК).
- Время устранения критических неисправностей (отказ сервиса, потеря данных): 3 рабочих дня.
- Время устранения некритических неисправностей: до 7 рабочих дней.
- Каждое обращение регистрируется с уникальным номером.
12.2. Процесс устранения неисправностей
Все обнаруженные неисправности обрабатываются по следующему процессу:
- Регистрация обращения от пользователя (электронная почта).
- Анализ обращения, определение приоритета и категории неисправности.
- Воспроизведение неисправности в тестовой среде.
- Исправление в исходном коде, проведение модульных и интеграционных тестов.
- Развёртывание исправления на промышленной среде.
- Уведомление пользователя об устранении неисправности.
- Постмортем (для критических инцидентов).
Применяемые средства контроля качества:
- Система контроля версий Git с историей всех изменений;
- Модульные тесты (pytest для серверной части, vitest для клиентской части);
- Автоматическая проверка синтаксиса и стиля кода;
- Пред-деплойный чек-лист (синтаксис, импорты, тесты);
- Возможность отката изменений в течение нескольких минут через резервные копии.
12.3. Процесс совершенствования
- Релизный цикл: непрерывное развёртывание (continuous deployment) с возможностью отката.
- Новые функции проходят A/B-тестирование на изолированных тестовых данных перед промоутом в основной контур.
- Сбор обратной связи от пользователей через канал поддержки и через встроенный механизм обратной связи в личном кабинете.
- Регулярный анализ метрик качества (точность распознавания речи, точность атрибуции ролей, точность извлечения медицинских фактов).
Дорожная карта развития:
- Развитие партнёрского API для интеграции с медицинскими информационными системами (МИС) клиник;
- Расширение перечня поддерживаемых врачебных специальностей;
- Развитие функций контроля качества медицинских карт;
- Адаптация для специализированных сценариев (СМП, приёмное отделение, травмпункт).
12.4. Состав персонала, обеспечивающего поддержку
- Руководитель разработки / архитектор
- 1 человек, штатный сотрудник
- Юридическое сопровождение
- 1 организация, внешний договор
- Услуги хостинга и инфраструктуры
- АО «Селектел», договор оказания услуг
Контактное лицо для технических вопросов:
- ФИО: Птицын Данила Алексеевич;
- Должность: Генеральный директор;
- Электронная почта: support@protolika.ru.
Все работы по поддержке и развитию программного обеспечения выполняются гражданами Российской Федерации на территории Российской Федерации.
12.5. Инфраструктура поддержки
- Хостинг: АО «Селектел» (Российская Федерация);
- Резервное копирование: ежедневное, автоматическое;
- Мониторинг доступности: автоматический контроль работоспособности промышленной среды;
- Гарантированное электроснабжение и резервные каналы связи на стороне провайдера.
13. Жизненный цикл разработки программного обеспечения (SDLC)
Настоящий раздел описывает применяемые в проекте «Протолика.Мед» практики разработки, тестирования и развёртывания программного обеспечения. Все процессы документированы и подлежат регулярному пересмотру.
13.1. Методология разработки
- Подход: итеративная разработка с циклами длительностью 1–2 недели.
- Контроль версий: все изменения проходят через систему контроля версий Git; история изменений сохраняется без удаления.
- Атомарность изменений: каждый коммит описывает одно конкретное изменение с пояснением назначения; коммиты не публикуются в открытый репозиторий.
- Ветвление: отдельные ветки разработки для крупных функций, слияние в основную ветку только после прохождения автоматических проверок и ручного обзора.
13.2. Контроль качества кода
- Модульные тесты: на серверной части —
pytest; на клиентской —vitest. - Объём автотестов: более 1200 тестов серверной части и более 230 тестов клиентской части.
- Автоматическая проверка синтаксиса: компиляция всех файлов Python (
py_compile) и сборка фронтенда (TypeScript) при каждом коммите. - Статический анализ: запуск линтера
ruffпо серверному коду иeslintпо клиентскому коду. - Пред-деплойный чек-лист: проверка синтаксиса, импорта зависимостей, прохождения тестов, целостности конфигурации
nginx -t.
13.3. Процесс развёртывания
- Передача файлов: только по защищённому каналу
scp/sshс ключевой авторизацией; парольный доступ закрыт. - Атомарность изменений: сначала загружаются файлы во временное имя, затем проверяется синтаксис, после чего происходит атомарное переименование.
- Перезапуск службы: через
systemctl restartс проверкой состоянияsystemctl is-active; недоступность не превышает 5–10 секунд. - Проверка после деплоя: запрос на
/api/health, чтение журналаjournalctlна отсутствие ошибок и исключений. - Возможность отката: резервные копии конфигураций и кода позволяют восстановить предыдущую версию в течение 1–2 минут.
13.4. Управление зависимостями
- Python: файл
pyproject.tomlфиксирует все используемые пакеты с указанием версий. - JavaScript: файл
package.jsonфиксирует все клиентские зависимости с указанием версий. - Обновления безопасности: регулярные обновления зависимостей при выпуске security-патчей; критические уязвимости устраняются в течение 3 рабочих дней.
- Аудит зависимостей: ежемесячная проверка списка пакетов на известные уязвимости (
pip-audit,npm audit).
13.5. Тестирование
- Юнит-тесты: покрытие отдельных функций и классов; тестируются граничные случаи, обработка ошибок, инвариантные свойства.
- Интеграционные тесты: на каждый API-endpoint (FastAPI route) есть отдельный набор сценариев с авторизацией, валидацией входных данных и проверкой формата ответа.
- A/B-тестирование изменений: в изолированной среде на ограниченном пуле «золотых» аудиозаписей перед промоутом в промышленную среду; цель — не допустить регресса точности распознавания / диаризации / генерации карты.
- Регрессионное тестирование: весь набор автотестов прогоняется перед каждым релизом; релиз не выпускается, если хотя бы один тест не проходит.
- Сканирование безопасности: регулярные автоматические проверки на типичные уязвимости; каждое нарушение CSP-политики, обнаруженное в режиме
Content-Security-Policy-Report-Only, фиксируется и анализируется.