2 changed files with 435 additions and 3 deletions
			
			
		@ -0,0 +1,261 @@ | 
				
			|||||||
 | 
					# Техническое задание на разработку системы "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 в процессе) | 
				
			||||||
					Loading…
					
					
				
		Reference in new issue