commit f94df248d0bc572caf29e1469af45df990799809 Author: chistogov Date: Sat Nov 1 21:28:55 2025 +0500 first commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..660d203 --- /dev/null +++ b/.gitignore @@ -0,0 +1,221 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm.fming.dev/#use-with-ide +.pdm.toml + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can ignore the whole idea folder. +.idea/ + +# VS Code +.vscode/ +*.code-workspace + +# Data files +*.db +*.sqlite +*.sqlite3 + +# ChromaDB database +chroma_db/ + +# AI Models +models/ +!models/.gitkeep + +# Downloaded data +data/ +!data/.gitkeep + +# Temporary files +*.tmp +*.temp +*.log + +# OS generated files +.DS_Store +.DS_Store? +._* +.Spotlight-V100 +.Trashes +ehthumbs.db +Thumbs.db + +# Windows +*.lnk + +# Application specific +# rag_corpus.json +config.json + +# LLM cache and temporary files +.cache/ +*.gguf.tmp + +# Logs +logs/ +*.log + +# Backup files +*.bak +*.backup + +# Local configuration +local_config.py +settings_local.py + +# Large files (добавьте сюда файлы больше 100MB если они есть) +# *.largefile +/scripts/ \ No newline at end of file diff --git a/rag_corpus.json b/rag_corpus.json new file mode 100644 index 0000000..0090fb1 --- /dev/null +++ b/rag_corpus.json @@ -0,0 +1,1706 @@ +[ + { + "short": "Жалобы на заложенность носа, гнойные выделения, головную боль в области лба. Симптомы более 2 нед. Капли использовал, временный эффект.", + "full": "Со слов пациента, предъявляет жалобы на заложенность носа, гнойные выделения из носовых ходов и головную боль в области лба. Симптомы сохраняются более двух недель. Пробовал использовать сосудосуживающие капли, отмечал временный эффект." + }, + { + "short": "Острый правосторонний отит в анамнезе. Перфорация барабанной перепонки не подтверждена. Лечился антибиотиками (название не помнит).", + "full": "Со слов пациента, в анамнезе был эпизод острого правостороннего отита. Перфорация барабанной перепонки не была подтверждена. Проходил курс лечения антибиотиками, название препарата не помнит." + }, + { + "short": "Попала вода в ухо при плавании. Через 2 дня появились зуд, боль, выделения. Самостоятельно чистил ухо.", + "full": "Со слов пациента, два дня назад в правое ухо попала вода при плавании. После этого появились зуд, боль и выделения. Пациент пытался самостоятельно чистить ухо." + }, + { + "short": "Храп, апноэ во сне по словам родственников. Носовое дыхание затн. Днем сонливость.", + "full": "Со слов пациента, родственники отмечают наличие храпа и остановок дыхания (апноэ) во сне. Носовое дыхание затруднено. Днем беспокоит повышенная сонливость." + }, + { + "short": "Инородное тело носа (бусина) у ребенка 4 лет. Родители пытались извлечь пинцетом, безуспешно.", + "full": "Со слов родителей, ребенок 4 лет поместил в нос бусину. Родители пытались извлечь инородное тело с помощью пинцета, но безуспешно." + }, + { + "short": "Внезапное снижение слуха на левое ухо, шум в ухе после простуды. Ототоксичные ЛС не принимал.", + "full": "Со слов пациента, после перенесенной простуды отметил внезапное снижение слуха на левое ухо и появление шума в нем. Ототоксичные лекарственные средства не принимал." + }, + { + "short": "Боль в горле, налеты на миндалинах, лихорадка до 39°C. Антибиотики не принимал. Контактов с больными ангиной нет.", + "full": "Со слов пациента, предъявляет жалобы на боль в горле, налеты на миндалинах и повышение температуры тела до 39°C. Антибиотики не принимал. Контактов с больными ангиной не было." + }, + { + "short": "Хр. тонзиллит, частые ангины (2-3 р/год). Пробки в миндалинах, неприятный запах изо рта.", + "full": "Со слов пациента, страдает хроническим тонзиллитом с частыми обострениями (2-3 раза в год). Беспокоят пробки в миндалинах и неприятный запах изо рта." + }, + { + "short": "Проф. вредности (пыль, хим. пары). Сухость, першение в горле, осиплость к концу рабочего дня.", + "full": "Со слов пациента, работает в условиях профессиональных вредностей (контакт с пылью и химическими парами). Беспокоят сухость и першение в горле, осиплость голоса, которые усиливаются к концу рабочего дня." + }, + { + "short": "Травма носа с хрустом. Деформация спинки носа, затруднение носового дыхания. Кровотечение было, остановилось само.", + "full": "Со слов пациента, получил травму носа, сопровождавшуюся хрустом. Отмечает деформацию спинки носа и затруднение носового дыхания. Кровотечение из носа было, остановилось самостоятельно." + }, + { + "short": "Ощущение кома в горле, усил. при глотании слюны. Связывает со стрессом. ЭГДС без патологии.", + "full": "Со слов пациента, беспокоит ощущение кома в горле, усиливающееся при глотании слюны. Связывает появление симптомов со стрессом. Ранее проходил ЭГДС, патологии выявлено не было." + }, + { + "short": "Головокружение системного хар-ра, провоцируется поворотами головы. Тошноты, рвоты нет.", + "full": "Со слов пациента, беспокоят головокружения системного характера, которые провоцируются поворотами головы. Тошноты и рвоты не отмечает." + }, + { + "short": "Рецидивир. герпес на кр. кайме губ и слизистой носа. Обострения 3-4 р/год.", + "full": "Со слов пациента, страдает рецидивирующим герпесом с высыпаниями на красной кайме губ и слизистой оболочке носа. Обострения случаются 3-4 раза в год." + }, + { + "short": "Ангины с детства. Ревм. атака в 15 лет. Сейчас жалоб нет, проф. осмотр.", + "full": "Со слов пациента, с детства страдал частыми ангинами. В возрасте 15 лет перенес ревматическую атаку. В настоящее время жалоб не предъявляет, обратился для профессионального осмотра." + }, + { + "short": "Ожог слизистой глотки горячей пищей. Боль, невозм. глотать твердую пищу. Пьет прохладную воду.", + "full": "Со слов пациента, получил ожог слизистой глотки горячей пищей. Беспокоит сильная боль, невозможность глотать твердую пищу. Для облегчения состояния пьет прохладную воду." + }, + { + "short": "Аденоиды 2 ст. у ребенка 6 лет. Дыхание ртом ночью, гнусавость. Частые отиты.", + "full": "Со слов родителя, у ребенка 6 лет диагностированы аденоиды 2 степени. Отмечает дыхание ртом ночью, гнусавость голоса и частые эпизоды отитов." + }, + { + "short": "Постназальный затек, кашель по утрам. Ощущение стекания слизи по задней стенке глотки.", + "full": "Со слов пациента, беспокоит кашель по утрам, связанный с постназальным затеком. Отмечает ощущение стекания слизи по задней стенке глотки." + }, + { + "short": "Полипозный риносинусит в анамнезе. Операция 5 лет назад. Сейчас рецидив - заложенность, потеря обоняния.", + "full": "Со слов пациента, страдает полипозным риносинуситом в анамнезе. Перенес операцию 5 лет назад. В настоящее время отмечает рецидив заболевания: заложенность носа и потерю обоняния." + }, + { + "short": "Ларингоспазм при плаче у ребенка 2 лет. Эпизоды короткие, проходят самостоятельно.", + "full": "Со слов родителя, у ребенка 2 лет возникают эпизоды ларингоспазма при плаче. Эпизоды короткие, проходят самостоятельно." + }, + { + "short": "Проф. ларингит. Преподаватель. Осиплость, утомляемость голоса к 3-4 паре.", + "full": "Со слов пациента, работает преподавателем. Беспокоит осиплость и утомляемость голоса, которые нарастают к 3-4 паре занятий." + }, + { + "short": "Искривление перегородки носа после травмы в подростк. возрасте. Затруднение дыхания прав. полов. носа.", + "full": "Со слов пациента, после травмы в подростковом возрасте сформировалось искривление перегородки носа. Беспокоит затруднение дыхания правой половиной носа." + }, + { + "short": "Сенсоневральная тугоухость 2 ст. Слуховой аппарат не использует, хочет подобрать.", + "full": "Со слов пациента, имеет диагноз сенсоневральная тугоухость 2 степени. Слуховой аппарат не использует, обратился для подбора." + }, + { + "short": "Фурункул преддверия носа. Самостоятельно выдавливал. Ухудшение - отек, боль, гиперемия.", + "full": "Со слов пациента, в преддверии носа образовался фурункул, который он пытался самостоятельно выдавить. После этого отметил ухудшение: усиление отека, боли и гиперемии." + }, + { + "short": "Вазомоторный ринит. Заложенность попеременно то одной, то другой полов. носа. Зависит от температуры воздуха.", + "full": "Со слов пациента, страдает вазомоторным ринитом. Беспокоит заложенность носа, которая попеременно возникает то в одной, то в другой половине носа. Симптомы зависят от температуры окружающего воздуха." + }, + { + "short": "Острый средний отит на фоне ОРВИ. Боль, снижение слуха, чувство заложенности. Температура 37.8.", + "full": "Со слов пациента, на фоне ОРВИ развился острый средний отит. Беспокоит боль, снижение слуха и чувство заложенности в ухе. Температура тела повышена до 37.8°C." + }, + { + "short": "Инородное тело уха (насекомое). Шум, шевеление в наружном слуховом проходе. Пытался промыть шприцем.", + "full": "Со слов пациента, в наружный слуховой проход попало насекомое. Беспокоят шум и ощущение шевеления. Пытался промыть ухо с помощью шприца." + }, + { + "short": "Аллерг. ринит. Сезонный, на цветение березы. Чиханье, зуд в носу, водянистые выделения.", + "full": "Со слов пациента, страдает сезонным аллергическим ринитом на цветение березы. Беспокоят приступы чихания, зуд в носу и обильные водянистые выделения." + }, + { + "short": "Парез гортани после тиреоидэктомии 3 мес. назад. Осиплость, поперхивание жидкой пищей.", + "full": "Со слов пациента, три месяца назад перенес тиреоидэктомию, после чего развился парез гортани. Беспокоит стойкая осиплость и поперхивание при приеме жидкой пищи." + }, + { + "short": "Кандидоз полости рта и глотки после АБ терапии. Белый налет, жжение. Самостоятельно использовал соду.", + "full": "Со слов пациента, после курса антибактериальной терапии развился кандидоз полости рта и глотки. Беспокоит белый налет на слизистой и жжение. Пытался лечиться самостоятельно, использовал полоскания содой." + }, + { + "short": "Гайморит? Гнойные выделения из носа, боль в проекции пазух, температура 38.1. Болеет 10 дней.", + "full": "Со слов пациента, болеет в течение 10 дней. Беспокоят гнойные выделения из носа, боль в проекции верхнечелюстных пазух и повышение температуры тела до 38.1°C." + }, + { + "short": "Отосклероз? Прогресс. снижение слуха, шум в ушах. У матери аналогичная проблема.", + "full": "Со слов пациента, отмечает прогрессирующее снижение слуха и шум в ушах. У матери была аналогичная проблема." + }, + { + "short": "Перитонзиллярный абсцесс в анамнезе 2 года назад. Сейчас боль в горле с одной стороны, тризм.", + "full": "Со слов пациента, два года назад в анамнезе был перитонзиллярный абсцесс. В настоящее время вновь беспокоит боль в горле с одной стороны и затруднение открывания рта (тризм)." + }, + { + "short": "Носовое кровотечение у подростка. Возникает спонтанно, из зоны Киссельбаха. Останавливает прижатием.", + "full": "Со слов родителя, у подростка возникают спонтанные носовые кровотечения из зоны Киссельбаха. Кровотечение останавливается прижатием крыльев носа." + }, + { + "short": "Хр. катаральный отит. Чувство заложенности, аутофония. При рините симптомы усиливаются.", + "full": "Со слов пациента, страдает хроническим катаральным отитом. Беспокоит чувство заложенности в ушах и аутофония. Симптомы усиливаются при насморке." + }, + { + "short": "Гипертрофия н. раковин. Стойкое затруднение нос. дыхания. Сосудосужив. капли использует ежедневно более года.", + "full": "Со слов пациента, беспокоит стойкое затруднение носового дыхания, обусловленное гипертрофией носовых раковин. Сосудосуживающие капли использует ежедневно на протяжении более года." + }, + { + "short": "Острый ларингит. Потеря голоса, сухой кашель. Накануне много говорил на холоде.", + "full": "Со слов пациента, накануне много говорил на холодном воздухе. Сегодня отмечает потерю голоса и сухой кашель." + }, + { + "short": "Состояние после радиойодтерапии. Сухость во рту, нарушение вкуса. Жалоб со стороны ЛОР-органов нет.", + "full": "Со слов пациента, перенес радиойодтерапию. Беспокоит сухость во рту и нарушение вкуса. Специфических жалоб со стороны ЛОР-органов не предъявляет." + }, + { + "short": "Киста небной миндалины. Обнаружена случайно. Ощущение инородного тела в горле.", + "full": "Со слов пациента, киста небной миндалины была обнаружена случайно. Беспокоит ощущение инородного тела в горле." + }, + { + "short": "Отомикоз. Зуд в ухе, шелушение. Часто плавает в бассейне, чистит уши ватными палочками.", + "full": "Со слов пациента, беспокоят зуд в ухе и шелушение. Пациент часто плавает в бассейне и регулярно чистит уши ватными палочками." + }, + { + "short": "Искривление перегородки носа. Затруднение дыхания с двух сторон. Храп. Консервативное лечение неэффективно.", + "full": "Со слов пациента, беспокоит затруднение носового дыхания с двух сторон и храп. Консервативное лечение эффекта не приносит." + }, + { + "short": "Папиллома голосовой складки. Охриплость прогрессирует. Курит 20 лет.", + "full": "Со слов пациента, отмечает прогрессирующую охриплость. Курит в течение 20 лет." + }, + { + "short": "Риноликворея после ЧМТ 1 мес. назад. Прозрачные выделения из носа при наклоне головы.", + "full": "Со слов пациента, месяц назад перенес черепно-мозговую травму. В настоящее время отмечает прозрачные выделения из носа, усиливающиеся при наклоне головы." + }, + { + "short": "Хр. субатрофический фарингит. Сухость, першение, ощущение кома. Пьет мало воды.", + "full": "Со слов пациента, страдает хроническим субатрофическим фарингитом. Беспокоят сухость, першение и ощущение кома в горле. Отмечает, что пьет недостаточное количество воды." + }, + { + "short": "Баротравма уха при авиаперелете. Резкая боль, затем шум и снижение слуха. Зевание, глотание не помогли.", + "full": "Со слов пациента, во время авиаперелета получил баротравму уха. Возникла резкая боль, а затем шум и снижение слуха. Попытки зевать и глотать не принесли облегчения." + }, + { + "short": "Гипосмия после перенесенного ковида 2 мес. назад. Обоняние восстанавливается частично.", + "full": "Со слов пациента, два месяца назад перенес COVID-19, после чего развилась гипосмия. В настоящее время обоняние восстанавливается, но частично." + }, + { + "short": "Лимфаденит подчелюстной обл. Увел. болезн. узлы справа. Боль в горле была 2 нед. назад.", + "full": "Со слов пациента, отмечает увеличение и болезненность подчелюстных лимфоузлов справа. Около двух недель назад перенес боль в горле." + }, + { + "short": "Неврит слухового нерва? Снижение слуха, шум в ушах, головокружение. Работа в шумном цеху.", + "full": "Со слов пациента, работает в шумном цеху. Беспокоит снижение слуха, шум в ушах и головокружение." + }, + { + "short": "Инородное тело глотки (рыбья кость). Боль при глотании. Пытался протолкнуть хлебной коркой.", + "full": "Со слов пациента, проглотил рыбью кость. Беспокоит боль при глотании. Пытался протолкнуть кость, проглотив хлебную корку." + }, + { + "short": "Острый евстахиит. Заложенность ушей, ощущение жидкости в ухе. Возник на фоне ринита.", + "full": "Со слов пациента, на фоне ринита развился острый евстахиит. Беспокоит заложенность ушей и ощущение переливания жидкости в ухе." + }, + { + "short": "Хр. гиперпластический ларингит. Стойкая осиплость. Курит. От операции отказывается.", + "full": "Со слов пациента, страдает хроническим гиперпластическим ларингитом. Беспокоит стойкая осиплость. Пациент курит. От предлагаемого оперативного лечения отказывается." + }, + { + "short": "Сиалолитиаз (камень протока подъязычной слюнной железы). Боль, увеличение железы при приеме пищи.", + "full": "Со слов пациента, беспокоит боль и увеличение подъязычной слюнной железы во время приема пищи." + }, + { + "short": "Поствоспалительная дисфония. Голос не восстановился после ларингита 3 нед. назад.", + "full": "Со слов пациента, три недели назад перенес ларингит. Голос до настоящего времени не восстановился." + }, + { + "short": "Хр. синусит (лобн., верхнечел.). Головная боль, тяжесть в лице. Температуры нет.", + "full": "Со слов пациента, страдает хроническим синуситом (лобным, верхнечелюстным). Беспокоит головная боль и чувство тяжести в области лица. Температура тела не повышена." + }, + { + "short": "Отек Квинке на укус пчелы в губу в анамнезе. Сейчас отек губ, языка после фруктов. Антигистаминные помогли.", + "full": "Со слов пациента, в анамнезе был отек Квинке на укус пчелы в губу. В настоящее время после употребления фруктов в пищу развился отек губ и языка. Прием антигистаминных препаратов помог." + }, + { + "short": "Парестезия глотки. Ощущение жжения, ползания мурашек. Меняется в течение дня.", + "full": "Со слов пациента, беспокоит парестезия глотки в виде ощущения жжения и ползания мурашек. Симптомы меняются в течение дня." + }, + { + "short": "Состояние после септопластики 1 мес. назад. Дыхание улучшилось, но есть сухие корки.", + "full": "Со слов пациента, месяц назад перенес септопластику. Носовое дыхание улучшилось, но беспокоят сухие корки в носу." + }, + { + "short": "Острый тонзиллит (лакунарный). Налеты на миндалинах, боль, лихорадка. АБ не принимал.", + "full": "Со слов пациента, предъявляет жалобы на налеты на миндалинах, боль в горле и лихорадку. Антибиотики не принимал." + }, + { + "short": "Доброкач. пароксизм. позиционное головокружение. Эпизоды при повороте в постели. Симптома Ромберга нет.", + "full": "Со слов пациента, беспокоят эпизоды головокружения, возникающие при повороте в постели. Симптом Ромберга отрицательный." + }, + { + "short": "Фарингомикоз. Творожистые налеты в глотке, жжение. Болеет сахарным диабетом.", + "full": "Со слов пациента, страдает сахарным диабетом. Беспокоят творожистые налеты в глотке и чувство жжения." + }, + { + "short": "Гематома носовой перегородки после травмы. Затруднение дыхания, распирание.", + "full": "Со слов пациента, после травмы носа образовалась гематома носовой перегородки. Беспокоит затруднение носового дыхания и чувство распирания." + }, + { + "short": "Острый наружный диффузный отит. Боль в ухе, отечность, выделения. Плавал в открытом водоеме.", + "full": "Со слов пациента, плавал в открытом водоеме. После этого развился острый наружный диффузный отит: беспокоит боль в ухе, отечность и выделения." + }, + { + "short": "Ощущение серной пробки. Снижение слуха, аутофония. Пытался промыть ухо самостоятельно.", + "full": "Со слов пациента, беспокоит снижение слуха и аутофония. Пытался промыть ухо самостоятельно для удаления предполагаемой серной пробки." + }, + { + "short": "Подголосовой ларингит у ребенка 3 лет. Лающий кашель, инспираторная одышка. Симптомы усиливаются ночью.", + "full": "Со слов родителя, у ребенка 3 лет отмечается лающий кашель и инспираторная одышка. Симптомы усиливаются в ночное время." + }, + { + "short": "Ожог слизистой носа парами кислоты на производстве. Боль, отек, затруднение дыхания.", + "full": "Со слов пациента, на производстве получил ожог слизистой носа парами кислоты. Беспокоит сильная боль, отек и затруднение носового дыхания." + }, + { + "short": "Отоантрит у грудничка. Выпячивание заушной области, беспокойство, отказ от еды. Температура 38.5.", + "full": "Со слов родителя, у грудного ребенка отмечается выпячивание в заушной области, беспокойство, отказ от еды. Температура тела повышена до 38.5°C." + }, + { + "short": "Парез мягкого неба после удаления аденоидов. Открытая гнусавость, поперхивание.", + "full": "Со слов пациента, после удаления аденоидов развился парез мягкого неба. Беспокоит открытая гнусавость и поперхивание при приеме пищи." + }, + { + "short": "Инородное тело бронха (семечка) у ребенка 5 лет. Кашель, свистящее дыхание. Аспирация 2 дня назад.", + "full": "Со слов родителя, у ребенка 5 лет два дня назад была аспирация семечки. С тех пор беспокоят кашель и свистящее дыхание." + }, + { + "short": "Озена. Зловонные корки в носу, аносмия. Болеет с юности.", + "full": "Со слов пациента, с юности страдает озеной. Беспокоят зловонные корки в носу и полное отсутствие обоняния (аносмия)." + }, + { + "short": "Невралгия тройничного нерва. Приступы стреляющей боли в области крыла носа. Провоцируется прикосновением.", + "full": "Со слов пациента, беспокоят приступы стреляющей боли в области крыла носа, провоцирующиеся прикосновением." + }, + { + "short": "Хр. декомпенсир. тонзиллит. Субфебрилитет, слабость, боли в суставах. Посев - бета-гемол. стрептококк.", + "full": "Со слов пациента, страдает хроническим декомпенсированным тонзиллитом. Беспокоит субфебрильная температура, слабость, боли в суставах." + }, + { + "short": "Пирсинг языка. Отек, боль, покраснение через 2 дня после прокола. Обработку проводил нерегулярно.", + "full": "Со слов пациента, два дня назад сделал пирсинг языка. Сейчас беспокоят отек, боль и покраснение в области прокола. Обработку проводил нерегулярно." + }, + { + "short": "Синусовая киста. Бессимптомно, обнаружена на КТ при обследовании по поводу головной боли.", + "full": "Со слов пациента, киста околоносовой пазухи была обнаружена случайно при проведении КТ по поводу головной боли. Специфических жалоб нет." + }, + { + "short": "Проф. осмотр. Жалоб нет. Работает на хлебозаводе (мучная пыль).", + "full": "Со слов пациента, жалоб не предъявляет. Обратился для профессионального осмотра. Работает на хлебозаводе в условиях контакта с мучной пылью." + }, + { + "short": "Острый катаральный ринофарингит. Чиханье, насморк, першение в горле. Контакт с больным ОРВИ.", + "full": "Со слов пациента, был в контакте с больным ОРВИ. Беспокоят чихание, насморк и першение в горле." + }, + { + "short": "Геморрагический васкулит. Петехии на слизистой мягкого неба. Из ЛОР-жалоб - сухость.", + "full": "Со слов пациента, страдает геморрагическим васкулитом. На слизистой мягкого неба отмечаются петехии. Из специфических жалоб - сухость во рту." + }, + { + "short": "Оторея после ЧМТ. Прозрачные выделения из уха. Головной боли, тошноты нет.", + "full": "Со слов пациента, после перенесенной черепно-мозговой травмы отмечает прозрачные выделения из уха. Головной боли и тошноты нет." + }, + { + "short": "Абсцесс надгортанника. Боль при глотании, ощущение инородного тела, слюнотечение. Дыхание не затруднено.", + "full": "Со слов пациента, беспокоит боль при глотании, ощущение инородного тела в горле и слюнотечение. Дыхание не затруднено." + }, + { + "short": "Хр. медикаментозный ринит. Постоянная заложенность. Капли использует 5-6 раз в день много лет.", + "full": "Со слов пациента, много лет страдает от постоянной заложенности носа. Сосудосуживающие капли использует 5-6 раз в день." + }, + { + "short": "Попадание щелочи в гортань. Осиплость, боль. Промыл водой сразу после инцидента.", + "full": "Со слов пациента, произошло попадание щелочи в гортань. Беспокоит осиплость и боль. Сразу после инцидента промывал горло водой." + }, + { + "short": "Ювенильная ангиофиброма носоглотки у подростка. Носовые кровотечения, затруднение носового дыхания.", + "full": "Со слов родителя, у подростка отмечаются носовые кровотечения и прогрессирующее затруднение носового дыхания." + }, + { + "short": "Острый стоматит. Язвы на слизистой щек, боль. Прием пищи затруднен.", + "full": "Со слов пациента, на слизистой щек образовались болезненные язвы. Прием пищи затруднен из-за боли." + }, + { + "short": "Невринома слухового нерва? Односторонний тиннитус, прогресс. тугоухость, нарушение равновесия.", + "full": "Со слов пациента, отмечает односторонний шум в ухе, прогрессирующее снижение слуха и нарушение равновесия." + }, + { + "short": "Инородное тело трахеи (металл. деталь) у взрослого. Приступ кашля, стридор. Аспирация час назад.", + "full": "Со слов пациента, час назад произошла аспирация металлической детали. С тех пор беспокоит приступ кашля и стридорозное дыхание." + }, + { + "short": "Хр. гранулезный фарингит. Гипертрофия лимфоидных гранул, слизь на задней стенке глотки.", + "full": "Со слов пациента, беспокоит скопление слизи на задней стенке глотки." + }, + { + "short": "Острый мастоидит. Боль за ухом, оттопыренность ушной раковины, гноетечение. В анамнезе отит.", + "full": "Со слов пациента, в анамнезе был отит. В настоящее время беспокоит боль за ухом, оттопыренность ушной раковины и гноетечение из уха." + }, + { + "short": "Гипертрофия небных миндалин 3 ст. Ночной храп, апноэ, затруднение глотания твердой пищи.", + "full": "Со слов пациента, беспокоит ночной храп, остановки дыхания во сне и затруднение при глотании твердой пищи." + }, + { + "short": "Посттравматическая аносмия. Потеря обоняния после падения на затылок. Обоняние не восстанавливается 2 мес.", + "full": "Со слов пациента, два месяца назад после падения на затылок произошла полная потеря обоняния. Обоняние не восстанавливается." + }, + { + "short": "Острый эпиглоттит. Резкая боль в горле, слюнотечение, инспираторная одышка. Температура 39.0.", + "full": "Со слов пациента, беспокоит резкая боль в горле, слюнотечение и инспираторная одышка. Температура тела повышена до 39.0°C." + }, + { + "short": "Хр. атрофический ринит. Сухость, корки, носовые кровотечения. Ощущение широкого носа.", + "full": "Со слов пациента, страдает хроническим атрофическим ринитом. Беспокоят сухость в носу, корки и носовые кровотечения. Отмечает ощущение широкого носа." + }, + { + "short": "Паратонзиллит. Асимметрия мягкого неба, боль с одной стороны, тризм. Температура 38.0.", + "full": "Со слов пациента, беспокоит боль в горле с одной стороны, затруднение открывания рта и асимметрия мягкого неба. Температура тела 38.0°C." + }, + { + "short": "Дисфагия неясного генеза. Поперхивание, ощущение застревания пищи. ЭГДС - без особенностей.", + "full": "Со слов пациента, беспокоит поперхивание и ощущение застревания пищи при глотании. ЭГДС патологии не выявила." + }, + { + "short": "Острый сиалоаденит околоушной слюнной железы. Болезненный отек, гнойное отделяемое из протока.", + "full": "Со слов пациента, отмечает болезненный отек в области околоушной слюнной железы и гнойное отделяемое из ее протока." + }, + { + "short": "Холестеатома? Гноетечение из уха с запахом, тугоухость. Болеет отитами с детства.", + "full": "Со слов пациента, с детства страдает рецидивирующими отитами. В настоящее время беспокоит гноетечение из уха с неприятным запахом и снижение слуха." + }, + { + "short": "Ларинготрахеит. Осиплость, грубый кашель, затруднение вдоха. Ребенок 4 лет.", + "full": "Со слов родителя, у ребенка 4 лет отмечается осиплость голоса, грубый кашель и затруднение вдоха." + }, + { + "short": "Искривление перегородки носа. Затруднение дыхания слева. Риноскопия - гребень перегородки слева.", + "full": "Со слов пациента, беспокоит затруднение носового дыхания слева." + }, + { + "short": "Глоссалгия. Жжение, покалывание в языке. Усиливается к вечеру. Слизистая без видимых изменений.", + "full": "Со слов пациента, беспокоит жжение и покалывание в языке, усиливающиеся к вечеру. Видимых изменений слизистой оболочки нет." + }, + { + "short": "Острый ринит у новорожденного. Заложенность носа, нарушение сосания. Сопелеотсосом пользуются.", + "full": "Со слов родителя, у новорожденного ребенка отмечается заложенность носа, приводящая к нарушению сосания. Для облегчения дыхания пользуются сопелеотсосом." + }, + { + "short": "Папилломатоз гортани. Охриплость, затруднение дыхания. В анамнезе множественные операции.", + "full": "Со слов пациента, страдает папилломатозом гортани. Беспокоит охриплость и затруднение дыхания. В анамнезе - множественные операции по поводу данного заболевания." + }, + { + "short": "Аллерг. ринит + бронхиальная астма. Чиханье, зуд в носу, кашель с одышкой. Сезонное обострение.", + "full": "Со слов пациента, страдает аллергическим ринитом и бронхиальной астмой. В период сезонного обострения беспокоят приступы чихания, зуд в носу, кашель с одышкой." + }, + { + "short": "Инородное тело пищевода (монета) у ребенка 3 лет. Слюнотечение, невозможность глотать.", + "full": "Со слов родителя, у ребенка 3 лет отмечается слюнотечение и невозможность глотать." + }, + { + "short": "Острый средний отит при скарлатине. Боль в ухе, гноетечение. Сыпь на коже, температура.", + "full": "Со слов пациента, на фоне скарлатины (сыпь на коже, лихорадка) развился острый средний отит. Беспокоит боль в ухе и гноетечение." + }, + { + "short": "Хр. гипертрофический ларингит у курильщика. Стойкая осиплость. Курит 1.5 пачки/день 30 лет.", + "full": "Со слов пациента, курит 1.5 пачки сигарет в день на протяжении 30 лет. Беспокоит стойкая осиплость голоса." + }, + { + "short": "Неврит лицевого нерва. Асимметрия лица, сглаженность носогубной складки, лагофтальм. Началось с боли в ухе.", + "full": "Со слов пациента, заболевание началось с боли в ухе. В настоящее время отмечает асимметрию лица, сглаженность носогубной складки и невозможность полностью закрыть глаз (лагофтальм)." + }, + { + "short": "Попадание инородного тела (стекло) в слизистую глотки. Боль при глотании. Ощущение царапания.", + "full": "Со слов пациента, в слизистую глотки попало инородное тело (осколок стекла). Беспокоит боль при глотании и ощущение царапания." + }, + { + "short": "Острый субатрофический ринит. Сухость, жжение в носу, корки. Работает в запыленном помещении.", + "full": "Со слов пациента, работает в запыленном помещении. Беспокоит сухость, жжение в носу и образование корок." + }, + { + "short": "Гипервентиляционный синдром. Ощущение нехватки воздуха, ком в горле, головокружение. Приступ при стрессе.", + "full": "Со слов пациента, во время стресса возникают приступы, сопровождающиеся ощущением нехватки воздуха, кома в горле и головокружением." + }, + { + "short": "Состояние после ларингэктомии. Дышит через трахеостому. Жалоб нет, плановый осмотр.", + "full": "Со слов пациента, перенес ларингэктомию, дышит через трахеостому. Специфических жалоб не предъявляет, обратился для планового осмотра." + }, + { + "short": "Острый тонзиллит Симановского-Плаута-Венсана. Язвенно-пленчатые налеты на одной миндалине. Боль умеренная.", + "full": "Со слов пациента, на одной миндалине образовались язвенно-пленчатые налеты. Боль в горле умеренная." + }, + { + "short": "Синдром Eagle. Боль в горле, ощущение инородного тела. Длинные шиловидные отростки на КТ.", + "full": "Со слов пациента, беспокоит боль в горле и ощущение инородного тела." + }, + { + "short": "Острый назофарингит у ВИЧ-инфицированного. Выраженная боль в горле, налеты, лихорадка.", + "full": "Со слов пациента, страдает ВИЧ-инфекцией. Беспокоит выраженная боль в горле, налеты на слизистой и лихорадка." + }, + { + "short": "Пластика н/раковин радиохирургическим методом. Послеоперационный период. Жалоб нет, дышит носом.", + "full": "Со слов пациента, перенес радиохирургическую пластику носовых раковин. В послеоперационном периоде жалоб не предъявляет, носовое дыхание свободное." + }, + { + "short": "Звон в ушах, особенно в тишине", + "full": "Пациент ощущает звон в ушах, который усиливается в тишине." + }, + { + "short": "Боль в правом ухе, стреляющая, 2 дня", + "full": "Пациент отмечает стреляющую боль в правом ухе, длящуюся два дня." + }, + { + "short": "Заложенность носа, слизистые выделения, чихание", + "full": "Пациент жалуется на заложенность носа, слизистые выделения и чихание." + }, + { + "short": "Снижение слуха на левое ухо после купания", + "full": "После купания пациент отметил снижение слуха на левое ухо." + }, + { + "short": "Гнойные выделения из правой половины носа, боль в щеке", + "full": "Пациент отмечает гнойные выделения из правой половины носа и боль в щеке." + }, + { + "short": "Першение в горле, сухой кашель, осиплость голоса", + "full": "Пациент предъявляет жалобы на першение в горле, сухой кашель и осиплость голоса." + }, + { + "short": "Зуд в ушах, шелушение кожи за ушами", + "full": "Пациент отмечает зуд в ушах и шелушение кожи за ушами." + }, + { + "short": "Храп, остановки дыхания во сне по словам жены", + "full": "По словам жены, пациент храпит и у него бывают остановки дыхания во сне." + }, + { + "short": "Носовые кровотечения по утрам из правой половины носа", + "full": "Пациент отмечает носовые кровотечения по утрам из правой половины носа." + }, + { + "short": "Боль в горле при глотании, повышение температуры до 38°C", + "full": "Пациент жалуется на боль в горле при глотании и повышение температуры до 38°C." + }, + { + "short": "Заложенность уха после авиаперелёта", + "full": "После авиаперелёта у пациента появилась заложенность уха." + }, + { + "short": "Гной на миндалинах, неприятный запах изо рта", + "full": "Пациент отмечает гной на миндалинах и неприятный запах изо рта." + }, + { + "short": "Снижение обоняния после ОРВИ", + "full": "После ОРВИ у пациента снизилось обоняние." + }, + { + "short": "Боли в горле, увеличение шейных лимфоузлов", + "full": "Пациент жалуется на боли в горле и увеличение шейных лимфоузлов." + }, + { + "short": "Затруднённое носовое дыхание, храп", + "full": "Пациент отмечает затруднённое носовое дыхание и храп." + }, + { + "short": "Боль в ухе при надавливании на козелок", + "full": "Пациент испытывает боль в ухе при надавливании на козелок." + }, + { + "short": "Насморк с примесью крови", + "full": "Пациент отмечает насморк с примесью крови." + }, + { + "short": "Охриплость голоса более 2 недель", + "full": "Голос пациента охрип более двух недель назад и остаётся таким до сих пор." + }, + { + "short": "Чувство инородного тела в горле", + "full": "Пациент ощущает чувство инородного тела в горле." + }, + { + "short": "Головная боль, боль в верхней челюсти, заложенность носа", + "full": "Пациент жалуется на головную боль, боль в верхней челюсти и заложенность носа." + }, + { + "short": "Снижение слуха, шум в ухе после купания", + "full": "После купания у пациента появились снижение слуха и шум в ухе." + }, + { + "short": "Сухость в носу, корки, носовые кровотечения", + "full": "Пациент отмечает сухость в носу, образование корок и носовые кровотечения." + }, + { + "short": "Боль в горле, белый налёт на языке", + "full": "Пациент жалуется на боль в горле и белый налёт на языке." + }, + { + "short": "Заложенность носа поочерёдно то справа, то слева", + "full": "Пациент отмечает, что нос закладывает поочерёдно то справа, то слева." + }, + { + "short": "Ухудшение слуха на фоне шума на производстве", + "full": "На фоне работы в условиях шума на производстве у пациента ухудшился слух." + }, + { + "short": "Боль в ухе, выделения гнойные с неприятным запахом", + "full": "Пациент отмечает боль в ухе и гнойные выделения с неприятным запахом." + }, + { + "short": "Затруднённое дыхание через нос, искривление перегородки", + "full": "Пациент жалуется на затруднённое дыхание через нос и имеет искривление перегородки." + }, + { + "short": "Кашель с мокротой, першение, осиплость", + "full": "Пациент предъявляет жалобы на кашель с мокротой, першение и осиплость." + }, + { + "short": "Боль в горле, затруднённое открывание рта", + "full": "Пациент отмечает боль в горле и затруднённое открывание рта." + }, + { + "short": "Зуд в носу, чихание, слезотечение весной", + "full": "Весной у пациента возникает зуд в носу, чихание и слезотечение." + }, + { + "short": "Снижение слуха после удара по уху", + "full": "После удара по уху у пациента снизился слух." + }, + { + "short": "Гнусавость голоса, заложенность носа", + "full": "Пациент говорит с гнусавостью и отмечает заложенность носа." + }, + { + "short": "Боль в ухе, лихорадка, ребёнок 3 лет", + "full": "Ребёнок 3 лет жалуется на боль в ухе и лихорадку." + }, + { + "short": "Хронический насморк, не поддаётся лечению", + "full": "Пациент страдает хроническим насморком, который не поддаётся лечению." + }, + { + "short": "Боль в горле, белые пробки в миндалинах", + "full": "Пациент отмечает боль в горле и белые пробки в миндалинах." + }, + { + "short": "Головокружение, шум в ухе, тошнота", + "full": "Пациент перенёс головокружение, сопровождавшееся шумом в ухе и тошнотой." + }, + { + "short": "Сухость в горле, першение, курит 15 лет", + "full": "Пациент, курящий 15 лет, отмечает сухость в горле и першение." + }, + { + "short": "Заложенность носа, снижение обоняния, полипы", + "full": "Пациент жалуется на заложенность носа, снижение обоняния и имеет полипы." + }, + { + "short": "Боль в ухе при жевании, припухлость за ухом", + "full": "Пациент отмечает боль в ухе при жевании и припухлость за ухом." + }, + { + "short": "Носовое кровотечение после ковыряния в носу", + "full": "После ковыряния в носу у пациента возникло носовое кровотечение." + }, + { + "short": "Охриплость после перенапряжения голоса", + "full": "После перенапряжения голоса у пациента появилась охриплость." + }, + { + "short": "Заложенность уха, шум, после подъёма в горы", + "full": "После подъёма в горы у пациента появились заложенность уха и шум." + }, + { + "short": "Гной из носа, боль в щеке, зубная боль", + "full": "Пациент отмечает гной из носа, боль в щеке и зубную боль." + }, + { + "short": "Снижение слуха, шум, после приёма антибиотика", + "full": "После приёма антибиотика у пациента снизился слух и появился шум в ушах." + }, + { + "short": "Зуд в горле, кашель при вдыхании холодного воздуха", + "full": "При вдыхании холодного воздуха у пациента возникают зуд в горле и кашель." + }, + { + "short": "Боль в горле, сыпь на теле, миндалины покрыты налётом", + "full": "Пациент жалуется на боль в горле, сыпь на теле и налёт на миндалинах." + }, + { + "short": "Хронический кашель, постназальный синдром", + "full": "Пациент страдает хроническим кашлем и отмечает постназальный синдром." + }, + { + "short": "Боль в ухе, зуд, после плавания в бассейне", + "full": "После плавания в бассейне у пациента появились боль в ухе и зуд." + }, + { + "short": "Затруднённое дыхание, свистящее дыхание, ребёнок", + "full": "У ребёнка возникло затруднённое и свистящее дыхание." + }, + { + "short": "Снижение слуха, ощущение воды в ухе", + "full": "Пациент отмечает снижение слуха и ощущение воды в ухе." + }, + { + "short": "Боль в горле, увеличение язычной миндалины", + "full": "Пациент жалуется на боль в горле и увеличение язычной миндалины." + }, + { + "short": "Насморк, слезотечение, чихание при контакте с кошкой", + "full": "При контакте с кошкой у пациента возникают насморк, слезотечение и чихание." + }, + { + "short": "Головная боль, боль в переносице, гной из носа", + "full": "Пациент отмечает головную боль, боль в переносице и гной из носа." + }, + { + "short": "Шум в ушах, бессонница, стресс", + "full": "На фоне стресса у пациента появился шум в ушах и бессонница." + }, + { + "short": "Боль в горле, затруднённое глотание, ребёнок 5 лет", + "full": "Ребёнок 5 лет жалуется на боль в горле и затруднённое глотание." + }, + { + "short": "Сухость в носу, корки с кровью, атрофический ринит", + "full": "Пациент отмечает сухость в носу, корки с кровью и имеет атрофический ринит." + }, + { + "short": "Боль в ухе, лихорадка, гнойные выделения", + "full": "Пациент отмечает боль в ухе, лихорадку и гнойные выделения." + }, + { + "short": "Заложенность носа, храп, увеличение аденоидов у ребёнка", + "full": "У ребёнка заложенность носа, храп и увеличение аденоидов." + }, + { + "short": "Периодическая боль в горле, пробки в миндалинах", + "full": "Пациент отмечает периодическую боль в горле и пробки в миндалинах." + }, + { + "short": "Снижение слуха, шум, после баротравмы", + "full": "После баротравмы у пациента снизился слух и появился шум в ухе." + }, + { + "short": "Гнусавость, назальный оттенок голоса", + "full": "Пациент говорит с гнусавостью и назальным оттенком голоса." + }, + { + "short": "Боль в горле, лихорадка, увеличение селезёнки", + "full": "Пациент жалуется на боль в горле, лихорадку и увеличение селезёнки." + }, + { + "short": "Зуд в носу, чихание по утрам", + "full": "По утрам у пациента возникают зуд в носу и чихание." + }, + { + "short": "Боль в ухе, звон, после громкого звука", + "full": "После громкого звука у пациента появились боль в ухе и звон." + }, + { + "short": "Заложенность носа, головная боль, после травмы", + "full": "После травмы у пациента возникли заложенность носа и головная боль." + }, + { + "short": "Хрипота, кашель, ощущение комка в горле", + "full": "Пациент отмечает хрипоту, кашель и ощущение комка в горле." + }, + { + "short": "Гной из уха, боль, после промывания носа", + "full": "После промывания носа у пациента появились гной из уха и боль." + }, + { + "short": "Снижение слуха, шум, у пожилого пациента", + "full": "У пожилого пациента отмечается снижение слуха и шум в ушах." + }, + { + "short": "Боль в горле, лихорадка, сыпь на ладонях", + "full": "Пациент жалуется на боль в горле, лихорадку и сыпь на ладонях." + }, + { + "short": "Носовое дыхание нарушено, искривление перегородки", + "full": "У пациента нарушено носовое дыхание и имеется искривление перегородки." + }, + { + "short": "Зуд в ушах, выделения, диабет", + "full": "Пациент с диабетом отмечает зуд в ушах и выделения." + }, + { + "short": "Боль в горле, затруднённое дыхание, ребёнок", + "full": "У ребёнка боль в горле и затруднённое дыхание." + }, + { + "short": "Снижение обоняния, головная боль, полипы", + "full": "Пациент отмечает снижение обоняния, головную боль и имеет полипы." + }, + { + "short": "Боль в ухе, лихорадка, после ОРВИ", + "full": "После ОРВИ у пациента появились боль в ухе и лихорадка." + }, + { + "short": "Храп, дневная сонливость, ожирение", + "full": "Пациент с ожирением отмечает храп и дневную сонливость." + }, + { + "short": "Гнойные выделения из носа, боль в зубах", + "full": "Пациент отмечает гнойные выделения из носа и боль в зубах." + }, + { + "short": "Сухость в горле, першение, работа в пыльном помещении", + "full": "Пациент, работающий в пыльном помещении, отмечает сухость в горле и першение." + }, + { + "short": "Боль в горле, увеличение подчелюстных лимфоузлов", + "full": "Пациент жалуется на боль в горле и увеличение подчелюстных лимфоузлов." + }, + { + "short": "Заложенность уха, шум, после насморка", + "full": "После насморка у пациента остались заложенность уха и шум." + }, + { + "short": "Носовое кровотечение, гипертония", + "full": "Пациент с гипертонией отмечает носовые кровотечения." + }, + { + "short": "Охриплость, кашель, рефлюкс", + "full": "Пациент с рефлюксом отмечает охриплость и кашель." + }, + { + "short": "Боль в ухе, зуд, после использования наушников", + "full": "После использования наушников у пациента появились боль в ухе и зуд." + }, + { + "short": "Заложенность носа, снижение слуха, ребёнок", + "full": "У ребёнка заложенность носа и снижение слуха." + }, + { + "short": "Головная боль, боль в глазнице, гной из носа", + "full": "Пациент отмечает головную боль, боль в глазнице и гной из носа." + }, + { + "short": "Шум в ушах, головокружение, тошнота", + "full": "Пациент перенёс шум в ушах, головокружение и тошноту." + }, + { + "short": "Боль в горле, лихорадка, белый налёт на миндалинах", + "full": "Пациент жалуется на боль в горле, лихорадку и белый налёт на миндалинах." + }, + { + "short": "Снижение слуха, аутофония, после насморка", + "full": "После насморка у пациента снизился слух и появилась аутофония." + }, + { + "short": "Зуд в носу, чихание, водянистые выделения", + "full": "Пациент отмечает зуд в носу, чихание и водянистые выделения." + }, + { + "short": "Боль в ухе, выделения, после купания в море", + "full": "После купания в море у пациента появились боль в ухе и выделения." + }, + { + "short": "Хронический насморк, полипы, бронхиальная астма", + "full": "Пациент с бронхиальной астмой страдает хроническим насморком и имеет полипы." + }, + { + "short": "Гнусавость, нарушение речи, после операции на нёбе", + "full": "После операции на нёбе у пациента появилась гнусавость и нарушение речи." + }, + { + "short": "Боль в горле, затруднённое дыхание, инородное тело", + "full": "После попадания инородного тела у пациента возникли боль в горле и затруднённое дыхание." + }, + { + "short": "Снижение слуха, шум, профессиональный фактор", + "full": "На фоне профессионального воздействия шума у пациента снизился слух и появился шум в ушах." + }, + { + "short": "Заложенность носа, головная боль, гной из носа", + "full": "Пациент отмечает заложенность носа, головную боль и гной из носа." + }, + { + "short": "Боль в ухе, лихорадка, ребёнок, отказ от еды", + "full": "Ребёнок с болью в ухе, лихорадкой и отказом от еды." + }, + { + "short": "Першение в горле, сухой кашель, охриплость", + "full": "Пациент отмечает першение в горле, сухой кашель и охриплость." + }, + { + "short": "Носовое кровотечение, сухость слизистой, зимой", + "full": "Зимой у пациента возникают носовые кровотечения и сухость слизистой." + }, + { + "short": "Жалобы на заложенность носа, гнойные выделения, головную боль в области лба. Симптомы более 2 нед. Капли использовал, временный эффект.", + "full": "На момент обращения пациент предъявляет жалобы на заложенность носа, гнойные выделения из носовых ходов и головную боль в области лба. Симптомы сохраняются более двух недель. Пробовал использовать сосудосуживающие капли, отмечал временный эффект." + }, + { + "short": "Острый правосторонний отит в анамнезе. Перфорация барабанной перепонки не подтверждена. Лечился антибиотиками (название не помнит).", + "full": "На момент обращения пациент предъявляет жалобы на острую боль в правом ухе. Со слов пациента, в анамнезе был эпизод острого правостороннего отита. Перфорация барабанной перепонки не была подтверждена. Проходил курс лечения антибиотиками, название препарата не помнит." + }, + { + "short": "Попала вода в ухо при плавании. Через 2 дня появились зуд, боль, выделения. Самостоятельно чистил ухо.", + "full": "На момент обращения пациент предъявляет жалобы на зуд, боль и выделения из правого уха. Со слов пациента, два дня назад в ухо попала вода при плавании. После этого появились симптомы. Пациент пытался самостоятельно чистить ухо." + }, + { + "short": "Храп, апноэ во сне по словам родственников. Носовое дыхание затн. Днем сонливость.", + "full": "На момент обращения пациент предъявляет жалобы на затрудненное носовое дыхание и повышенную сонливость в дневное время. Со слов пациента, родственники отмечают наличие храпа и остановок дыхания (апноэ) во сне." + }, + { + "short": "Инородное тело носа (бусина) у ребенка 4 лет. Родители пытались извлечь пинцетом, безуспешно.", + "full": "На момент обращения родитель предъявляет жалобы на наличие инородного тела (бусины) в носу у ребенка 4 лет. Родители пытались извлечь инородное тело с помощью пинцета, но безуспешно." + }, + { + "short": "Внезапное снижение слуха на левое ухо, шум в ухе после простуды. Ототоксичные ЛС не принимал.", + "full": "На момент обращения пациент предъявляет жалобы на внезапное снижение слуха на левое ухо и появление шума в нем. Симптомы возникли после перенесенной простуды. Ототоксичные лекарственные средства не принимал." + }, + { + "short": "Боль в горле, налеты на миндалинах, лихорадка до 39°C. Антибиотики не принимал. Контактов с больными ангиной нет.", + "full": "На момент обращения пациент предъявляет жалобы на боль в горле, налеты на миндалинах и повышение температуры тела до 39°C. Антибиотики не принимал. Контактов с больными ангиной не было." + }, + { + "short": "Хр. тонзиллит, частые ангины (2-3 р/год). Пробки в миндалинах, неприятный запах изо рта.", + "full": "На момент обращения пациент предъявляет жалобы на пробки в миндалинах и неприятный запах изо рта. Со слов пациента, страдает хроническим тонзиллитом с частыми обострениями (2-3 раза в год)." + }, + { + "short": "Проф. вредности (пыль, хим. пары). Сухость, першение в горле, осиплость к концу рабочего дня.", + "full": "На момент обращения пациент предъявляет жалобы на сухость и першение в горле, осиплость голоса, которые усиливаются к концу рабочего дня. Со слов пациента, работает в условиях профессиональных вредностей (контакт с пылью и химическими парами)." + }, + { + "short": "Травма носа с хрустом. Деформация спинки носа, затруднение носового дыхания. Кровотечение было, остановилось само.", + "full": "На момент обращения пациент предъявляет жалобы на деформацию спинки носа и затруднение носового дыхания после травмы. Со слов пациента, травма носа сопровождалась хрустом. Кровотечение из носа было, остановилось самостоятельно." + }, + { + "short": "Ощущение кома в горле, усил. при глотании слюны. Связывает со стрессом. ЭГДС без патологии.", + "full": "На момент обращения пациент предъявляет жалобы на ощущение кома в горле, усиливающееся при глотании слюны. Связывает появление симптомов со стрессом. Ранее проходил ЭГДС, патологии выявлено не было." + }, + { + "short": "Головокружение системного хар-ра, провоцируется поворотами головы. Тошноты, рвоты нет.", + "full": "На момент обращения пациент предъявляет жалобы на головокружения системного характера, которые провоцируются поворотами головы. Тошноты и рвоты не отмечает." + }, + { + "short": "Рецидивир. герпес на кр. кайме губ и слизистой носа. Обострения 3-4 р/год.", + "full": "На момент обращения пациент предъявляет жалобы на высыпания на красной кайме губ и слизистой оболочке носа. Со слов пациента, страдает рецидивирующим герпесом с обострениями 3-4 раза в год." + }, + { + "short": "Ангины с детства. Ревм. атака в 15 лет. Сейчас жалоб нет, проф. осмотр.", + "full": "На момент обращения пациент жалоб не предъявляет. Обратился для профессионального осмотра. Со слов пациента, с детства страдал частыми ангинами. В возрасте 15 лет перенес ревматическую атаку." + }, + { + "short": "Ожог слизистой глотки горячей пищей. Боль, невозм. глотать твердую пищу. Пьет прохладную воду.", + "full": "На момент обращения пациент предъявляет жалобы на сильную боль в глотке и невозможность глотать твердую пищу после ожога горячей пищей. Для облегчения состояния пьет прохладную воду." + }, + { + "short": "Аденоиды 2 ст. у ребенка 6 лет. Дыхание ртом ночью, гнусавость. Частые отиты.", + "full": "На момент обращения родитель предъявляет жалобы на то, что ребенок 6 лет дышит ртом ночью, отмечается гнусавость голоса и частые эпизоды отитов. Ранее диагностированы аденоиды 2 степени." + }, + { + "short": "Постназальный затек, кашель по утрам. Ощущение стекания слизи по задней стенке глотки.", + "full": "На момент обращения пациент предъявляет жалобы на кашель по утрам и ощущение стекания слизи по задней стенке глотки." + }, + { + "short": "Полипозный риносинусит в анамнезе. Операция 5 лет назад. Сейчас рецидив - заложенность, потеря обоняния.", + "full": "На момент обращения пациент предъявляет жалобы на заложенность носа и потерю обоняния. Со слов пациента, страдает полипозным риносинуситом в анамнезе, перенес операцию 5 лет назад. В настоящее время отмечает рецидив заболевания." + }, + { + "short": "Ларингоспазм при плаче у ребенка 2 лет. Эпизоды короткие, проходят самостоятельно.", + "full": "На момент обращения родитель предъявляет жалобы на эпизоды ларингоспазма у ребенка 2 лет, возникающие при плаче. Эпизоды короткие, проходят самостоятельно." + }, + { + "short": "Проф. ларингит. Преподаватель. Осиплость, утомляемость голоса к 3-4 паре.", + "full": "На момент обращения пациент предъявляет жалобы на осиплость и утомляемость голоса, которые нарастают к 3-4 паре занятий. Со слов пациента, работает преподавателем." + }, + { + "short": "Искривление перегородки носа после травмы в подростк. возрасте. Затруднение дыхания прав. полов. носа.", + "full": "На момент обращения пациент предъявляет жалобы на затруднение дыхания правой половиной носа. Со слов пациента, после травмы в подростковом возрасте сформировалось искривление перегородки носа." + }, + { + "short": "Сенсоневральная тугоухость 2 ст. Слуховой аппарат не использует, хочет подобрать.", + "full": "На момент обращения пациент предъявляет жалобы на снижение слуха. Имеет диагноз сенсоневральная тугоухость 2 степени. Слуховой аппарат не использует, обратился для подбора." + }, + { + "short": "Фурункул преддверия носа. Самостоятельно выдавливал. Ухудшение - отек, боль, гиперемия.", + "full": "На момент обращения пациент предъявляет жалобы на отек, боль и гиперемию в преддверии носа. Со слов пациента, образовался фурункул, который он пытался самостоятельно выдавить, после чего отметил ухудшение." + }, + { + "short": "Вазомоторный ринит. Заложенность попеременно то одной, то другой полов. носа. Зависит от температуры воздуха.", + "full": "На момент обращения пациент предъявляет жалобы на заложенность носа, которая попеременно возникает то в одной, то в другой половине носа. Симптомы зависят от температуры окружающего воздуха." + }, + { + "short": "Острый средний отит на фоне ОРВИ. Боль, снижение слуха, чувство заложенности. Температура 37.8.", + "full": "На момент обращения пациент предъявляет жалобы на боль, снижение слуха и чувство заложенности в ухе, а также повышение температуры тела до 37.8°C. Симптомы возникли на фоне ОРВИ." + }, + { + "short": "Инородное тело уха (насекомое). Шум, шевеление в наружном слуховом проходе. Пытался промыть шприцем.", + "full": "На момент обращения пациент предъявляет жалобы на шум и ощущение шевеления в наружном слуховом проходе. Со слов пациента, в ухо попало насекомое. Пытался промыть ухо с помощью шприца." + }, + { + "short": "Аллерг. ринит. Сезонный, на цветение березы. Чиханье, зуд в носу, водянистые выделения.", + "full": "На момент обращения пациент предъявляет жалобы на приступы чихания, зуд в носу и обильные водянистые выделения. Со слов пациента, страдает сезонным аллергическим ринитом на цветение березы." + }, + { + "short": "Парез гортани после тиреоидэктомии 3 мес. назад. Осиплость, поперхивание жидкой пищей.", + "full": "На момент обращения пациент предъявляет жалобы на стойкую осиплость и поперхивание при приеме жидкой пищи. Со слов пациента, три месяца назад перенес тиреоидэктомию, после чего развился парез гортани." + }, + { + "short": "Кандидоз полости рта и глотки после АБ терапии. Белый налет, жжение. Самостоятельно использовал соду.", + "full": "На момент обращения пациент предъявляет жалобы на белый налет на слизистой полости рта и глотки и жжение. Симптомы возникли после курса антибактериальной терапии. Пытался лечиться самостоятельно, использовал полоскания содой." + }, + { + "short": "Гайморит? Гнойные выделения из носа, боль в проекции пазух, температура 38.1. Болеет 10 дней.", + "full": "На момент обращения пациент предъявляет жалобы на гнойные выделения из носа, боль в проекции верхнечелюстных пазух и повышение температуры тела до 38.1°C. Болеет в течение 10 дней." + }, + { + "short": "Отосклероз? Прогресс. снижение слуха, шум в ушах. У матери аналогичная проблема.", + "full": "На момент обращения пациент предъявляет жалобы на прогрессирующее снижение слуха и шум в ушах. Со слов пациента, у матери была аналогичная проблема." + }, + { + "short": "Перитонзиллярный абсцесс в анамнезе 2 года назад. Сейчас боль в горле с одной стороны, тризм.", + "full": "На момент обращения пациент предъявляет жалобы на боль в горле с одной стороны и затруднение открывания рта (тризм). Со слов пациента, два года назад в анамнезе был перитонзиллярный абсцесс." + }, + { + "short": "Носовое кровотечение у подростка. Возникает спонтанно, из зоны Киссельбаха. Останавливает прижатием.", + "full": "На момент обращения родитель предъявляет жалобы на спонтанные носовые кровотечения у подростка. Кровотечение останавливается прижатием крыльев носа." + }, + { + "short": "Хр. катаральный отит. Чувство заложенности, аутофония. При рините симптомы усиливаются.", + "full": "На момент обращения пациент предъявляет жалобы на чувство заложенности в ушах и аутофонию. Симптомы усиливаются при насморке." + }, + { + "short": "Гипертрофия н. раковин. Стойкое затруднение нос. дыхания. Сосудосужив. капли использует ежедневно более года.", + "full": "На момент обращения пациент предъявляет жалобы на стойкое затруднение носового дыхания. Сосудосуживающие капли использует ежедневно на протяжении более года." + }, + { + "short": "Острый ларингит. Потеря голоса, сухой кашель. Накануне много говорил на холоде.", + "full": "На момент обращения пациент предъявляет жалобы на потерю голоса и сухой кашель. Со слов пациента, накануне много говорил на холодном воздухе." + }, + { + "short": "Состояние после радиойодтерапии. Сухость во рту, нарушение вкуса. Жалоб со стороны ЛОР-органов нет.", + "full": "На момент обращения пациент предъявляет жалобы на сухость во рту и нарушение вкуса после перенесенной радиойодтерапии. Специфических жалоб со стороны ЛОР-органов не предъявляет." + }, + { + "short": "Киста небной миндалины. Обнаружена случайно. Ощущение инородного тела в горле.", + "full": "На момент обращения пациент предъявляет жалобы на ощущение инородного тела в горле. Со слов пациента, киста небной миндалины была обнаружена случайно." + }, + { + "short": "Отомикоз. Зуд в ухе, шелушение. Часто плавает в бассейне, чистит уши ватными палочками.", + "full": "На момент обращения пациент предъявляет жалобы на зуд в ухе и шелушение. Со слов пациента, часто плавает в бассейне и регулярно чистит уши ватными палочками." + }, + { + "short": "Искривление перегородки носа. Затруднение дыхания с двух сторон. Храп. Консервативное лечение неэффективно.", + "full": "На момент обращения пациент предъявляет жалобы на затруднение носового дыхания с двух сторон и храп. Консервативное лечение эффекта не приносит." + }, + { + "short": "Папиллома голосовой складки. Охриплость прогрессирует. Курит 20 лет.", + "full": "На момент обращения пациент предъявляет жалобы на прогрессирующую охриплость. Курит в течение 20 лет." + }, + { + "short": "Риноликворея после ЧМТ 1 мес. назад. Прозрачные выделения из носа при наклоне головы.", + "full": "На момент обращения пациент предъявляет жалобы на прозрачные выделения из носа, усиливающиеся при наклоне головы. Со слов пациента, месяц назад перенес черепно-мозговую травму." + }, + { + "short": "Хр. субатрофический фарингит. Сухость, першение, ощущение кома. Пьет мало воды.", + "full": "На момент обращения пациент предъявляет жалобы на сухость, першение и ощущение кома в горле. Отмечает, что пьет недостаточное количество воды." + }, + { + "short": "Баротравма уха при авиаперелете. Резкая боль, затем шум и снижение слуха. Зевание, глотание не помогли.", + "full": "На момент обращения пациент предъявляет жалобы на резкую боль, шум и снижение слуха в ухе после авиаперелета. Попытки зевать и глотать не принесли облегчения." + }, + { + "short": "Гипосмия после перенесенного ковида 2 мес. назад. Обоняние восстанавливается частично.", + "full": "На момент обращения пациент предъявляет жалобы на снижение обоняния (гипосмию), которое развилось после перенесенного COVID-19 два месяца назад. Обоняние восстанавливается частично." + }, + { + "short": "Лимфаденит подчелюстной обл. Увел. болезн. узлы справа. Боль в горле была 2 нед. назад.", + "full": "На момент обращения пациент предъявляет жалобы на увеличение и болезненность подчелюстных лимфоузлов справа. Около двух недель назад перенес боль в горле." + }, + { + "short": "Неврит слухового нерва? Снижение слуха, шум в ушах, головокружение. Работа в шумном цеху.", + "full": "На момент обращения пациент предъявляет жалобы на снижение слуха, шум в ушах и головокружение. Со слов пациента, работает в шумном цеху." + }, + { + "short": "Инородное тело глотки (рыбья кость). Боль при глотании. Пытался протолкнуть хлебной коркой.", + "full": "На момент обращения пациент предъявляет жалобы на боль при глотании. Со слов пациента, проглотил рыбью кость. Пытался протолкнуть кость, проглотив хлебную корку." + }, + { + "short": "Острый евстахиит. Заложенность ушей, ощущение жидкости в ухе. Возник на фоне ринита.", + "full": "На момент обращения пациент предъявляет жалобы на заложенность ушей и ощущение переливания жидкости в ухе. Симптомы возникли на фоне ринита." + }, + { + "short": "Хр. гиперпластический ларингит. Стойкая осиплость. Курит. От операции отказывается.", + "full": "На момент обращения пациент предъявляет жалобы на стойкую осиплость. Пациент курит. От предлагаемого оперативного лечения отказывается." + }, + { + "short": "Сиалолитиаз (камень протока подъязычной слюнной железы). Боль, увеличение железы при приеме пищи.", + "full": "На момент обращения пациент предъявляет жалобы на боль и увеличение подъязычной слюнной железы во время приема пищи." + }, + { + "short": "Поствоспалительная дисфония. Голос не восстановился после ларингита 3 нед. назад.", + "full": "На момент обращения пациент предъявляет жалобы на то, что голос не восстановился после перенесенного ларингита три недели назад." + }, + { + "short": "Хр. синусит (лобн., верхнечел.). Головная боль, тяжесть в лице. Температуры нет.", + "full": "На момент обращения пациент предъявляет жалобы на головную боль и чувство тяжести в области лица. Температура тела не повышена." + }, + { + "short": "Отек Квинке на укус пчелы в губу в анамнезе. Сейчас отек губ, языка после фруктов. Антигистаминные помогли.", + "full": "На момент обращения пациент предъявляет жалобы на отек губ и языка после употребления фруктов. Со слов пациента, в анамнезе был отек Квинке на укус пчелы в губу. Прием антигистаминных препаратов помог." + }, + { + "short": "Парестезия глотки. Ощущение жжения, ползания мурашек. Меняется в течение дня.", + "full": "На момент обращения пациент предъявляет жалобы на парестезию глотки в виде ощущения жжения и ползания мурашек. Симптомы меняются в течение дня." + }, + { + "short": "Состояние после септопластики 1 мес. назад. Дыхание улучшилось, но есть сухие корки.", + "full": "На момент обращения пациент предъявляет жалобы на сухие корки в носу. Со слов пациента, месяц назад перенес септопластику, носовое дыхание улучшилось." + }, + { + "short": "Острый тонзиллит (лакунарный). Налеты на миндалинах, боль, лихорадка. АБ не принимал.", + "full": "На момент обращения пациент предъявляет жалобы на налеты на миндалинах, боль в горле и лихорадку. Антибиотики не принимал." + }, + { + "short": "Доброкач. пароксизм. позиционное головокружение. Эпизоды при повороте в постели. Симптома Ромберга нет.", + "full": "На момент обращения пациент предъявляет жалобы на эпизоды головокружения, возникающие при повороте в постели. Симптом Ромберга отрицательный." + }, + { + "short": "Фарингомикоз. Творожистые налеты в глотке, жжение. Болеет сахарным диабетом.", + "full": "На момент обращения пациент предъявляет жалобы на творожистые налеты в глотке и чувство жжения. Со слов пациента, страдает сахарным диабетом." + }, + { + "short": "Гематома носовой перегородки после травмы. Затруднение дыхания, распирание.", + "full": "На момент обращения пациент предъявляет жалобы на затруднение носового дыхания и чувство распирания после травмы носа." + }, + { + "short": "Острый наружный диффузный отит. Боль в ухе, отечность, выделения. Плавал в открытом водоеме.", + "full": "На момент обращения пациент предъявляет жалобы на боль в ухе, отечность и выделения. Со слов пациента, плавал в открытом водоеме." + }, + { + "short": "Ощущение серной пробки. Снижение слуха, аутофония. Пытался промыть ухо самостоятельно.", + "full": "На момент обращения пациент предъявляет жалобы на снижение слуха и аутофонию. Пытался промыть ухо самостоятельно для удаления предполагаемой серной пробки." + }, + { + "short": "Подголосовой ларингит у ребенка 3 лет. Лающий кашель, инспираторная одышка. Симптомы усиливаются ночью.", + "full": "На момент обращения родитель предъявляет жалобы на лающий кашель и инспираторную одышку у ребенка 3 лет. Симптомы усиливаются в ночное время." + }, + { + "short": "Ожог слизистой носа парами кислоты на производстве. Боль, отек, затруднение дыхания.", + "full": "На момент обращения пациент предъявляет жалобы на сильную боль, отек и затруднение носового дыхания после ожога слизистой носа парами кислоты на производстве." + }, + { + "short": "Отоантрит у грудничка. Выпячивание заушной области, беспокойство, отказ от еды. Температура 38.5.", + "full": "На момент обращения родитель предъявляет жалобы на выпячивание в заушной области, беспокойство, отказ от еды и повышение температуры тела до 38.5°C у грудного ребенка." + }, + { + "short": "Парез мягкого неба после удаления аденоидов. Открытая гнусавость, поперхивание.", + "full": "На момент обращения пациент предъявляет жалобы на открытую гнусавость и поперхивание при приеме пищи после удаления аденоидов." + }, + { + "short": "Инородное тело бронха (семечка) у ребенка 5 лет. Кашель, свистящее дыхание. Аспирация 2 дня назад.", + "full": "На момент обращения родитель предъявляет жалобы на кашель и свистящее дыхание у ребенка 5 лет. Со слов родителя, два дня назад была аспирация семечки." + }, + { + "short": "Озена. Зловонные корки в носу, аносмия. Болеет с юности.", + "full": "На момент обращения пациент предъявляет жалобы на зловонные корки в носу и полное отсутствие обоняния (аносмия). Со слов пациента, болеет с юности." + }, + { + "short": "Невралгия тройничного нерва. Приступы стреляющей боли в области крыла носа. Провоцируется прикосновением.", + "full": "На момент обращения пациент предъявляет жалобы на приступы стреляющей боли в области крыла носа, провоцирующиеся прикосновением." + }, + { + "short": "Хр. декомпенсир. тонзиллит. Субфебрилитет, слабость, боли в суставах. Посев - бета-гемол. стрептококк.", + "full": "На момент обращения пациент предъявляет жалобы на субфебрильную температуру, слабость и боли в суставах." + }, + { + "short": "Пирсинг языка. Отек, боль, покраснение через 2 дня после прокола. Обработку проводил нерегулярно.", + "full": "На момент обращения пациент предъявляет жалобы на отек, боль и покраснение в области прокола языка через два дня после пирсинга. Обработку проводил нерегулярно." + }, + { + "short": "Синусовая киста. Бессимптомно, обнаружена на КТ при обследовании по поводу головной боли.", + "full": "На момент обращения пациент жалоб, специфичных для ЛОР-органов, не предъявляет. Киста околоносовой пазухи была обнаружена случайно при проведении КТ по поводу головной боли." + }, + { + "short": "Проф. осмотр. Жалоб нет. Работает на хлебозаводе (мучная пыль).", + "full": "На момент обращения пациент жалоб не предъявляет. Обратился для профессионального осмотра. Работает на хлебозаводе в условиях контакта с мучной пылью." + }, + { + "short": "Острый катаральный ринофарингит. Чиханье, насморк, першение в горле. Контакт с больным ОРВИ.", + "full": "На момент обращения пациент предъявляет жалобы на чихание, насморк и першение в горле. Со слов пациента, был в контакте с больным ОРВИ." + }, + { + "short": "Геморрагический васкулит. Петехии на слизистой мягкого неба. Из ЛОР-жалоб - сухость.", + "full": "На момент обращения пациент предъявляет жалобы на сухость во рту. На слизистой мягкого неба отмечаются петехии." + }, + { + "short": "Оторея после ЧМТ. Прозрачные выделения из уха. Головной боли, тошноты нет.", + "full": "На момент обращения пациент предъявляет жалобы на прозрачные выделения из уха после перенесенной черепно-мозговой травмы. Головной боли и тошноты нет." + }, + { + "short": "Абсцесс надгортанника. Боль при глотании, ощущение инородного тела, слюнотечение. Дыхание не затруднено.", + "full": "На момент обращения пациент предъявляет жалобы на боль при глотании, ощущение инородного тела в горле и слюнотечение. Дыхание не затруднено." + }, + { + "short": "Хр. медикаментозный ринит. Постоянная заложенность. Капли использует 5-6 раз в день много лет.", + "full": "На момент обращения пациент предъявляет жалобы на постоянную заложенность носа. Сосудосуживающие капли использует 5-6 раз в день на протяжении многих лет." + }, + { + "short": "Попадание щелочи в гортань. Осиплость, боль. Промыл водой сразу после инцидента.", + "full": "На момент обращения пациент предъявляет жалобы на осиплость и боль в гортани после попадания щелочи. Сразу после инцидента промывал горло водой." + }, + { + "short": "Ювенильная ангиофиброма носоглотки у подростка. Носовые кровотечения, затруднение носового дыхания.", + "full": "На момент обращения родитель предъявляет жалобы на носовые кровотечения и прогрессирующее затруднение носового дыхания у подростка." + }, + { + "short": "Острый стоматит. Язвы на слизистой щек, боль. Прием пищи затруднен.", + "full": "На момент обращения пациент предъявляет жалобы на болезненные язвы на слизистой щек. Прием пищи затруднен из-за боли." + }, + { + "short": "Невринома слухового нерва? Односторонний тиннитус, прогресс. тугоухость, нарушение равновесия.", + "full": "На момент обращения пациент предъявляет жалобы на односторонний шум в ухе, прогрессирующее снижение слуха и нарушение равновесия." + }, + { + "short": "Инородное тело трахеи (металл. деталь) у взрослого. Приступ кашля, стридор. Аспирация час назад.", + "full": "На момент обращения пациент предъявляет жалобы на приступ кашля и стридорозное дыхание. Со слов пациента, час назад произошла аспирация металлической детали." + }, + { + "short": "Хр. гранулезный фарингит. Гипертрофия лимфоидных гранул, слизь на задней стенке глотки.", + "full": "На момент обращения пациент предъявляет жалобы на скопление слизи на задней стенке глотки." + }, + { + "short": "Острый мастоидит. Боль за ухом, оттопыренность ушной раковины, гноетечение. В анамнезе отит.", + "full": "На момент обращения пациент предъявляет жалобы на боль за ухом, оттопыренность ушной раковины и гноетечение из уха. Со слов пациента, в анамнезе был отит." + }, + { + "short": "Гипертрофия небных миндалин 3 ст. Ночной храп, апноэ, затруднение глотания твердой пищи.", + "full": "На момент обращения пациент предъявляет жалобы на ночной храп, остановки дыхания во сне и затруднение при глотании твердой пищи." + }, + { + "short": "Посттравматическая аносмия. Потеря обоняния после падения на затылок. Обоняние не восстанавливается 2 мес.", + "full": "На момент обращения пациент предъявляет жалобы на полную потерю обоняния, которая произошла после падения на затылок два месяца назад. Обоняние не восстанавливается." + }, + { + "short": "Острый эпиглоттит. Резкая боль в горле, слюнотечение, инспираторная одышка. Температура 39.0.", + "full": "На момент обращения пациент предъявляет жалобы на резкую боль в горле, слюнотечение, инспираторную одышку и повышение температуры тела до 39.0°C." + }, + { + "short": "Хр. атрофический ринит. Сухость, корки, носовые кровотечения. Ощущение широкого носа.", + "full": "На момент обращения пациент предъявляет жалобы на сухость в носу, корки, носовые кровотечения и ощущение широкого носа." + }, + { + "short": "Паратонзиллит. Асимметрия мягкого неба, боль с одной стороны, тризм. Температура 38.0.", + "full": "На момент обращения пациент предъявляет жалобы на боль в горле с одной стороны, затруднение открывания рта, асимметрию мягкого неба и повышение температуры тела до 38.0°C." + }, + { + "short": "Дисфагия неясного генеза. Поперхивание, ощущение застревания пищи. ЭГДС - без особенностей.", + "full": "На момент обращения пациент предъявляет жалобы на поперхивание и ощущение застревания пищи при глотании. ЭГДС патологии не выявила." + }, + { + "short": "Острый сиалоаденит околоушной слюнной железы. Болезненный отек, гнойное отделяемое из протока.", + "full": "На момент обращения пациент предъявляет жалобы на болезненный отек в области околоушной слюнной железы и гнойное отделяемое из ее протока." + }, + { + "short": "Холестеатома? Гноетечение из уха с запахом, тугоухость. Болеет отитами с детства.", + "full": "На момент обращения пациент предъявляет жалобы на гноетечение из уха с неприятным запахом и снижение слуха. Со слов пациента, с детства страдает рецидивирующими отитами." + }, + { + "short": "Ларинготрахеит. Осиплость, грубый кашель, затруднение вдоха. Ребенок 4 лет.", + "full": "На момент обращения родитель предъявляет жалобы на осиплость голоса, грубый кашель и затруднение вдоха у ребенка 4 лет." + }, + { + "short": "Искривление перегородки носа. Затруднение дыхания слева. Риноскопия - гребень перегородки слева.", + "full": "На момент обращения пациент предъявляет жалобы на затруднение носового дыхания слева." + }, + { + "short": "Глоссалгия. Жжение, покалывание в языке. Усиливается к вечеру. Слизистая без видимых изменений.", + "full": "На момент обращения пациент предъявляет жалобы на жжение и покалывание в языке, усиливающиеся к вечеру. Видимых изменений слизистой оболочки нет." + }, + { + "short": "Острый ринит у новорожденного. Заложенность носа, нарушение сосания. Сопелеотсосом пользуются.", + "full": "На момент обращения родитель предъявляет жалобы на заложенность носа у новорожденного ребенка, приводящую к нарушению сосания. Для облегчения дыхания пользуются сопелеотсосом." + }, + { + "short": "Папилломатоз гортани. Охриплость, затруднение дыхания. В анамнезе множественные операции.", + "full": "На момент обращения пациент предъявляет жалобы на охриплость и затруднение дыхания. Со слов пациента, страдает папилломатозом гортани, в анамнезе - множественные операции." + }, + { + "short": "Аллерг. ринит + бронхиальная астма. Чиханье, зуд в носу, кашель с одышкой. Сезонное обострение.", + "full": "На момент обращения пациент предъявляет жалобы на приступы чихания, зуд в носу, кашель с одышкой в период сезонного обострения. Со слов пациента, страдает аллергическим ринитом и бронхиальной астмой." + }, + { + "short": "Инородное тело пищевода (монета) у ребенка 3 лет. Слюнотечение, невозможность глотать.", + "full": "На момент обращения родитель предъявляет жалобы на слюнотечение и невозможность глотать у ребенка 3 лет." + }, + { + "short": "Острый средний отит при скарлатине. Боль в ухе, гноетечение. Сыпь на коже, температура.", + "full": "На момент обращения пациент предъявляет жалобы на боль в ухе, гноетечение, сыпь на коже и лихорадку." + }, + { + "short": "Хр. гипертрофический ларингит у курильщика. Стойкая осиплость. Курит 1.5 пачки/день 30 лет.", + "full": "На момент обращения пациент предъявляет жалобы на стойкую осиплость голоса. Курит 1.5 пачки сигарет в день на протяжении 30 лет." + }, + { + "short": "Неврит лицевого нерва. Асимметрия лица, сглаженность носогубной складки, лагофтальм. Началось с боли в ухе.", + "full": "На момент обращения пациент предъявляет жалобы на асимметрию лица, сглаженность носогубной складки и невозможность полностью закрыть глаз (лагофтальм). Со слов пациента, заболевание началось с боли в ухе." + }, + { + "short": "Попадание инородного тела (стекло) в слизистую глотки. Боль при глотании. Ощущение царапания.", + "full": "На момент обращения пациент предъявляет жалобы на боль при глотании и ощущение царапания в глотке после попадания инородного тела (осколка стекла)." + }, + { + "short": "Острый субатрофический ринит. Сухость, жжение в носу, корки. Работает в запыленном помещении.", + "full": "На момент обращения пациент предъявляет жалобы на сухость, жжение в носу и образование корок. Со слов пациента, работает в запыленном помещении." + }, + { + "short": "Гипервентиляционный синдром. Ощущение нехватки воздуха, ком в горле, головокружение. Приступ при стрессе.", + "full": "На момент обращения пациент предъявляет жалобы на приступы, сопровождающиеся ощущением нехватки воздуха, кома в горле и головокружением, возникающие во время стресса." + }, + { + "short": "Состояние после ларингэктомии. Дышит через трахеостому. Жалоб нет, плановый осмотр.", + "full": "На момент обращения пациент жалоб не предъявляет. Обратился для планового осмотра. Со слов пациента, перенес ларингэктомию, дышит через трахеостому." + }, + { + "short": "Острый тонзиллит Симановского-Плаута-Венсана. Язвенно-пленчатые налеты на одной миндалине. Боль умеренная.", + "full": "На момент обращения пациент предъявляет жалобы на язвенно-пленчатые налеты на одной миндалине. Боль в горле умеренная." + }, + { + "short": "Синдром Eagle. Боль в горле, ощущение инородного тела. Длинные шиловидные отростки на КТ.", + "full": "На момент обращения пациент предъявляет жалобы на боль в горле и ощущение инородного тела." + }, + { + "short": "Острый назофарингит у ВИЧ-инфицированного. Выраженная боль в горле, налеты, лихорадка.", + "full": "На момент обращения пациент предъявляет жалобы на выраженную боль в горле, налеты на слизистой и лихорадку. Со слов пациента, страдает ВИЧ-инфекцией." + }, + { + "short": "Пластика н/раковин радиохирургическим методом. Послеоперационный период. Жалоб нет, дышит носом.", + "full": "На момент обращения пациент жалоб не предъявляет, носовое дыхание свободное. Со слов пациента, перенес радиохирургическую пластику носовых раковин." + }, + { + "short": "АД 150/90, звон в ушах", + "full": "На момент обращения пациент предъявляет жалобы на: звон в ушах. Артериальное давление 150/90 мм рт. ст." + }, + { + "short": "СД 2 типа, зуд в ушах, выделения", + "full": "На момент обращения пациент предъявляет жалобы на: зуд в ушах и выделения из ушей. Имеет сахарный диабет 2 типа." + }, + { + "short": "ОРВИ неделю назад, заложенность носа, снижение обоняния", + "full": "На момент обращения пациент предъявляет жалобы на: заложенность носа и снижение обоняния. Перенёс ОРВИ неделю назад." + }, + { + "short": "Жалоб на горло нет, но есть гной на миндалинах", + "full": "На момент обращения пациент предъявляет жалобы на: наличие гноя на миндалинах. Жалоб на боль в горле нет." + }, + { + "short": "ЧСС 92, шум в ушах, головокружение", + "full": "На момент обращения пациент предъявляет жалобы на: шум в ушах и головокружение. Частота сердечных сокращений 92 уд/мин." + }, + { + "short": "ХОБЛ, хронический кашель, першение в горле", + "full": "На момент обращения пациент предъявляет жалобы на: хронический кашель и першение в горле. Имеет хроническую обструктивную болезнь лёгких." + }, + { + "short": "Аллергия на пыльцу, чихание, водянистый насморк весной", + "full": "На момент обращения пациент предъявляет жалобы на: чихание и водянистый насморк весной. Имеет аллергию на пыльцу." + }, + { + "short": "Жалоб на носовое дыхание нет, но есть храп", + "full": "На момент обращения пациент предъявляет жалобы на: храп. Жалоб на нарушение носового дыхания нет." + }, + { + "short": "ГБ, боль в висках, звон в ушах", + "full": "На момент обращения пациент предъявляет жалобы на: боль в висках и звон в ушах. Имеет гипертоническую болезнь." + }, + { + "short": "ИБС, одышка, заложенность ушей при ходьбе", + "full": "На момент обращения пациент предъявляет жалобы на: одышку и заложенность ушей при ходьбе. Имеет ишемическую болезнь сердца." + }, + { + "short": "Снижение слуха на оба уха, шум в ушах, проф. вредность (шум)", + "full": "На момент обращения пациент предъявляет жалобы на: снижение слуха на оба уха и шум в ушах. Работает в условиях профессиональной вредности — шум." + }, + { + "short": "Жалоб на уши нет, но есть охриплость", + "full": "На момент обращения пациент предъявляет жалобы на: охриплость голоса. Жалоб на уши нет." + }, + { + "short": "Аденоиды у ребёнка, храп, дыхание ртом", + "full": "На момент обращения пациент (ребёнок) предъявляет жалобы на: храп и дыхание ртом. Имеет аденоиды." + }, + { + "short": "ПНС, стекание слизи по глотке, кашель", + "full": "На момент обращения пациент предъявляет жалобы на: стекание слизи по задней стенке глотки и кашель. Имеет постназальный синдром." + }, + { + "short": "Жалоб на зрение нет, но есть боль в переносице и гной из носа", + "full": "На момент обращения пациент предъявляет жалобы на: боль в переносице и гной из носа. Жалоб на зрение нет." + }, + { + "short": "СД, зуд в носу, корки, носовые кровотечения", + "full": "На момент обращения пациент предъявляет жалобы на: зуд в носу, образование корок и носовые кровотечения. Имеет сахарный диабет." + }, + { + "short": "ОРЗ 3 дня, боль в горле, темп. 37.8", + "full": "На момент обращения пациент предъявляет жалобы на: боль в горле и температуру 37.8°C. Переносит ОРЗ в течение 3 дней." + }, + { + "short": "Жалоб на ЖКТ нет, но есть першение и кашель", + "full": "На момент обращения пациент предъявляет жалобы на: першение в горле и кашель. Жалоб на желудочно-кишечный тракт нет." + }, + { + "short": "АГ, шум в ушах, головная боль в затылке", + "full": "На момент обращения пациент предъявляет жалобы на: шум в ушах и головную боль в затылке. Имеет артериальную гипертензию." + }, + { + "short": "После купания — боль в ухе, зуд, выделения", + "full": "На момент обращения пациент предъявляет жалобы на: боль в ухе, зуд и выделения из уха после купания." + }, + { + "short": "Жалоб на слух нет, но есть заложенность уха", + "full": "На момент обращения пациент предъявляет жалобы на: заложенность уха. Жалоб на снижение слуха нет." + }, + { + "short": "Хр. тонзиллит, пробки, неприятный запах", + "full": "На момент обращения пациент предъявляет жалобы на: пробки в миндалинах и неприятный запах изо рта. Имеет хронический тонзиллит." + }, + { + "short": "Аллергия на кошек, чихание, заложенность носа", + "full": "На момент обращения пациент предъявляет жалобы на: чихание и заложенность носа. Имеет аллергию на кошек." + }, + { + "short": "Жалоб на зубы нет, но есть боль в щеке и гной из носа", + "full": "На момент обращения пациент предъявляет жалобы на: боль в щеке и гной из носа. Жалоб на зубы нет." + }, + { + "short": "Снижение слуха после ОРВИ, аутофония", + "full": "На момент обращения пациент предъявляет жалобы на: снижение слуха и аутофонию после перенесённой ОРВИ." + }, + { + "short": "Искр. перегородки, затруднённое дыхание через нос", + "full": "На момент обращения пациент предъявляет жалобы на: затруднённое дыхание через нос. Имеет искривление носовой перегородки." + }, + { + "short": "Жалоб на кожу нет, но есть шелушение за ушами", + "full": "На момент обращения пациент предъявляет жалобы на: шелушение кожи за ушами. Жалоб на кожу в других областях нет." + }, + { + "short": "Рефлюкс, охриплость, кашель в положении лёжа", + "full": "На момент обращения пациент предъявляет жалобы на: охриплость и кашель в положении лёжа. Имеет рефлюкс." + }, + { + "short": "Жалоб на сердце нет, но есть шум в ушах и головокружение", + "full": "На момент обращения пациент предъявляет жалобы на: шум в ушах и головокружение. Жалоб на сердце нет." + }, + { + "short": "Полипы, отсутствие обоняния, заложенность носа", + "full": "На момент обращения пациент предъявляет жалобы на: отсутствие обоняния и заложенность носа. Имеет полипы." + }, + { + "short": "После полёта — заложенность уха, шум", + "full": "На момент обращения пациент предъявляет жалобы на: заложенность уха и шум после авиаперелёта." + }, + { + "short": "Жалоб на зрение нет, но есть боль в глазнице и гной из носа", + "full": "На момент обращения пациент предъявляет жалобы на: боль в глазнице и гной из носа. Жалоб на зрение нет." + }, + { + "short": "Курит 20 лет, сухость в горле, хрипота", + "full": "На момент обращения пациент предъявляет жалобы на: сухость в горле и хрипоту. Курит 20 лет." + }, + { + "short": "Жалоб на ЖКТ нет, но есть ком в горле", + "full": "На момент обращения пациент предъявляет жалобы на: чувство кома в горле. Жалоб на желудочно-кишечный тракт нет." + }, + { + "short": "ОРВИ, насморк, слезотечение, чихание", + "full": "На момент обращения пациент предъявляет жалобы на: насморк, слезотечение и чихание. Переносит ОРВИ." + }, + { + "short": "Жалоб на уши нет, но есть боль в горле и лихорадка", + "full": "На момент обращения пациент предъявляет жалобы на: боль в горле и лихорадку. Жалоб на уши нет." + }, + { + "short": "Аденоиды II ст., храп, дыхание ртом у ребёнка", + "full": "На момент обращения пациент (ребёнок) предъявляет жалобы на: храп и дыхание ртом. Имеет аденоиды II степени." + }, + { + "short": "После чистки уха — боль, выделения", + "full": "На момент обращения пациент предъявляет жалобы на: боль в ухе и выделения после чистки уха." + }, + { + "short": "Жалоб на слух нет, но есть звон в ушах", + "full": "На момент обращения пациент предъявляет жалобы на: звон в ушах. Жалоб на снижение слуха нет." + }, + { + "short": "СД, зуд в ушах, рецидивирующие отиты", + "full": "На момент обращения пациент предъявляет жалобы на: зуд в ушах и рецидивирующие отиты. Имеет сахарный диабет." + }, + { + "short": "Жалоб на нос нет, но есть охриплость и кашель", + "full": "На момент обращения пациент предъявляет жалобы на: охриплость и кашель. Жалоб на нос нет." + }, + { + "short": "Гайморит, гной из носа, боль в щеке", + "full": "На момент обращения пациент предъявляет жалобы на: гной из носа и боль в щеке. Имеет гайморит." + }, + { + "short": "После ныряния — боль в ухе, снижение слуха", + "full": "На момент обращения пациент предъявляет жалобы на: боль в ухе и снижение слуха после ныряния." + }, + { + "short": "Жалоб на сердце нет, но есть АД 160/100 и шум в ушах", + "full": "На момент обращения пациент предъявляет жалобы на: артериальное давление 160/100 мм рт. ст. и шум в ушах. Жалоб на сердце нет." + }, + { + "short": "Хр. ринит, заложенность носа, не помогают капли", + "full": "На момент обращения пациент предъявляет жалобы на: заложенность носа, которая не купируется каплями. Имеет хронический ринит." + }, + { + "short": "Жалоб на зрение нет, но есть головная боль и заложенность носа", + "full": "На момент обращения пациент предъявляет жалобы на: головную боль и заложенность носа. Жалоб на зрение нет." + }, + { + "short": "ИБС, одышка, заложенность ушей", + "full": "На момент обращения пациент предъявляет жалобы на: одышку и заложенность ушей. Имеет ишемическую болезнь сердца." + }, + { + "short": "После промывания носа — боль в ухе, гной", + "full": "На момент обращения пациент предъявляет жалобы на: боль в ухе и гнойные выделения после промывания носа." + }, + { + "short": "Жалоб на ЖКТ нет, но есть першение и осиплость", + "full": "На момент обращения пациент предъявляет жалобы на: першение в горле и осиплость голоса. Жалоб на желудочно-кишечный тракт нет." + }, + { + "short": "Аллергия на пыль, зуд в носу, чихание по утрам", + "full": "На момент обращения пациент предъявляет жалобы на: зуд в носу и чихание по утрам. Имеет аллергию на пыль." + }, + { + "short": "Жалоб на уши нет, но есть гнусавость и заложенность носа", + "full": "На момент обращения пациент предъявляет жалобы на: гнусавость и заложенность носа. Жалоб на уши нет." + }, + { + "short": "Снижение слуха, шум, проф. вредность", + "full": "На момент обращения пациент предъявляет жалобы на: снижение слуха и шум в ушах. Работает в условиях профессиональной вредности." + }, + { + "short": "После ОРВИ — снижение обоняния, заложенность носа", + "full": "На момент обращения пациент предъявляет жалобы на: снижение обоняния и заложенность носа после ОРВИ." + }, + { + "short": "Жалоб на сердце нет, но есть ЧСС 96 и головокружение", + "full": "На момент обращения пациент предъявляет жалобы на: частоту сердечных сокращений 96 уд/мин и головокружение. Жалоб на сердце нет." + }, + { + "short": "Хр. фарингит, першение, сухой кашель", + "full": "На момент обращения пациент предъявляет жалобы на: першение в горле и сухой кашель. Имеет хронический фарингит." + }, + { + "short": "Жалоб на зубы нет, но есть боль в верхней челюсти и гной из носа", + "full": "На момент обращения пациент предъявляет жалобы на: боль в верхней челюсти и гной из носа. Жалоб на зубы нет." + }, + { + "short": "АГ, головная боль, звон в ушах", + "full": "На момент обращения пациент предъявляет жалобы на: головную боль и звон в ушах. Имеет артериальную гипертензию." + }, + { + "short": "После использования наушников — зуд, боль в ухе", + "full": "На момент обращения пациент предъявляет жалобы на: зуд и боль в ухе после использования наушников." + }, + { + "short": "Жалоб на зрение нет, но есть боль в лбу и гной из носа", + "full": "На момент обращения пациент предъявляет жалобы на: боль в лбу и гной из носа. Жалоб на зрение нет." + }, + { + "short": "СД, сухость в носу, корки, кровотечения", + "full": "На момент обращения пациент предъявляет жалобы на: сухость в носу, образование корок и носовые кровотечения. Имеет сахарный диабет." + }, + { + "short": "Жалоб на ЖКТ нет, но есть ком в горле и кашель", + "full": "На момент обращения пациент предъявляет жалобы на: чувство кома в горле и кашель. Жалоб на желудочно-кишечный тракт нет." + }, + { + "short": "ОРЗ, боль в горле, темп. 38.2", + "full": "На момент обращения пациент предъявляет жалобы на: боль в горле и температуру 38.2°C. Переносит ОРЗ." + }, + { + "short": "Жалоб на уши нет, но есть храп и дыхание ртом", + "full": "На момент обращения пациент предъявляет жалобы на: храп и дыхание ртом. Жалоб на уши нет." + }, + { + "short": "Полипы, отсутствие обоняния, хронический насморк", + "full": "На момент обращения пациент предъявляет жалобы на: отсутствие обоняния и хронический насморк. Имеет полипы." + }, + { + "short": "После купания в море — зуд, боль в ухе", + "full": "На момент обращения пациент предъявляет жалобы на: зуд и боль в ухе после купания в море." + }, + { + "short": "Жалоб на сердце нет, но есть АД 155/95 и шум в ушах", + "full": "На момент обращения пациент предъявляет жалобы на: артериальное давление 155/95 мм рт. ст. и шум в ушах. Жалоб на сердце нет." + }, + { + "short": "Хр. тонзиллит, белые пробки, запах изо рта", + "full": "На момент обращения пациент предъявляет жалобы на: белые пробки в миндалинах и запах изо рта. Имеет хронический тонзиллит." + }, + { + "short": "Жалоб на нос нет, но есть охриплость и першение", + "full": "На момент обращения пациент предъявляет жалобы на: охриплость и першение в горле. Жалоб на нос нет." + }, + { + "short": "Аллергия на пыльцу, заложенность носа, слезотечение весной", + "full": "На момент обращения пациент предъявляет жалобы на: заложенность носа и слезотечение весной. Имеет аллергию на пыльцу." + }, + { + "short": "После удара — деформация носа, заложенность", + "full": "На момент обращения пациент предъявляет жалобы на: деформацию носа и заложенность после травмы." + }, + { + "short": "Жалоб на слух нет, но есть ощущение воды в ухе", + "full": "На момент обращения пациент предъявляет жалобы на: ощущение воды в ухе. Жалоб на снижение слуха нет." + }, + { + "short": "ИБС, одышка, заложенность ушей при нагрузке", + "full": "На момент обращения пациент предъявляет жалобы на: одышку и заложенность ушей при физической нагрузке. Имеет ишемическую болезнь сердца." + }, + { + "short": "Жалоб на ЖКТ нет, но есть рефлюкс и охриплость", + "full": "На момент обращения пациент предъявляет жалобы на: рефлюкс и охриплость. Жалоб на желудочно-кишечный тракт нет." + }, + { + "short": "Снижение слуха после антибиотиков, шум в ушах", + "full": "На момент обращения пациент предъявляет жалобы на: снижение слуха и шум в ушах после приёма антибиотиков." + }, + { + "short": "Жалоб на зрение нет, но есть боль в переносице и головная боль", + "full": "На момент обращения пациент предъявляет жалобы на: боль в переносице и головную боль. Жалоб на зрение нет." + }, + { + "short": "Курит 10 лет, сухость в горле, кашель", + "full": "На момент обращения пациент предъявляет жалобы на: сухость в горле и кашель. Курит 10 лет." + }, + { + "short": "Жалоб на уши нет, но есть боль в горле и налёт на миндалинах", + "full": "На момент обращения пациент предъявляет жалобы на: боль в горле и налёт на миндалинах. Жалоб на уши нет." + }, + { + "short": "Аденоиды, храп, нарушение сна у ребёнка", + "full": "На момент обращения пациент (ребёнок) предъявляет жалобы на: храп и нарушение сна. Имеет аденоиды." + }, + { + "short": "После чистки уха ватной палочкой — боль, снижение слуха", + "full": "На момент обращения пациент предъявляет жалобы на: боль в ухе и снижение слуха после чистки уха ватной палочкой." + }, + { + "short": "Жалоб на носовое дыхание нет, но есть гнусавость", + "full": "На момент обращения пациент предъявляет жалобы на: гнусавость. Жалоб на нарушение носового дыхания нет." + }, + { + "short": "Гайморит, боль в щеке, гной из носа", + "full": "На момент обращения пациент предъявляет жалобы на: боль в щеке и гной из носа. Имеет гайморит." + }, + { + "short": "Жалоб на сердце нет, но есть ЧСС 100 и шум в ушах", + "full": "На момент обращения пациент предъявляет жалобы на: частоту сердечных сокращений 100 уд/мин и шум в ушах. Жалоб на сердце нет." + }, + { + "short": "Хр. ринит, заложенность, не помогают сосудосуживающие", + "full": "На момент обращения пациент предъявляет жалобы на: заложенность носа, которая не купируется сосудосуживающими каплями. Имеет хронический ринит." + }, + { + "short": "Жалоб на зубы нет, но есть боль в верхней челюсти", + "full": "На момент обращения пациент предъявляет жалобы на: боль в верхней челюсти. Жалоб на зубы нет." + }, + { + "short": "СД, зуд в ушах, рецидивирующие выделения", + "full": "На момент обращения пациент предъявляет жалобы на: зуд в ушах и рецидивирующие выделения. Имеет сахарный диабет." + }, + { + "short": "После полёта — заложенность обоих ушей", + "full": "На момент обращения пациент предъявляет жалобы на: заложенность обоих ушей после авиаперелёта." + }, + { + "short": "Жалоб на ЖКТ нет, но есть першение и ком в горле", + "full": "На момент обращения пациент предъявляет жалобы на: першение в горле и чувство кома в горле. Жалоб на желудочно-кишечный тракт нет." + }, + { + "short": "ОРВИ, чихание, водянистый насморк", + "full": "На момент обращения пациент предъявляет жалобы на: чихание и водянистый насморк. Переносит ОРВИ." + }, + { + "short": "Жалоб на слух нет, но есть аутофония", + "full": "На момент обращения пациент предъявляет жалобы на: аутофонию. Жалоб на снижение слуха нет." + }, + { + "short": "Жал. на заложен. прав. уха, шум 2 нед.", + "full": "Пациент жалуется на стойкую заложенность правого уха и постоянный шум в нём, которые появились около двух недель назад. Отмечает, что шум не зависит от положения тела и не усиливается в тишине. Самостоятельно не применял никаких препаратов. К ЛОР‑врачу обратился впервые по данному поводу. Сопутствующих заболеваний не имеет. Аллергологический анамнез не отягощён." + }, + { + "short": "Перенёс ОРВИ 3 нед. назад, с тех пор сниж. слух лев. уха", + "full": "Около трёх недель назад пациент перенёс острое респираторное вирусное заболевание. После выздоровления отметил постепенное снижение слуха в левом ухе. Отмечает, что при разговоре по телефону вынужден прикладывать аппарат к правому уху. Не проводил самостоятельного лечения. Ранее по поводу снижения слуха к ЛОР‑врачу не обращался. Хронических заболеваний нет. Аллергии не отмечает." + }, + { + "short": "Гнойн. выдел. из прав. уха 5 дн., темп. 37,8°C", + "full": "В течение пяти дней пациент наблюдает гнойные выделения из правого уха. Сопровождается повышением температуры тела до 37,8 °C. Отмечает умеренную боль в области правого уха, усиливающуюся при надавливании на козелок. Самостоятельно промывал ухо тёплой водой, что не привело к улучшению. К врачу обратился впервые с данной симптоматикой. Хронических ЛОР‑заболеваний не имеет. Аллергических реакций не выявлено." + }, + { + "short": "Периодич. звон в обоих ушах 6 мес.", + "full": "На протяжении шести месяцев пациент периодически испытывает звон в обоих ушах. Звон возникает спонтанно, длится от нескольких минут до часа, затем самостоятельно проходит. Не связывает появление симптома с какими‑либо конкретными факторами (шумом, физической нагрузкой, стрессом). Не применял медикаментозное лечение. Ранее к ЛОР‑врачу по этому поводу не обращался. Сопутствующие заболевания отсутствуют. Аллергоанамнез не отягощён." + }, + { + "short": "Затрудн. носов. дых. 4 мес., чиханье, слиз. выдел.", + "full": "В течение четырёх месяцев пациент испытывает затруднение носового дыхания. Сопровождается частым чиханием и обильными слизистыми выделениями из носа. Отмечает усиление симптомов в утренние часы и при контакте с домашней пылью. Самостоятельно использовал сосудосуживающие капли с кратковременным эффектом. К ЛОР‑врачу обратился впервые. Хронические заболевания отрицает. В анамнезе — аллергическая реакция на пыльцу берёзы." + }, + { + "short": "Боль в горл. 3 дн., темп. 38,5°C, трудн. глотан.", + "full": "Три дня назад появилась интенсивная боль в горле, сопровождающаяся повышением температуры до 38,5 °C и затруднением глотания, особенно при приёме твёрдой пищи. Отмечает общую слабость и головную боль. Самостоятельно полоскал горло солевым раствором без значительного улучшения. К врачу обратился впервые с данными симптомами. Хронических заболеваний ЛОР‑органов не имеет. Аллергии не выявлено." + }, + { + "short": "Повтор. ангина 3 раз за год", + "full": "За последний год пациент трижды перенёс острый тонзиллофарингит (ангину). Каждое обострение сопровождалось высокой температурой (до 39 °C), сильной болью в горле и увеличением шейных лимфоузлов. Проходил курс антибиотикотерапии по назначению врача. Между обострениями чувствует себя удовлетворительно. Хронический тонзиллит не диагностирован. Аллергоанамнез не отягощён." + }, + { + "short": "Сниж. слух прав. уха посл. полётов 2 мес.", + "full": "Два месяца назад после авиаперелёта пациент отметил снижение слуха в правом ухе. Симптом сохраняется до настоящего времени. Отмечает ощущение заложенности и «эха» собственного голоса. Не применял самостоятельное лечение. К ЛОР‑врачу обратился впервые по данному поводу. Хронических заболеваний уха не имеет. Аллергии отсутствуют." + }, + { + "short": "Кров. выдел. из носа утро, 2 нед.", + "full": "На протяжении двух недель по утрам наблюдает незначительные кровянистые выделения из носа. Кровотечения кратковременные, останавливаются самостоятельно. Не связывает с травмой или повышенной физической нагрузкой. Не использовал местные гемостатические средства. К врачу обратился впервые. Хронических заболеваний носоглотки не имеет. Аллергоанамнез не отягощён." + }, + { + "short": "Охрип. голос 10 дн., перш. в горл.", + "full": "В течение десяти дней пациент отмечает охриплость голоса и постоянное першение в горле. Голос становится более осипшим после длительной речевой нагрузки. Отмечает сухость в горле, особенно в утренние часы. Самостоятельно применял пастилки для горла с незначительным облегчением симптомов. К ЛОР‑врачу обратился впервые. Хронических заболеваний гортани не имеет. Аллергии не выявлены." + }, + { + "short": "Головокр. при поворотах гол. 1 мес.", + "full": "В течение месяца пациент испытывает головокружение при резких поворотах головы. Головокружение кратковременное, сопровождается ощущением неустойчивости. Не отмечает шума в ушах или снижения слуха. Не связывается с изменением артериального давления. Самостоятельно не лечился. К врачу обратился впервые. Хронических заболеваний вестибулярного аппарата не имеет. Аллергоанамнез не отягощён." + }, + { + "short": "Сух. корки в носу, затрудн. дых. 3 мес.", + "full": "На протяжении трёх месяцев пациент испытывает сухость в полости носа и образование сухих корок, что приводит к затруднению носового дыхания. Отмечает необходимость регулярного удаления корок для облегчения дыхания. Не применял увлажняющие средства. К ЛОР‑врачу обратился впервые. Хронических ринитов не диагностировано. Аллергии отсутствуют." + }, + { + "short": "Боль в обл. лев. уха при жев., 1 нед.", + "full": "Неделя назад появилась боль в области левого уха, усиливающаяся при жевании и открывании рта. Отмечает, что боль иррадиирует в височную область. Не связывает с перенесённой инфекцией или травмой. Самостоятельно принимал обезболивающие препараты с временным эффектом. К ЛОР‑врачу обратился впервые. Хронических заболеваний уха не имеет. Аллергоанамнез не отягощён." + }, + { + "short": "Част. синусит 2 раз/год послед. 3 года", + "full": "В течение последних трёх лет пациент дважды в год переносит острый синусит. Каждое обострение сопровождается заложенностью носа, гнойными выделениями, головной болью в области лба и повышением температуры. Проходит курс антибиотикотерапии по назначению врача. В периоды между обострениями чувствует себя удовлетворительно. Хронический синусит не диагностирован. Аллергии не выявлены." + }, + { + "short": "Чувств. инород. тела в горл. 2 нед.", + "full": "На протяжении двух недель пациент ощущает инородное тело в горле, преимущественно в области миндалин. Ощущение не зависит от приёма пищи и не сопровождается болью или затруднением глотания. Не отмечал попадания инородного предмета. Самостоятельно не лечился. К ЛОР‑врачу обратился впервые. Хронических заболеваний глотки не имеет. Аллергоанамнез не отягощён." + }, + { + "short": "Насморк, заложен. носа 1 мес., ухудш. ночью", + "full": "В течение месяца пациент страдает от насморка и заложенности носа, которая значительно усиливается в ночное время. Отмечает обильные слизистые выделения, особенно утром. Самостоятельно использовал сосудосуживающие капли с кратковременным эффектом. К врачу обратился впервые. Хронических ринитов не диагностировано. В анамнезе — аллергия на домашнюю пыль." + }, + { + "short": "Шум в лев. ухе посл. конц. громк. муз., 10 дн.", + "full": "Десять дней назад после посещения концерта с громкой музыкой пациент начал ощущать шум в левом ухе. Шум постоянный, высокочастотный, не исчезает в тишине. Не отмечает снижения слуха или боли. Не применял лечение. К ЛОР‑врачу обратился впервые. Хронических заболеваний уха не имеет. Аллергии отсутствуют." + }, + { + "short": "Частые носов. кровотеч. 4 раз за мес.", + "full": "За последний месяц у пациента было четыре эпизода носовых кровотечений. Кровотечения кратковременные, останавливаются самостоятельно или при прикладывании холода. Не связывает с травмой или повышенным артериальным давлением. Не использовал местные гемостатические средства. К врачу обратился впервые. Хронических заболеваний носоглотки не имеет. Аллергоанамнез не отягощён." + } +] \ No newline at end of file diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..cc578ce --- /dev/null +++ b/readme.md @@ -0,0 +1,26 @@ +# Medical RAG System with YandexGPT + +Система для автоматического преобразования кратких медицинских записей в развернутые формулировки жалоб пациентов с использованием RAG (Retrieval-Augmented Generation) и модели YandexGPT. + +## 🚀 Особенности + +- **RAG-архитектура**: Поиск релевантных медицинских примеров из базы знаний +- **Гибкое использование GPU**: Автоматическое определение и использование GPU для ускорения работы +- **Управление токенами**: Интеллектуальное ограничение длины контекста +- **Русскоязычная оптимизация**: Специально настроена для работы с медицинскими текстами на русском языке +- **Хранение состояния**: Сохранение векторной базы данных между сессиями + +## 📋 Требования + +### Аппаратные требования +- **Минимально**: CPU с 8+ GB RAM +- **Рекомендуется**: GPU с 8+ GB VRAM (NVIDIA) +- **Память**: 10+ GB свободного места + +### Программные требования +- Python 3.8+ +- PyTorch (с поддержкой CUDA при наличии GPU) +- Библиотеки: `chromadb`, `llama-cpp-python`, `sentence-transformers`, `tiktoken` + +### Модель +[YandexGPT-5-Lite-8B-instruct-Q4_K_M](https://huggingface.co/yandex/YandexGPT-5-Lite-8B-instruct-GGUF/resolve/main/YandexGPT-5-Lite-8B-instruct-Q4_K_M.gguf?download=true) diff --git a/requerements.txt b/requerements.txt new file mode 100644 index 0000000..3c06755 --- /dev/null +++ b/requerements.txt @@ -0,0 +1,6 @@ +torch>=2.0.0 +chromadb>=0.4.0 +llama-cpp-python>=0.2.0 +sentence-transformers>=2.2.0 +tiktoken>=0.4.0 +numpy>=1.21.0 \ No newline at end of file diff --git a/yandex.py b/yandex.py new file mode 100644 index 0000000..1b4b938 --- /dev/null +++ b/yandex.py @@ -0,0 +1,229 @@ +# medical_rag.py +import os +import json +import tiktoken +from typing import List, Tuple +import chromadb +from chromadb.utils.embedding_functions import SentenceTransformerEmbeddingFunction +from llama_cpp import Llama + + +class MedicalRAG: + def __init__( + self, + model_path: str, + corpus_path: str = "rag_corpus.json", + db_path: str = "./chroma_db", + embedding_model_name: str = "cointegrated/rubert-tiny2", + top_k: int = 3, + n_ctx: int = 4096, # Увеличил контекст для YandexGPT + n_threads: int = 4, + token_multiplier: int = 5 # Множитель токенов для ответа + ): + self.corpus_path = corpus_path + self.top_k = top_k + self.token_multiplier = token_multiplier + + # === Инициализация токенизатора === + print("Инициализация токенизатора...") + try: + self.encoding = tiktoken.get_encoding("cl100k_base") # Совместим с большинством моделей + except: + print("⚠️ Не удалось загрузить токенизатор, используется базовый подсчет символов") + self.encoding = None + + # === Эмбеддинги === + print("Загрузка эмбеддинг-модели...") + self.embedding_function = SentenceTransformerEmbeddingFunction( + model_name=embedding_model_name, + device="cpu" + ) + + # === ChromaDB === + print("Инициализация ChromaDB...") + self.client = chromadb.PersistentClient(path=db_path) + self.collection = self.client.get_or_create_collection( + name="medical_anamnesis", + embedding_function=self.embedding_function, + metadata={"hnsw:space": "cosine"} + ) + + if self.collection.count() == 0: + print("Коллекция пуста. Загрузка данных...") + self._load_corpus() + else: + print(f"Коллекция уже содержит {self.collection.count()} записей.") + + # === LLM (YandexGPT) === + if not os.path.exists(model_path): + raise FileNotFoundError( + f"Модель не найдена: {model_path}\n" + "Скачайте YandexGPT-5-Lite-8B-instruct-Q4_K_M.gguf и поместите в ./models/" + ) + print("Загрузка языковой модели (YandexGPT)...") + self.llm = Llama( + model_path=model_path, + n_ctx=n_ctx, + n_threads=n_threads, + verbose=False + ) + print("✅ Система готова к работе!") + + def _load_corpus(self): + with open(self.corpus_path, "r", encoding="utf-8") as f: + data = json.load(f) + + self.collection.add( + documents=[item["full"] for item in data], + metadatas=[{"short": item["short"]} for item in data], + ids=[f"id_{i}" for i in range(len(data))] + ) + print(f"✅ Загружено {len(data)} записей.") + + def count_tokens(self, text: str) -> int: + """Подсчет токенов в тексте""" + if self.encoding: + return len(self.encoding.encode(text)) + else: + # Фолбэк: приблизительный подсчет (1 токен ≈ 4 символа) + return len(text) // 4 + + def build_prompt_with_token_management(self, short_note: str, max_context_tokens: int = 3000) -> Tuple[str, int]: + """Строит промпт с управлением токенами""" + examples = self.retrieve(short_note) + + # Системное сообщение + system_msg = ( + "На основе приведённых клинических примеров напиши развёрнуто жалобы пациента, грамотно с медицинской точки зрения. " + "Напиши жалобы в одно предложение, одной строкой. " + "Не пиши вводных слов и фраз. Только жалобы пациента. " + "Неуместно писать диагнозы и план лечения. " + "Расшифруй все сокращения. " + "Отвечай сразу без размышлений." + ) + + # Считаем токены системного сообщения и короткой заметки + system_tokens = self.count_tokens(system_msg) + note_tokens = self.count_tokens(short_note) + + # Доступное количество токенов для примеров + available_tokens = max_context_tokens - system_tokens - note_tokens - 100 # Запас на форматирование + + # Отбираем примеры, которые помещаются в контекст + selected_examples = [] + current_tokens = 0 + + for example in examples: + example_tokens = self.count_tokens(example) + if current_tokens + example_tokens <= available_tokens: + selected_examples.append(example) + current_tokens += example_tokens + else: + print("⛔️ RAG: Token limit exceeded.") + break + + context = "\n\n".join([f"Пример: {ex}" for ex in selected_examples]) + + user_msg = f"""Примеры развёрнутых описаний: +{context} + +Жалобы пациента: "{short_note}" +""" + + # 🔑 Формат промпта для YandexGPT + prompt = ( + f"<|im_start|>system\n{system_msg}<|im_end|>\n" + f"<|im_start|>user\n{user_msg}<|im_end|>\n" + "<|im_start|>assistant\n" + ) + + prompt_tokens = self.count_tokens(prompt) + return prompt, prompt_tokens + + def retrieve(self, query: str, n: int = None) -> List[str]: + n = n or self.top_k + results = self.collection.query(query_texts=[query], n_results=n) + return results["documents"][0] + + def generate(self, short_note: str) -> str: + prompt, prompt_tokens = self.build_prompt_with_token_management(short_note) + + # Вычисляем max_tokens на основе длины промпта + available_tokens = 4096 - prompt_tokens - 50 # Запас + max_tokens = min(prompt_tokens * self.token_multiplier, available_tokens) + + print(f"📊 Токены: промпт={prompt_tokens}, макс.ответ={max_tokens}") + + output = self.llm( + prompt, + max_tokens=max_tokens, + temperature=0.1, + stop=["<|im_end|>"], + echo=False + ) + + result = output["choices"][0]["text"].strip() + return result + + def __call__(self, short_note: str) -> str: + return self.generate(short_note) + + +# === Отключаем телеметрию Chroma === +os.environ["CHROMA_TELEMETRY"] = "false" + +import time + +# === Запуск === +if __name__ == "__main__": + rag = MedicalRAG( + model_path="./models/YandexGPT-5-Lite-8B-instruct-Q4_K_M.gguf", + n_ctx=8192 # Увеличиваем контекст для YandexGPT + ) + + # Промты для тестирования + test_notes = [ + "Кашель сухой, температура 38", + "А.д. 140, заложенность ушей, частичная потеря слуха", + "а.д. 140/80, т.36.6, выделения из левого уха гнойные", + "ушные палочки 5 лет, снижение слуха 2 года" + ] + + for note in test_notes: + print(f"\n📥 Кратко: {note}") + t1 = time.time() + result = rag(note) + elapsed_time = time.time() - t1 + print(f"⏱ Время выполнения: {elapsed_time:.2f} сек") + if result: + print(f"📤 Развёрнуто:\n{result}") + else: + print("❌ Пустой ответ от модели.") + print("─" * 60) + +""" +📥 Кратко: Кашель сухой, температура 38 +📊 Токены: промпт=392, макс.ответ=1960 +📤 Развёрнуто: +Пациент жалуется на сухой кашель и повышение температуры до 38°C. +──────────────────────────────────────────────────────────── + +📥 Кратко: А.д. 140, заложенность ушей, частичная потеря слуха +📊 Токены: промпт=379, макс.ответ=1895 +📤 Развёрнуто: +Пациент жалуется на повышенное артериальное давление 140 мм рт. ст., заложенность ушей и частичную потерю слуха. +──────────────────────────────────────────────────────────── + +📥 Кратко: а.д. 140/80, т.36.6, ОСГО л. уха +📊 Токены: промпт=405, макс.ответ=2025 +❌ Пустой ответ от модели. +──────────────────────────────────────────────────────────── + +📥 Кратко: ушные палочки 5 лет, снижение слуха 2 года +📊 Токены: промпт=430, макс.ответ=2150 +📤 Развёрнуто: +Пациент жалуется на использование ушных палочек в течение пяти лет и снижение слуха, которое наблюдается в течение двух лет. + +""" + +# YandexGPT-5-Lite-8B-instruct-Q4_K_M 7-30 сек \ No newline at end of file diff --git a/yandex_gpu.py b/yandex_gpu.py new file mode 100644 index 0000000..26faa1a --- /dev/null +++ b/yandex_gpu.py @@ -0,0 +1,232 @@ +# medical_rag.py +import os +import json +import tiktoken +from typing import List, Tuple +import chromadb +from chromadb.utils.embedding_functions import SentenceTransformerEmbeddingFunction +from llama_cpp import Llama +import torch # Добавляем импорт torch + + +class MedicalRAG: + def __init__( + self, + model_path: str, + corpus_path: str = "rag_corpus.json", + db_path: str = "./chroma_db", + embedding_model_name: str = "cointegrated/rubert-tiny2", + top_k: int = 3, + n_ctx: int = 4096, + n_threads: int = 4, + token_multiplier: int = 5, + n_gpu_layers: int = -1, # Автоматическое определение слоев для GPU + main_gpu: int = 0, # Основной GPU + tensor_split: List[float] = None, # Разделение тензоров между GPU + use_gpu_for_embeddings: bool = True # Использовать GPU для эмбеддингов + ): + self.corpus_path = corpus_path + self.top_k = top_k + self.token_multiplier = token_multiplier + + # === Проверка доступности GPU === + self.has_gpu = torch.cuda.is_available() + if self.has_gpu: + print(f"✅ GPU доступен: {torch.cuda.get_device_name()}") + print(f"✅ Количество GPU: {torch.cuda.device_count()}") + print(f"✅ Память GPU: {torch.cuda.get_device_properties(0).total_memory / 1024 ** 3:.1f} GB") + else: + print("⚠️ GPU не доступен, используется CPU") + + # === Инициализация токенизатора === + print("Инициализация токенизатора...") + try: + self.encoding = tiktoken.get_encoding("cl100k_base") + except: + print("⚠️ Не удалось загрузить токенизатор, используется базовый подсчет символов") + self.encoding = None + + # === Эмбеддинги с GPU === + print("Загрузка эмбеддинг-модели...") + device = "cuda" if self.has_gpu and use_gpu_for_embeddings else "cpu" + print(f"Эмбеддинг-модель будет использовать: {device.upper()}") + + self.embedding_function = SentenceTransformerEmbeddingFunction( + model_name=embedding_model_name, + device=device + ) + + # === ChromaDB === + print("Инициализация ChromaDB...") + self.client = chromadb.PersistentClient(path=db_path) + self.collection = self.client.get_or_create_collection( + name="medical_anamnesis", + embedding_function=self.embedding_function, + metadata={"hnsw:space": "cosine"} + ) + + if self.collection.count() == 0: + print("Коллекция пуста. Загрузка данных...") + self._load_corpus() + else: + print(f"Коллекция уже содержит {self.collection.count()} записей.") + + # === LLM (YandexGPT) с GPU === + if not os.path.exists(model_path): + raise FileNotFoundError( + f"Модель не найдена: {model_path}\n" + "Скачайте YandexGPT-5-Lite-8B-instruct-Q4_K_M.gguf и поместите в ./models/" + ) + + print("Загрузка языковой модели (YandexGPT)...") + + # Параметры для GPU + gpu_params = {} + if self.has_gpu: + gpu_params.update({ + "n_gpu_layers": n_gpu_layers, # -1 = все слои на GPU + "main_gpu": main_gpu, + "tensor_split": tensor_split, + "low_vram": False, # Отключаем для лучшей производительности, если достаточно памяти + "flash_attn": True # Включаем flash attention для ускорения + }) + print(f"Используется GPU с {n_gpu_layers} слоями") + else: + print("Используется CPU") + + self.llm = Llama( + model_path=model_path, + n_ctx=n_ctx, + n_threads=n_threads, + verbose=False, + **gpu_params + ) + print("✅ Система готова к работе!") + + def _load_corpus(self): + with open(self.corpus_path, "r", encoding="utf-8") as f: + data = json.load(f) + + self.collection.add( + documents=[item["full"] for item in data], + metadatas=[{"short": item["short"]} for item in data], + ids=[f"id_{i}" for i in range(len(data))] + ) + print(f"✅ Загружено {len(data)} записей.") + + def count_tokens(self, text: str) -> int: + """Подсчет токенов в тексте""" + if self.encoding: + return len(self.encoding.encode(text)) + else: + return len(text) // 4 + + def build_prompt_with_token_management(self, short_note: str, max_context_tokens: int = 3000) -> Tuple[str, int]: + """Строит промпт с управлением токенами""" + examples = self.retrieve(short_note) + + system_msg = ( + "На основе приведённых клинических примеров напиши развёрнуто жалобы пациента, грамотно с медицинской точки зрения. " + "Напиши жалобы в одно предложение, одной строкой. " + "Не пиши вводных слов и фраз. Только жалобы пациента. " + "Неуместно писать диагнозы и план лечения. " + "Расшифруй все сокращения. " + "Отвечай сразу без размышлений." + ) + + system_tokens = self.count_tokens(system_msg) + note_tokens = self.count_tokens(short_note) + + available_tokens = max_context_tokens - system_tokens - note_tokens - 100 + + selected_examples = [] + current_tokens = 0 + + for example in examples: + example_tokens = self.count_tokens(example) + if current_tokens + example_tokens <= available_tokens: + selected_examples.append(example) + current_tokens += example_tokens + else: + print("⛔️ RAG: Token limit exceeded.") + break + + context = "\n\n".join([f"Пример: {ex}" for ex in selected_examples]) + + user_msg = f"""Примеры развёрнутых описаний: +{context} + +Жалобы пациента: "{short_note}" +""" + + prompt = ( + f"<|im_start|>system\n{system_msg}<|im_end|>\n" + f"<|im_start|>user\n{user_msg}<|im_end|>\n" + "<|im_start|>assistant\n" + ) + + prompt_tokens = self.count_tokens(prompt) + return prompt, prompt_tokens + + def retrieve(self, query: str, n: int = None) -> List[str]: + n = n or self.top_k + results = self.collection.query(query_texts=[query], n_results=n) + return results["documents"][0] + + def generate(self, short_note: str) -> str: + prompt, prompt_tokens = self.build_prompt_with_token_management(short_note) + + available_tokens = 4096 - prompt_tokens - 50 + max_tokens = min(prompt_tokens * self.token_multiplier, available_tokens) + + print(f"📊 Токены: промпт={prompt_tokens}, макс.ответ={max_tokens}") + print(f"⚡️ Устройство: {'GPU' if self.has_gpu else 'CPU'}") + + output = self.llm( + prompt, + max_tokens=max_tokens, + temperature=0.1, + stop=["<|im_end|>"], + echo=False + ) + + result = output["choices"][0]["text"].strip() + return result + + def __call__(self, short_note: str) -> str: + return self.generate(short_note) + + +# === Отключаем телеметрию Chroma === +os.environ["CHROMA_TELEMETRY"] = "false" + +import time + +# === Запуск === +if __name__ == "__main__": + rag = MedicalRAG( + model_path="./models/YandexGPT-5-Lite-8B-instruct-Q4_K_M.gguf", + n_ctx=8192, + n_gpu_layers=35, # Количество слоев для GPU (можно настроить) + use_gpu_for_embeddings=True + ) + + # Промты для тестирования + test_notes = [ + "Кашель сухой, температура 38", + "А.д. 140, заложенность ушей, частичная потеря слуха", + "а.д. 140/80, т.36.6, ОСГО л. уха", + "ушные палочки 5 лет, снижение слуха 2 года" + ] + + for note in test_notes: + print(f"\n📥 Кратко: {note}") + t1 = time.time() + result = rag(note) + elapsed_time = time.time() - t1 + print(f"⏱ Время выполнения: {elapsed_time:.2f} сек") + if result: + print(f"📤 Развёрнуто:\n{result}") + else: + print("❌ Пустой ответ от модели.") + print("─" * 60) \ No newline at end of file diff --git a/yandex_gpu_lowPC.py b/yandex_gpu_lowPC.py new file mode 100644 index 0000000..aa0768e --- /dev/null +++ b/yandex_gpu_lowPC.py @@ -0,0 +1,309 @@ +import os +import json +import tiktoken +from typing import List, Tuple, Optional +import chromadb +from chromadb.utils.embedding_functions import SentenceTransformerEmbeddingFunction +from llama_cpp import Llama +import torch + +# Отключаем телеметрию Chroma в самом начале +os.environ["CHROMA_TELEMETRY"] = "false" + + +class MedicalRAG: + def __init__( + self, + model_path: str, + corpus_path: str = "rag_corpus.json", + db_path: str = "./chroma_db", + embedding_model_name: str = "cointegrated/rubert-tiny2", + top_k: int = 3, + n_ctx: int = 2048, # Уменьшено для слабых компьютеров + n_threads: int = None, # Автоматическое определение + token_multiplier: int = 3, # Уменьшено + n_gpu_layers: int = 0, # По умолчанию CPU для совместимости + use_gpu_for_embeddings: bool = False, # По умолчанию CPU + low_memory: bool = True # Режим низкой памяти + ): + self.corpus_path = corpus_path + self.top_k = top_k + self.token_multiplier = token_multiplier + self.low_memory = low_memory + + # === Автоматическое определение потоков === + if n_threads is None: + import multiprocessing + n_threads = max(1, multiprocessing.cpu_count() - 1) + + # === Проверка доступности GPU (с оптимизацией) === + self.has_gpu = torch.cuda.is_available() and not low_memory + if self.has_gpu: + gpu_memory = torch.cuda.get_device_properties(0).total_memory / 1024 ** 3 + print(f"✅ GPU доступен: {torch.cuda.get_device_name()} ({gpu_memory:.1f} GB)") + + # Автоматическая настройка слоев GPU в зависимости от памяти + if gpu_memory < 4: # Маломощные GPU + n_gpu_layers = min(n_gpu_layers, 10) + elif gpu_memory < 8: # Средние GPU + n_gpu_layers = min(n_gpu_layers, 20) + else: + print("ℹ️ Используется CPU режим") + n_gpu_layers = 0 + use_gpu_for_embeddings = False + + # === Оптимизированная инициализация токенизатора === + print("Инициализация токенизатора...") + self.encoding = None + try: + self.encoding = tiktoken.get_encoding("cl100k_base") + except Exception as e: + print(f"⚠️ Токенизатор не загружен: {e}") + + # === Эмбеддинги с оптимизацией памяти === + print("Загрузка эмбеддинг-модели...") + device = "cuda" if (self.has_gpu and use_gpu_for_embeddings) else "cpu" + + # Параметры для экономии памяти + model_kwargs = {} + if low_memory: + model_kwargs = { + 'device': device, + 'model_kwargs': {'torch_dtype': torch.float16} # Половина точности + } + + self.embedding_function = SentenceTransformerEmbeddingFunction( + model_name=embedding_model_name, + **model_kwargs + ) + + # === ChromaDB с оптимизацией === + print("Инициализация ChromaDB...") + self.client = chromadb.PersistentClient(path=db_path) + + # Упрощенные настройки для экономии памяти + collection_metadata = {"hnsw:space": "cosine"} + if low_memory: + collection_metadata.update({ + "hnsw:construction_ef": 100, # Меньше использование памяти + "hnsw:M": 16, # Меньше связей в графе + }) + + self.collection = self.client.get_or_create_collection( + name="medical_anamnesis", + embedding_function=self.embedding_function, + metadata=collection_metadata + ) + + if self.collection.count() == 0: + print("Загрузка данных в коллекцию...") + self._load_corpus() + else: + print(f"Коллекция содержит {self.collection.count()} записей") + + # === Оптимизированная загрузка LLM === + if not os.path.exists(model_path): + raise FileNotFoundError( + f"Модель не найдена: {model_path}\n" + "Для слабых компьютеров рекомендуется использовать меньшие модели." + ) + + print("Загрузка языковой модели...") + + # Базовые параметры для всех устройств + llm_params = { + "model_path": model_path, + "n_ctx": n_ctx, + "n_threads": n_threads, + "verbose": False, + "low_vram": low_memory, # Всегда включаем для совместимости + "use_mlock": not low_memory, # Блокировка памяти только если достаточно RAM + } + + # Параметры только для GPU + if self.has_gpu and n_gpu_layers > 0: + llm_params.update({ + "n_gpu_layers": n_gpu_layers, + "main_gpu": 0, + "tensor_split": None, # Упрощаем для совместимости + }) + print(f"Используется GPU с {n_gpu_layers} слоями") + else: + print("Используется CPU") + + try: + self.llm = Llama(**llm_params) + print("✅ Система готова к работе!") + except Exception as e: + print(f"❌ Ошибка загрузки модели: {e}") + raise + + def _load_corpus(self): + """Загрузка корпуса с обработкой ошибок""" + try: + with open(self.corpus_path, "r", encoding="utf-8") as f: + data = json.load(f) + + # Пакетная обработка для больших корпусов + batch_size = 50 if self.low_memory else 100 + for i in range(0, len(data), batch_size): + batch = data[i:i + batch_size] + self.collection.add( + documents=[item["full"] for item in batch], + metadatas=[{"short": item["short"]} for item in batch], + ids=[f"id_{i + j}" for j in range(len(batch))] + ) + print(f"Загружено {min(i + batch_size, len(data))}/{len(data)} записей") + + except Exception as e: + print(f"❌ Ошибка загрузки корпуса: {e}") + raise + + def count_tokens(self, text: str) -> int: + """Оптимизированный подсчет токенов""" + if self.encoding: + return len(self.encoding.encode(text)) + else: + # Упрощенный подсчет для совместимости + return len(text.split()) # Приблизительно по словам + + def build_prompt_with_token_management(self, short_note: str, max_context_tokens: int = 1500) -> Tuple[str, int]: + """Строит промпт с оптимизированным управлением токенами""" + + examples = self.retrieve(short_note) + + system_msg = ( + "На основе примеров напиши развёрнуто жалобы пациента, грамотно с медицинской точки зрения. " + "Напиши жалобы в одно предложение, одной строкой. " + "Не пиши вводных слов и фраз. Только жалобы пациента. " + "Неуместно писать диагнозы и план лечения. " + "Расшифруй все сокращения. " + "Отвечай сразу без размышлений." + ) + + system_tokens = self.count_tokens(system_msg) + note_tokens = self.count_tokens(short_note) + + # Более консервативный расчет доступных токенов + available_tokens = max_context_tokens - system_tokens - note_tokens - 150 + + selected_examples = [] + current_tokens = 0 + + for example in examples: + example_tokens = self.count_tokens(example) + if current_tokens + example_tokens <= available_tokens: + selected_examples.append(example) + current_tokens += example_tokens + else: + if self.low_memory: + break # Быстрый выход в режиме низкой памяти + elif len(selected_examples) > 0: + break # Сохраняем хотя бы один пример + + # Упрощенный контекст + context = "\n".join([f"Пример: {ex}" for ex in selected_examples]) + + user_msg = f"""Примеры: +{context} + +Жалобы: "{short_note}" +""" + + import pprint + pprint.pprint(system_msg + " " + user_msg) + + prompt = ( + f"<|im_start|>system\n{system_msg}<|im_end|>\n" + f"<|im_start|>user\n{user_msg}<|im_end|>\n" + "<|im_start|>assistant\n" + ) + + prompt_tokens = self.count_tokens(prompt) + return prompt, prompt_tokens + + def retrieve(self, query: str, n: int = None) -> List[str]: + """Оптимизированный поиск""" + n = n or min(self.top_k, 3) # Ограничиваем для слабых компьютеров + try: + results = self.collection.query( + query_texts=[query], + n_results=n + ) + return results["documents"][0] + except Exception as e: + print(f"⚠️ Ошибка поиска: {e}") + return [] + + def generate(self, short_note: str) -> str: + """Генерация с оптимизацией памяти""" + prompt, prompt_tokens = self.build_prompt_with_token_management(short_note) + + # Более консервативный расчет максимальных токенов + available_tokens = 2048 - prompt_tokens - 30 # Запас уменьшен + max_tokens = min(prompt_tokens * self.token_multiplier, available_tokens, 512) # Жесткий лимит + + print(f"📊 Токены: промпт={prompt_tokens}, ответ={max_tokens}") + print(f"⚡️ Устройство: {'GPU' if self.has_gpu else 'CPU'}") + + try: + output = self.llm( + prompt, + max_tokens=max_tokens, + temperature=0.1, + stop=["<|im_end|>"], + echo=False, + stream=False # Отключаем streaming для стабильности + ) + + result = output["choices"][0]["text"].strip() + return result + except Exception as e: + print(f"❌ Ошибка генерации: {e}") + return "" + + def __call__(self, short_note: str) -> str: + return self.generate(short_note) + + +# === Упрощенный запуск === +if __name__ == "__main__": + import time + + # Автоматическое определение режима низкой памяти + import psutil + + total_memory = psutil.virtual_memory().total / 1024 ** 3 + low_memory_mode = total_memory < 8 # Меньше 8GB RAM + + print(f"💾 Общая память: {total_memory:.1f} GB") + print(f"🔧 Режим низкой памяти: {'Да' if low_memory_mode else 'Нет'}") + + rag = MedicalRAG( + model_path="./models/YandexGPT-5-Lite-8B-instruct-Q4_K_M.gguf", + n_ctx=2048, # Уменьшенный контекст + n_gpu_layers=10 if not low_memory_mode else 0, # Адаптивное количество слоев + use_gpu_for_embeddings=not low_memory_mode, + low_memory=low_memory_mode + ) + + # Промты для тестирования + test_notes = [ + "Кашель сухой, температура 38", + "А.д. 140, заложенность ушей", + "а.д. 140/80, т.36.6", + "снижение слуха 2 года" + ] + + for note in test_notes: + print(f"\n📥 Кратко: {note}") + start_time = time.time() + result = rag(note) + elapsed_time = time.time() - start_time + + print(f"⏱ Время: {elapsed_time:.2f} сек") + if result: + print(f"📤 Развёрнуто: {result}") + else: + print("❌ Пустой ответ") + print("─" * 50) \ No newline at end of file