Медицинский регистр РК "Emdeu AI+".
API
Backend реестра пациентов: ЭЦП, госинтеграции, стандарт обмена данными HL7 HFIR.
Описание
Серверная платформа медицинского реестра пациентов уровня отраслевой информационной системы. Это не CRM для клиники: врач заводит пациента, ведёт визиты, заполняет структурированную медицинскую карту и подписывает данные электронной цифровой подписью, а система накапливает верифицированный массив, пригодный для аналитики и обмена с внешними системами.
Предметно система заточена под ревматологию и артериальную гипертонию, но построена на разделах болезней и специализациях как на настраиваемых сущностях: справочники, вкладки карточки, анализы, рентген-блоки и классы лекарств привязываются к специализации через связующие таблицы. Добавление новой нозологии — задача конфигурирования, а не переписывания кода.
Масштаб: около двадцати шести групп маршрутов, свыше сотни моделей базы, десятки предметных областей. Всё асинхронное, все первичные ключи — идентификаторы без последовательности, вся справочная информация мультиязычная через отдельные таблицы переводов по единому шаблону.
Первое нестандартное решение — юридически значимая подпись. Реализован собственный модуль работы с электронной подписью на чистом Python, без проприетарного набора разработчика: разбор подписи, проверка цепочки сертификатов, проверка отзыва и извлечение идентификатора из данных сертификата. Подпись используется и как способ входа в систему, и как подпись визита.
Второе — государственные интеграции. Врач вводит идентификатор, пациент подтверждает согласие сообщением, система асинхронно получает официальные данные и предлагает врачу их подтвердить: автоматически карточка не перезаписывается, решение остаётся за человеком.
Третье — совместимость. Данные выгружаются в международный стандарт обмена медицинскими данными сразу в двух форматах, включая сборный пакет по визиту, который автоматически подтягивает всю цепочку сущностей от страны и региона до врача и случая обращения. Сериализатор второго формата написан вручную под нотацию стандарта.
Производительность проработана отдельно: включён кеш с разделением на глобальную зону справочников и пользовательскую зону данных карточки с изоляцией по идентификатору из токена, со скользящим временем жизни и адресной инвалидацией по группам. Прирост на чтении в бою — примерно в восемь-девять раз. Система работает в двух контурах: облачном и на выделенном сервере, где живёт продуктивная нагрузка и государственные интеграции.
Что решено
- Реестр пациентов: карточка, поиск, привязка к клиникам и регионам, идентификация с историей дубликатов
- Визиты с историей, привязкой к специализации и версии шаблона карточки и подписью электронной подписью
- Структурированный анамнез примерно на шестьдесят полей с отдельным блоком показателей по гипертонии
- Осмотр: поражение суставов по семи группам, внесуставные проявления по системам органов, витальные показатели и расчёт сердечно-сосудистого риска
- Конструктор осмотра: администратор собирает секции, блоки, вопросы и варианты ответов без правки кода
- Опросники с шаблонами и вариантами ответов, включая функциональный индекс с отдельным дашбордом
- Справочник препаратов со связками на классификацию болезней, формы выпуска, дозировки, кратность и методы применения
- Лабораторные анализы с типизированными значениями свойств и рентгенография с загрузкой изображений в файловое хранилище
- Справочники международной классификации болезней с иерархией и переводами плюс скрипты автоматического наполнения
- Процесс мультидисциплинарной группы: направление на отбор терапии комиссией, замороженный снимок данных, экспертный опросник с подписью и общее заключение с генерацией номера
- Авторизация с асимметричной подписью токенов, вход по логину и по электронной подписи, шесть ролей и матрица прав, ограничение доступа к пациентам по клинике
- Десять эндпоинтов аналитических дашбордов: демография, заболевания, лечение, агрегации индексов, сравнительные и табличные отчёты, экспорт
- Выгрузка в международный стандарт обмена медицинскими данными в двух форматах со сборным пакетом по визиту
- Кеш с разделением глобальной и пользовательской зон, скользящим временем жизни и адресной инвалидацией — ускорение чтения в восемь-девять раз
- Два независимых контура развёртывания, кастомизированная документация API и админ-эндпоинты управления кешем
Технологии
Python, FastAPI, SQLAlchemy, PostgreSQL, Redis, HL7 FHIR