Details

Title Приложение для вакцинации детей, получающих иммуносупрессивную терапию: выпускная квалификационная работа бакалавра: направление 09.03.01 «Информатика и вычислительная техника» ; образовательная программа 09.03.01_02 «Технологии разработки программного обеспечения» = Application for vaccination of children receiving immunosuppressive therapy
Creators Горбук Максим Дмитриевич
Scientific adviser Богач Наталья Владимировна
Organization Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности
Imprint Санкт-Петербург, 2026
Collection Выпускные квалификационные работы ; Общая коллекция
Subjects мобильное приложение ; iOS ; SwiftUI ; FastAPI ; клиент-серверная архитектура ; REST API ; PostgreSQL ; вакцинация ; иммуносупрессивная терапия ; система поддержки принятия решений ; OpenAI ; GPT-4.1-nano ; педиатрия ; ГОСТ 7.32-2017 ; mobile application ; client-server architecture ; vaccination ; immunosuppressive therapy ; clinical decision support system ; pediatrics ; GOST 7.32-2017
Document type Bachelor graduation qualification work
Language Russian
Level of education Bachelor
Speciality code (FGOS) 09.03.01
Speciality group (FGOS) 090000 - Информатика и вычислительная техника
DOI 10.18720/SPBPU/3/2026/vr/vr26-4203
Rights Доступ по паролю из сети Интернет (чтение, печать)
Additionally New arrival
Record key ru\spstu\vkr\42856
Record create date 8/21/2026

Allowed Actions

Action 'Read' will be available if you login or access site from another network

Group Anonymous
Network Internet

Объектом исследования является процесс проектирования и реализации клиент-серверных систем поддержки принятия решений с интеграцией внешних LLM-моделей. Предметная область — педиатрическая вакцинация при иммуносупрессивной терапии. Целью работы является проектирование и реализация трёхуровневой клиент-серверной системы поддержки принятия решений (CDSS) MedAI на стеке iOS/SwiftUI + FastAPI/PostgreSQL с интеграцией большой языковой модели через backend-прокси, с обезличиванием персональных данных и graceful fallback на локальный календарь. В процессе работы проведён анализ предметной области и обзор аналогов, сформулированы 20 функциональных и 6 нефункциональных требований, спроектирована клиент-серверная архитектура с MVVM на iOS и слоистой архитектурой на FastAPI, реализована система из 13 560 строк Swift (iOS 17+) и 2 138 строк Python (FastAPI + Uvicorn + SQLAlchemy 2.0 async), содержащая 19 REST-эндпоинтов, 4 таблицы PostgreSQL, 2 миграции Alembic, async/await на всех уровнях, JWT HS256-аутентификацию, интеграцию с OpenAI gpt-4.1-nano через backend-прокси с обезличиванием PII, дерево решений на enum-паттерне для 12 препаратов (5 категорий) и модуль AIGuardrails с пятью группами правил валидации AI-ответов. Тестирование включает 14 автоматизированных pytest-тестов бэкенда, 91 XCTest-юнит-тест доменной логики iOS (включая 11 тестов AI-guardrails: prompt-injection, валидация доз и вакцин) и 20 сценариев ручного приёмочного тестирования.

The object of the study is the process of designing and implementing client-server clinical decision support systems (CDSS) integrated with external LLM models. The subject domain — pediatric vaccination under immunosuppressive therapy. The aim of the work is the design and implementation of a three-tier client-server clinical decision support system (CDSS) MedAI on iOS/SwiftUI + FastAPI/PostgreSQL stack with LLM integration through a backend proxy, with PII de-identification and graceful fallback to a local calendar. The work includes an analysis of the subject domain and a review of analogues; formulation of 20 functional and 6 non-functional requirements; design of a client-server architecture with MVVM on iOS and a layered architecture on FastAPI; implementation of a system of 13,560 Swift lines (iOS 17+) and 2,138 Python lines (FastAPI + Uvicorn + SQLAlchemy 2.0 async) containing 19 REST endpoints, 4 PostgreSQL tables, 2 Alembic migrations, async/await throughout, JWT HS256 authentication, integration with OpenAI gpt-4.1-nano through a backend proxy with PII de-identification, an enum-pattern decision tree for 12 drugs (5 categories), and an AIGuardrails module with five groups of AI response validation rules. Testing includes 14 automated pytest backend tests, 91 XCTest unit tests of iOS domain logic (including 11 AI-guardrails tests: prompt-injection, dose and vaccine validation), and approximately 20 manual acceptance test scenarios.

