Files
Medical_Input_Helper/Техническое Задание.md
2025-11-01 21:39:19 +05:00

261 lines
15 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Техническое задание на разработку системы "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 в процессе)