# Техническое задание на разработку системы "Medical Input Helper" ## 1. Введение ### 1.1. Наименование системы **Medical Input Helper** - интеллектуальная система автоматизации ввода медицинских текстов с поддержкой AI. ### 1.2. Назначение системы Разработка программного обеспечения для автоматизации процесса ввода и форматирования медицинских текстов, с интеграцией AI-моделей для анализа медицинских данных, включая обработку ЛОР-эндоскопических изображений. ## 2. Общие требования ### 2.1. Функциональное назначение Система должна предоставлять следующие возможности: - Автоматическое обнаружение полей ввода в различных приложениях - Интеллектуальная обработка медицинских текстов с использованием LLM - Анализ ЛОР-эндоскопических изображений и генерация медицинских заключений - Drag-and-drop интерфейс для работы с текстом и изображениями - Фоновая работа через системный трей ### 2.2. Целевая аудитория - Врачи-оториноларингологи - Медицинские регистраторы - Медицинский персонал, работающий с EHR системами ## 3. Технические требования ### 3.1. Архитектура системы ``` ┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐ │ GUI Layer │◄──►│ Business Logic │◄──►│ AI Services │ │ (PyQt6) │ │ Layer │ │ Layer │ └─────────────────┘ └──────────────────┘ └─────────────────┘ │ │ │ ▼ ▼ ▼ ┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐ │ System Tray │ │ Drag & Drop │ │ LLM Models │ │ Icon Window │ │ Handler │ │ Image Analysis │ └─────────────────┘ └──────────────────┘ └─────────────────┘ ``` ### 3.2. Компоненты системы #### 3.2.1. Основные модули (реализованы) - **main.py** - точка входа приложения - **main_window.py** - главное окно и управление состоянием - **main_interface.py** - пользовательский интерфейс - **ai_worker.py** - обработка AI запросов в отдельном потоке - **drag_drop_handler.py** - обработка drag-and-drop операций - **icon_window.py** - плавающая иконка приложения #### 3.2.2. Структура данных ``` project/ ├── models/ # AI модели (LLM + компьютерное зрение) ├── data/ # Пользовательские данные и изображения ├── chroma_db/ # Векторная база медицинских знаний └── rag_corpus.json # Медицинский корпус для RAG ``` ### 3.3. Технологический стек - **GUI Framework**: PyQt6 - **AI/ML**: llama-cpp-python, ChromaDB, Sentence Transformers - **Computer Vision**: OpenCV, Pillow, Torch - **System Integration**: uiautomation, pyperclip, keyboard - **Utilities**: qtawesome, psutil, requests ## 4. Функциональные требования ### 4.1. Модуль автоматизации ввода (реализован) #### 4.1.1. Обнаружение полей ввода - [x] Автоматическое определение фокуса на редактируемых полях - [x] Поддержка различных типов контролов (Edit, Text, ComboBox) - [x] Работа с нативными приложениями и веб-браузерами #### 4.1.2. Управление интерфейсом - [x] Плавающее окно с автоматическим позиционированием - [x] Два режима работы: компактный и расширенный - [x] Перетаскивание окон мышью - [x] Системный трей для фоновой работы ### 4.2. Модуль обработки текста (реализован) #### 4.2.1. Базовые функции - [x] Копирование текста из активных полей - [x] Вставка форматированного текста - [x] Drag-and-drop для текстового контента #### 4.2.2. AI-обработка текста - [x] Интеграция с YandexGPT-5-Lite моделью - [x] RAG (Retrieval-Augmented Generation) для медицинских текстов - [x] Специализированные промпты для: - [x] Обработки жалоб пациента - [x] Форматирования анамнеза заболевания - [x] Генерации медицинских заключений ### 4.3. Модуль работы с изображениями (частично реализован) #### 4.3.1. Загрузка и обработка изображений (реализовано) - [x] Drag-and-drop загрузка локальных файлов - [x] Загрузка изображений по URL - [x] Поддержка форматов: JPG, PNG, BMP, GIF, TIFF, WebP - [x] Автоматическое определение типа контента #### 4.3.2. Анализ ЛОР-эндоскопических изображений (требует доработки) - [ ] Интеграция моделей компьютерного зрения для анализа: - [ ] Состояния барабанной перепонки - [ ] Патологий наружного слухового прохода - [ ] Воспалительных процессов - [ ] Наличия инородных тел - [ ] Классификация изображений по типам патологий - [ ] Генерация структурированного ЛОР-статуса #### 4.3.3. Генерация медицинских заключений - [ ] Комбинированный анализ: изображение + анамнез - [ ] Автоматическая генерация заключения ИИ - [ ] Форматирование согласно медицинским стандартам ## 5. Требования к AI-компонентам ### 5.1. Текстовая обработка (реализована) - **Модель**: YandexGPT-5-Lite-8B-instruct (GGUF) - **Контекст**: 2048 токенов - **Температура**: 0.1 для детерминированных результатов - **RAG система**: ChromaDB с rubert-tiny2 эмбеддингами ### 5.2. Визуальный анализ (требует реализации) #### 5.2.1. Модели компьютерного зрения - **Основная модель**: Предобученная CNN для классификации ЛОР-изображений - **Дополнительные модели**: - Segmentation моделей для выделения областей интереса - Detection моделей для идентификации патологий #### 5.2.2. Требования к анализу изображений - **Точность классификации**: >85% для основных патологий - **Время обработки**: <10 секунд на изображение - **Поддерживаемые патологии**: - Отиты (наружный, средний) - Перфорации барабанной перепонки - Инородные тела слухового прохода - Новообразования - Воспалительные процессы ## 6. Интерфейс пользователя ### 6.1. Основной интерфейс (реализован) - [x] Компактный режим (70px) для экономии места - [x] Расширенный режим (200px) с полным функционалом - [x] Адаптивные drop-зоны для разных типов контента - [x] Визуальная индикация процесса обработки ### 6.2. Элементы управления (реализованы) - [x] Кнопка "Копировать жалобы" - [x] Кнопка "Копировать анамнез" - [x] Кнопка "ЛОР-Статус" - [x] Кнопка "Заключение ИИ" - [x] Кнопка "Новый случай" ### 6.3. Визуальное оформление (реализовано) - [x] Темная тема с градиентами - [x] Иконки QtAwesome для лучшей визуализации - [x] Анимации изменения размеров окон - [x] Эффекты тени и прозрачности ## 7. Требования к производительности ### 7.1. Время отклика - Загрузка интерфейса: <3 секунд - Обработка текста LLM: <15 секунд - Анализ изображения: <10 секунд - Переключение между режимами: <0.5 секунд ### 7.2. Использование ресурсов - Память: <2GB в режиме ожидания - Память с LLM: <4GB при активной обработке - CPU: <15% в режиме ожидания ## 8. Требования к совместимости ### 8.1. Операционные системы - [x] Windows 10/11 - [ ] Linux (требует тестирования) - [ ] macOS (требует тестирования) ### 8.2. Целевые приложения - [x] Веб-браузеры (Chrome, Edge, Firefox) - [x] Текстовые редакторы (Word, Блокнот) - [x] EHR системы (тестирование требуется) - [x] Почтовые клиенты ## 9. Этапы разработки ### Этап 1: Базовый функционал (РЕАЛИЗОВАН) - [x] Архитектура приложения - [x] Основной GUI - [x] Система drag-and-drop - [x] Интеграция LLM для текста - [x] Системный трей и фоновая работа ### Этап 2: Анализ изображений (В РАЗРАБОТКЕ) - [ ] Интеграция моделей компьютерного зрения - [ ] Разработка пайплайна обработки ЛОР-изображений - [ ] Тестирование точности классификации - [ ] Оптимизация производительности ### Этап 3: Расширенная функциональность (ПЛАНИРУЕТСЯ) - [ ] Поддержка дополнительных медицинских специальностей - [ ] Интеграция с медицинскими базами данных - [ ] Расширенная кастомизация интерфейса - [ ] Пакетная обработка данных ## 10. Критерии приемки ### 10.1. Функциональные тесты - [ ] Автоматическое появление панели при фокусе на поле ввода - [ ] Корректная обработка медицинских текстов LLM - [ ] Точная классификация ЛОР-изображений (>85%) - [ ] Стабильная работа в фоновом режиме ### 10.2. Производительностные тесты - [ ] Обработка 100+ текстовых запросов без утечек памяти - [ ] Анализ 50+ изображений без деградации производительности - [ ] Работа в течение 24+ часов без перезапуска ### 10.3. Пользовательские тесты - [ ] Удобство использования медицинским персоналом - [ ] Сокращение времени на ввод документации на 40% - [ ] Положительные отзывы от 10+ тестовых пользователей ## 11. Документация ### 11.1. Техническая документация - [x] README с инструкциями по установке - [x] .gitignore для управления версиями - [ ] API документация для AI модулей - [ ] Руководство по развертыванию ### 11.2. Пользовательская документация - [ ] Руководство пользователя - [ ] Видео-инструкции по основным сценариям - [ ] FAQ по решению常见 проблем ## 12. Медицинские требования и ограничения ### 12.1. Предупреждения - Система является вспомогательным инструментом - Все AI-генерации должны проверяться врачом - Не заменяет профессиональную медицинскую диагностику ### 12.2. Соответствие стандартам - Соблюдение медицинской этики - Конфиденциальность patient data - Соответствие требованиям к медицинскому ПО --- **Техническое задание утверждено:** [Дата] **Версия:** 1.0 **Статус:** В разработке (Этап 1 завершен, Этап 2 в процессе)