Network User group Action
ILC SPbPU Local Network All
Read Print
Internet Authorized users SPbPU
Read Print
Internet Anonymous
  • РЕФЕРАТ
  • ABSTRACT
  • СОДЕРЖАНИЕ
  • ВВЕДЕНИЕ
  • 1. АНАЛИТИЧЕСКИЙ ОБЗОР ПРЕДМЕТНОЙ ОБЛАСТИ
    • 1.1. Предметная область и инженерные вызовы
    • 1.2. Обзор существующих решений
    • 1.3. Выбор технологического стека
    • 1.4. Состав системы MedAI
  • 2. ТЕХНИЧЕСКОЕ ЗАДАНИЕ И ТРЕБОВАНИЯ
    • 2.1. Функциональные требования
      • 2.1.1. Управление пациентами
      • 2.1.2. Дерево решений
      • 2.1.3. Календарь вакцинации
      • 2.1.4. Медицинские калькуляторы
      • 2.1.5. Клинические шкалы
      • 2.1.6. AI-интеграция
    • 2.2. Нефункциональные требования
  • 3. ПРОЕКТИРОВАНИЕ АРХИТЕКТУРЫ СИСТЕМЫ
    • 3.1. Трёхуровневая архитектура MedAI
    • 3.2. C4-диаграммы уровней контейнеров и компонентов
    • 3.3. iOS MVVM-архитектура
    • 3.4. Сервисный слой iOS
    • 3.5. FastAPI-бэкенд: архитектура и структура
      • 3.5.1. REST-эндпоинты (всего 19)
    • 3.6. PostgreSQL-схема
    • 3.7. JWT-аутентификация и безопасность
    • 3.8. AI-интеграция: OpenAI gpt-4.1-nano
    • 3.9. Дерево решений: оценка допустимости вакцинации
    • 3.10. Deployment и Docker
  • 4. РЕАЛИЗАЦИЯ СИСТЕМЫ MedAI
    • 4.1. iOS-клиент: основные компоненты
      • 4.1.1. Точка входа (MedAIApp)
      • 4.1.2. Главные вью-компоненты (7)
      • 4.1.3. Ключевые модели (domain)
      • 4.1.4. Медицинские калькуляторы и шкалы
      • 4.1.5. Сетевой и персистентный слой
    • 4.2. FastAPI-бэкенд: реализация и эндпоинты
      • 4.2.1. Структура проекта
      • 4.2.2. Auth роутер (auth.py) — 3 эндпоинта
      • 4.2.3. Patients роутер (patients.py) — 5 эндпоинтов
      • 4.2.4. Vaccinations роутер (vaccinations.py) — 4 эндпоинта
      • 4.2.5. Calculations роутер (calculations.py) — 4 эндпоинта
      • 4.2.6. OpenAI Proxy роутер (openai_proxy.py) — 1 эндпоинт
    • 4.3. Интеграция OpenAI (gpt-4.1-nano) [28, 40]
    • 4.4. Дерево решений: реализация на iOS-клиенте
      • 4.4.1. Пороги иммуносупрессии (реализованные в коде)
    • 4.5. iOS-скриншоты и UI-макеты
    • 4.6. Особенности реализации
      • 4.6.1. Кодирование и персистенция на iOS
      • 4.6.2. Локализация (ru/en)
      • 4.6.3. Асинхронность на бэкенде
      • 4.6.4. Безопасность на iOS (Keychain)
      • 4.6.5. CORS на бэкенде
  • 5. ТЕСТИРОВАНИЕ И ВАЛИДАЦИЯ
    • 5.1. Backend: автоматизированные тесты (pytest)
      • 5.1.1. Тесты аутентификации (5 тестов)
      • 5.1.2. Тесты CRUD пациентов (5 тестов)
      • 5.1.3. Тесты API вакцинаций (2 теста)
      • 5.1.4. Тесты здоровья (2 теста)
    • 5.2. iOS: автоматизированные XCTest-юнит-тесты и приёмочное тестирование
    • 5.3. Требования безопасности и их проверка
      • 5.3.1. JWT-аутентификация
      • 5.3.2. Хеширование паролей
      • 5.3.3. CORS ограничения
      • 5.3.4. Транспортная безопасность (HTTP → HTTPS)
      • 5.3.5. Технический долг: шифрование локальных данных
      • 5.3.6. Валидация AI-ответов (AIGuardrails)
    • 5.4. Результаты тестирования
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
  • ПРИЛОЖЕНИЕ 1
    • 1.1. iOS: модель Patient (Codable)
    • 1.2. iOS: TherapyType enum с методом проверки иммуносупрессии
    • 1.3. FastAPI: роутер аутентификации (auth.py, сокращённо)
    • 1.4. FastAPI: OpenAI интеграция (сокращённо)
  • ПРИЛОЖЕНИЕ 2
    • 2.1. Тесты аутентификации (test_api.py, сокращённо)
    • 2.2. Тесты CRUD пациентов (test_api.py, сокращённо)
...