198 документов0 ошибок3 годаодна папка
Anamnesis выгружает электронную медкарту из ЕМИАС в папку, где у каждого факта есть дата, документ и цитата. Дальше её читает агент — и находит то, что потерялось между приёмами.
python -m anamnesis.cli login
python -m anamnesis.cli all
Python 3.9+ · без зависимостей · MIT
Разложить документы по датам умеет и личный кабинет. Часть из этих ста девяноста восьми требует вопроса врачу — и снаружи они ничем не отличаются от остальных.
01 / ВЫГРУЗКА
login принимает ссылку временного доступа и код из
письма: инструмент не спрашивает пароль от mos.ru и не логинится за вас.
all выгружает карту, раскладывает её по файлам и прогоняет проверки.
Дальше вы открываете INDEX.md — или отдаёте папку агенту.
Вывод команды на демо-хранилище из репозитория.
medcard/ ├── INDEX.md с чего начать ├── PROFILE.md наблюдение, лекарства, госпитализации ├── TIMELINE.md вся история одной лентой ├── AUDIT.md результаты проверок ├── LOOSE-ENDS.md назначено, результата нет ├── labs.csv показатели: значение, норма, отклонение ├── labs-trends.md динамика измеренного 3+ раз ├── md/ каждый документ в markdown ├── files/ PDF и загруженное пациентом └── raw/ ответы API как есть
Имена файлов начинаются с даты, внутри — фронтматтер с врачом и организацией.
← дорожки шире экрана, их можно прокрутить →
Выберите находку — увидите, из чего она посчитана.
malabsorption_panel
В документах упоминается «резекции подвздошной» (20.02.2024). После таких вмешательств всасывание микроэлементов нарушается пожизненно. Перечисленных показателей в карте нет ни разу.
Источники:
md/inspections/2024-02-20_Осмотр-гастроэнтеролога_v1.md
labs.csv
02 / ПРОВЕРКИ
Тринадцать детерминированных правил плюс отдельный поиск незакрытых назначений. Ни одно не спрашивает модель: всё считается по числам и датам, и каждая находка обязана сослаться на файл, иначе её не существует.
Справа — сколько каждое правило нашло в демо-карте из семи документов. Ноль тоже результат: правило отработало и не нашло ничего.
Счёт со временем меняется:
critical_values смотрит на свежесть значения, и когда анализ стареет,
находка уходит сама.
| Правило | Что ищет | Нашло |
|---|---|---|
| urgent_values | значения, при которых лаборатория звонит врачу немедленно | 0 |
| critical_values | свежие показатели за порогами — вопрос к врачу, но не срочный | 1 |
| unreadable_values | единица измерения не распознана, порог не применялся | 0 |
| pregnancy_unsupported | признаки беременности: часть порогов отключается, нормы другие | 0 |
| worsening_trend | три и более измерения подряд в одну сторону с выходом за норму | 3 |
| abnormal_not_rechecked | нашли отклонение и больше полугода не проверяли | 4 |
| deficiency_untreated | дефицит подтверждён анализом, а лечения в карте нет | 1 |
| malabsorption_panel | после операций на ЖКТ не контролируются B12, железо, витамин D, медь, цинк | 1 |
| followup_gap | диагноз на диспансерном наблюдении, а профильного врача давно не было | 2 |
| chronic_care_gap | диагноз на наблюдении, а контрольных анализов по нему за год в карте нет | 1 |
| drug_risk | НПВС вместе со стероидами при язвенном анамнезе и подобные сочетания | 0 |
| allergy_conflict | в анамнезе есть аллергия, а препарат с этим названием назначен | 0 |
| unread_scans | сканы пациента без машинного текста: их должен прочитать агент | 0 |
| loose_ends | назначено или рекомендовано, а результата в карте нет | 4 |
03 / АГЕНТ
Правила дают кандидатов. Всё, для чего нужно прочитать текст,
разобрать формулировку и сверить её с клиническими критериями, делает агент по
методологии из скилла medcard-audit. Это обычный markdown: его можно
скормить любому агенту или прочитать самому.
LOOSE-ENDS.md открывается и проверяется руками.ПРОГОН, КОТОРЫЙ МОЖНО ПОВТОРИТЬ
Выдуманный пациент, три года наблюдения. Хранилище собирается командой python examples/make_bench.py — цифры можно проверить, а не поверить. Настоящих медкарт в этом репозитории нет.
04 / ГРАНИЦЫ
medcard/.tokens.json — ключи от карты, уже в .gitignore.anamnesis anonymize вычищает ФИО пациента и врачей, полис, СНИЛС, телефоны и адреса, а сканы не копирует вовсе.Инструмент читает документы и считает числа. Он не ставит диагнозов, не назначает лечение и не отменяет назначенное. Всё, что он производит, — подготовленные данные и список вопросов, с которым надо идти к врачу.
Это и не медицинское изделие. Программа не предназначена для оказания медицинской помощи — она адресована человеку, который разбирается в собственной карте.
Если находка выглядит срочной — критические цифры в свежем анализе, признаки кровотечения, — это повод позвонить врачу, а не читать дальше документацию.
05 / УСТАНОВКА
npx skills add AutoPasha/anamnesis
Ставит оба скилла туда, где их найдёт ваш агент: Claude Code, Codex, Cursor, OpenCode и ещё десятки.
/plugin marketplace add AutoPasha/anamnesis /plugin install anamnesis@anamnesis
Ставится и обновляется на месте.
git clone https://github.com/ AutoPasha/anamnesis
Зависимостей нет, Python 3.9+.
Началось с бытовой задачи: «выгрузи мою медкарту». Выгрузка заняла вечер, разбор карты за три года — ещё один, а на следующий день выяснилось, что из этого получается инструмент, который может пригодиться не только автору.
Код, разбор и эта страница — работа Автопаши: это AI-разработчик, который работает как удалённый сотрудник. Ставите задачу, получаете результат, платите за неделю работы, а не за часы.