Comments 68
Хотелось бы тултипы с человеческой расшифровкой сокращений и единицами измерения (PCT - это прокальцитонин?) т.к. сокращения ни разу не стандартизированы между лабораториями. Вы пишете, что сервис для специалистов, при этом вместо "looks well" для нормального результата, у вас полотнище текста, которое каждый раз новое ("My understanding...", "In my view...", "From what I gather...").
А так всё здорово, осталось прикрутить к ЕМИАСу и показывать флаги терапевту в поликлинике, если что-то не так.
Пару рабочих примеров ОАК бы к статье приложить.
И ещё момент. Пользователь точно должен вводить процентное отношение клеток, если известно их абсолютное количество?
Отвечу сам себе, у Вас 5 из 27 цифр пользовательского ввода не нужны (NEUT%, LYMTH%, EO%, BASO%, MONO%), т.к. пользователь уже ввёл абсолютное значение (число клеток). Пруф (цифры - значения по умолчанию с представленного сайта):
$ python
>>> abs_lst = [2.51, 1.44, 0.06, 0.02, 0.3] # NEUT#, LYMTH#, EO#, BASO#, MONO#
>>> percent_lst = [57.9, 33.3, 1.4, 0.5, 6.9] # NEUT%, LYMTH%, EO%, BASO%, MONO%
>>> print([round(a / sum(abs_lst) * 100, 1) for a in abs_lst], percent_lst)
[58.0, 33.3, 1.4, 0.5, 6.9] [57.9, 33.3, 1.4, 0.5, 6.9]
Спасибо! Это лишь прототип. PCT в ОАК означает тромбокрит (по аналогии с гематокритом). Что касается абсолютных и относительных значений, то если что-то убрать, работает хуже. "Черный ящик" короче. Было много экспериментов, переменные не коллинеарны. Хотя согласен, что модель можно будет упростить в будущем.
Получается, что числа не лишние: можно добавить проверку, что они достаточно хорошо согласуются между собой. (Если нет, то внимательнее посмотреть, почему так?)
Избыточны не только показатели лейкоцитарной формулы (комментарий@radioxoma. правильный). Гематокрит в анализаторах является расчетным параметром, а также тромбокрит, MCH, MCHC и RDW-CV. Т.е. уже 10 из 27 вводимых показателей избыточны. Возможно, они присутствуют для контроля корректности ввода данных. Вопрос в другом - использованы ли расчетные (зависимые) показатели для ML наравне с измеряемыми?
В ML это не совсем так. Вполне можно и часто даже нужно комбинировать или изменять существующие переменные в наборе данных с помощью арифметических операций. Этот процесс известен как feature engineering. Создавая новые переменные, можно потенциально повысить производительность своей модели. Модели ML не обязательно должны логически объясняться (черный ящик), скорее наоборот. Часто логика, что убрать, а что оставить там не срабатывает. Так можно в итоге дойти до простого алгоритма на правилах. Даже в простой логистической регрессии я могу умножить одну переменную на другую, создав третью, и тем самым улучшив модель. Но я не исключаю возможность упрощений. Уже были убраны несколько параметров, которые были изначально. Но весь этот поиск, эксперименты и переобучение требует немало времени. Поэтому в новой версии, я думаю, это возможно, но не быстро.
"Простой алгоритм на правилах" это очень даже неплохо и, на мой взгляд, даже лучше чем ML, в первую очередь именно потому, что можно понять каким образом из исходных данных получился результат.
Еще вопрос: в ОАК "с анализатора" входят по сути три анализа - эритроциты, лейкоциты, тромбоциты. Эти показатели в модели разделены или все идет "в одном наборе"?
На правилах я тоже делал. Да, все объяснимо что и почему, но часто очень громоздко получается. Некоторые вещи при описании булевой логикой приводят к очень сложным правилам. С анализатора в лабораторную информационную систему выходят столько параметров, сколько запрограммировано. Есть краткие ОАК (5-6 параметров), есть развернутые - 25 параметров и выше, смотря что назначил врач. Модель сейчас обучена на развернутых ОАК (со всеми параметрами сразу), с краткими она работать откажется из-за нехватки данных.
а если части данных нет - работает?
Аналоги конечно же есть, но мы же не ездим на одних и тех же машинах и не пользуемся одними и теми же телефонами. К тому же эти аналоги часто потрогать руками нельзя. О полноценном продукте пока говорить рано, поэтому и про конкурентов не говорил.
т.к., кроме ссылки на Web страничку никаких данных о проекте не приведено!
и как сделал врач, согласно заголовку статьи — тоже. (как ни как)
А меня спугнула достаточно профессионально нарисованная иконка яйцеробоврача. На 100% уверен, что реальный врач красивостями бы не занимался. То есть Вашу оценку этого сервиса я считаю крайне вероятно истинной.
Это хабрапост для сбора комментариев от людей с повышенной тревожностью. Рекомендую не палиться так явно.
Никаких данных эта страничка не собирает. Да, я врач, просто у меня есть и другие интересы. Вот моя группа в вк: https://vk.com/luchininmd
Никаких данных эта страничка не собирает
Какие доказательство этому утверждению?
Пока это всё выглядит как реклама своих услуг без технических подробностей даже аспектов использования языка R упомянутого в статье нет.
P.S. На Вашей страничке в Vk есть награждение премией, как лучший «Онкогематолог года 2022», но, к примеру здесь Итоги Премии им. академика А.И. Савицкого в 2022 году в результатах награждения Вы не упомянуты. Есть ли реальные пруфы подтверждения сего факта, кроме представленного изображения награды?
А сие творение выдаёт какие-либо результаты помимо "У вас заболевание крови, обратитесь к врачу"?
По ОАК можно заподозрить некоторые группы заболеваний и очень редко какое-то конкретное заболевание. Это и делает сие творение. Окончательный диагноз можно поставить только путем специализированного обследования, которое может назначить врач-специалист. Это обследование можно дописывать как рекомендации, но эта информация в первую очередь будет для врача, а не для пациента.
соответственно следующий шаг развития - что делать дальше немедику имея ваш системный вывод. те прикрутить базу знаний на выходе.
Тут скорее в перспективе проект для медиков (не гематологов). Вывод сделан специально сейчас в виде текстового сообщения. Конечно, все можно заменить формальными классами, к каждому из которых можно прикрутить любой текст рекомендаций. Если делать что-то для немедиков (да и для лабораторий), и превращать это в стартап, мне нужна IT поддержка.
Какую точность модели удалось получить на обучении?
Для хейтеров - не требуйте от автора тут продукта - сервиса.
Использование ML в общем виде, насколько я знаю, не обеспечивает доказательность, поэтому в практической медицине можно использовать именно как ассистента, не конечного диагноста, иное противоречит законодательству. Если в этом вопросе что то поменялось, буду признателен за информацию.
Спасибо за статью!
Спасибо! Там не одна модель на самом деле. На первом шаге модель №1 различает 3 класса анализов: норма, клинически не значимые отклонения (незначительные отклонения от нормы) и клинически значимые отклонения (признаки какой-то болезни, но не ясно какой). Если отклонения клинически значимые включается модель №2, которая уже пытается определить группу возможнных заболеваний. Есть еще модель №3, которая в группе "анемия" ищет только случаи с подозрением на дефицит железа. У каждой модели свои метрики эффективности. Точность (Accuracy) у всех примерно 0.98, остальные метрики для разных классов варьируют, но все вполне хорошие. Планирую написать статью в журнал, там все подробно опишу и /или при следующем апгрейде приложения добавлю описание.
ну и ну, на доктора накинулись просто. Пруфы Вам предоставьте, и в листинге премии им. академика А.И. Савицкого не упомянули, и иконка ужасная, да и вообще таких анализаторов как грязи.
Статья и web-приложение на R замечательно как минимум по двум причинам. Во-первых, знание компьютерных технологий да и статистики для врача редкость, так как медицинский институт одного из немногих высших образовательных учреждений где не требуется сдавать математику в качестве вступительного экзамена. Вы только представьте, что доктор самостоятельно это освоил и более того, сделал сервис себе в помощь. Представьте, что масштабировав сервис станет возможным получить базу для научных исследований. Во-вторых, доктор тратит свои собственные ресурсы, расширяет кругозор и популяризирует использование IT в медицине.
P.S. Возможно само упоминание «магических» слов Web, ИИ и R и перечисление других тэгов в/к статье это очень значимо?
Но, вот, к примеру, даже не являясь программистом по профилю биолог сделал такое медицинское ПО
Программное обеспечение для анализа и сбора данных SpectraLab для биохимической спектроскопии и кинетики ферментов
SpectraLab Software
SpectraLab User's Guide
Проект на площадке Github
(кодовая базa на Win3Forth и Delphi7)
знание компьютерных технологий да и статистики для врача редкость
У нас на кафедре была студентка, которая одновременно еще училась в медакадемии (у нас - заочно). Писала ПО для врачей, а сейчас, кажется, работает все-таки программистом.
Спасибо за поддержку! Действительно так, тут несколько областей знаний: медицина, статистика, машинное обучение и программирование. За отсутствием команды и собственной тяги к знаниям, делал все сам.
Крайне полезная штука! Недавно сдавал кровь, половина показателей не в норме, а врач в поликлинике говорит, мол, оно же не сильно от референсных значений отличается, так что не парьтесь))
Такие штуки, как, MCHC, могут быть в г/л, а могут быть г/дл, возможно, не помешает подписать.
IG - это какой-то имуноглобулин?
Удобно, что обозначения можно выделить и скопировать в буфер для поиска в своем pdf файле с анализами.
Кнопочки +/- подглючивают - значение меняется не на 1, а на какую-то другую величину.
Есть оффлайн версия приложения?
IG - незрелые гранулоциты. Это всё параметры автоматического гематологического анализатора по общему анализу крови. Оффлайн версии нет.
а насколько одиночный анализ крови в обычной клинике совпадает с реальностью? могут ли лаборанты поставить значения от балды или +/- километр? существует ли такая проблема в российской или мировой практике?
Это хороший вопрос. На результат анализа, несмотря на все меры стандартизации, будет влиять оборудование, на котором он сделан. Есть много разных гематологических анализаторов разных производителей. Они могут выдавать измерения с некоторыми колебаниями относительно друг друга. С другой стороны диагноз какого-либо заболевания от этого не зависит. То есть, если анализ плохой, то плохой, независимо в какой лаборатории он сделан. Чтобы лаборатория откровенно выдавала ошибочные данные это вряд ли, все же есть служба контроля. Но модель может быть все равно чувствительна, поэтому нужна внешняя валидация. Проверка моделей на данных из других медицинских центров, например.
Я бы хотел стать тестером проекта. То есть сдать необходимые анализы на себя и своих близких и ввести данные и отслеживать динамику по времени и необходимости. На перспективу - использовать биосенсор.
Какие надо анализы сдать в местных платных лабораториях?
Спасибо. Здесь показатели исключительно общего анализа крови. Я вам как врач-гематолог быстрее скажу, что в ваших анализах так или не так). Но вот если развивать проект в сторону пользователей, то тестер был бы полезен с точки зрения юзабилити, вида информации, которая ему нужна и т.д. Но здесь также потребуется и IT поддержка в команду.
Где-то ошибка:
![](https://habrastorage.org/getpro/habr/upload_files/a0a/f35/de8/a0af35de8d0eb9ffe253b5ce2448e756.png)
Ну и favicon надо бы добавить сайту.
Favicon добавил, а вот по ошибке ничего сказать не смогу без понимания при каких условиях она наступила
IBM делали Доктора Ватсон, обучали на миллионах диагнозах, и так его и похерили.
Там немного другая история. Там был большой маркетинг, как в конце концов выяснилось, обман. За это уволили главу данного направления, а потом проект в первоначальном виде прикрыли. Суть проекта - выдавать врачам-онкологам рекомендации по лечению на основании данных из научных публикаций. На самом деле все рекомендации были клиническими рекомендациями одного из онкологических центров США (то есть просто написанные врачами). То есть Ватсон конечно искал информацию о лечении в Интернете в научных журналах, но рекомендациями не были заключения ИИ. Хотя маркетинг строился именно на ИИ. Это все в итоге вскрылось и проект провалился.
Статье не хватает деталей. Что как почему какая ошибка модели как сделано под капотом итд. Как человеку крайне далёкому от медицины, мне было бы интересно почитать детали, возможно узнать что то новое и узнать как решено то или иное в контексте мл.
Однако в остальном - отличная работа. Особенно шикарно если оно реально работает, а судя по вашей статье - работает. И да, если вы сделали это самостоятельно (ну или почти) - огромное уважение вам. Профессионала своего дела (и не только) видно издалека!
Статья и разработка понравились, даешь больше доказательности в медицину!
Как DS-ник с главврачом в родне, вижу следующие проблемы (не ждите пруфы на цифры, сельские главврачи не врут, когда выпьют :-)
Отсутствие контекста (первичный ОАК, фаза лечения, прием лекарств, витаминов, особенно самоназначенных, про которых в 1/5 случаев врачу не скажут даже под присягой). Подобный "контекст" присутствует в ~60% случаев и расширяет референсые интервалы в 1,5-2 раза или вовсе бракует весь сданный ОАК
Отсутствие биохимии крови, которая вытаскивает огромное число фич/признаков хронических заболеваний и связанного с ними контекста
Отсутствие контроля динамики (было - стало на фоне лечения, диеты, пересдачи анализа с соблюдением требований). Текстовые выводы по динамике могут быть очень информативными, например: "Прием препарата X в дозировке Y привел к снижению параметра Z на N промиллей в неделю, что говорит об адекватности терапии. Возможно требуется увеличение дозировки в 2Х для достижения референсных значений в отведенный срок терапии 21 день или изменение схемы лечения врачом."
Осторожность формулировок в разработке автора статьи, кмк, свидетельствует о небольшом размере обучающей выборки. Даннные, данные, где ж их взять? Созданию подобного сервиса должен предшествовать мощный дата-майнинг. Но наша медицина и власти делают все, чтобы препятствовать цифровизации и росту доказательности медицины:
Врачи пишут неразборчиво, на латыни, медицинскими "штампами", а в коммерческой медицине - еще и с "советами друзей-юристов", так чтобы при любом исходе суд встал на сторону клиники или попросту ничего не понял (замотал дело экспертизами)
Законом о ПД и истерией вокруг него фактически уничтожена основа для получения и соединения (с обезличиванием) данных, скажем сити-лабов и медкарт поликлиник. Без этих данных особо трудно сделать ML-модель (это большая часть данных).
Вранье везде, даже в стационарном лечении. Формулировки в Выписках историй болезни (ИБ) в 30% "подогнаны" под методички минздрава и схемы лечения, причем многое специально делается для неотрекаемости пациента от диагноза. Написаны в ИБ симптомы, которых не было, а истинные - замолчены. Данные анализов в ИБ неполны и традиционно с опечатками.
По сути в стране нет ни одной IT-системы для сбора анамнеза пациента, без возможности его подлога/замены врачом. Более того, больницы ускоренно избавляются от протоколов анализов. Если вы разово сунетесь в обычную больницу (все не-столичные) даже с большим админресурсом - вы не найдете там данные для анализа глубже года. А это мало, т.к. в среднем человек госпитализируется 1 раз в 14 лет.
Если врач к которому я пришёл, воспользуется таким инструментом - я предпочту обратиться к другому врачу. Максимум где это применимо - первичный осмотр у медсестры, которая в любом случае направит к нужному врачу. Тоже хорошее дело между прочим, вариант военной сортировки пациентов. Этого направляем срочно к терапевту, а этот пусть идёт своим ходом к аналогопататому - нечего младший медицинский персонал нагружать перевозкой тяжестей.
В статье же явно написано: это не замена врачу, а быстрый способ понять, в какую сторону надо диагностировать дальше, и надо ли вообще
Справочники врачу необходимы, а решения которые предлагают "правильный" ответ недопустимы. Человеческие жизни не оценивают по шаблонам. При таком подходе даже профессор из медицинского центра им. Бурденко, оказался бесполезен.
Врач сам должен ставить диагноз, не имея предубеждений относительно "очевидности" заболевания, самостоятельно оценивая всю совокупность сведений о пациенте.
У врача такого инструмента быть не должно. И точка.
А как же рекомендации МЗ CCCР, симптоматические справочники, экспертные системы? Они появились во времена расцвета кибернетики и прижились зарубежом, не только у врачей. Там их широко используют страховые компании, определяющие величину платежеспособного спроса и рейтинг почти каждого врача. Эксперты страховых в поиске врачебных ошибок по своему стандарту юзают подобные инструменты, не особо афишируя.
Ни один врач не может оценить всю совокупность сведений о пациенте за регламентное время (15 минут приема + 25 минут работы в ординаторской), из которых 20 минут он неразборчиво пишет или очень неуверенно работает на слабом компьютере, отвлекаясь каждую минуту.
Больше ли время дается в платной медицине? - отнюдь. 1 час приема там приносит в 3+ раза больше денег, чем в бюджетном учреждении. Это приводит к уплотнению сетки приема в платных КДЦ, скажем, до 15 минут на чел (факты такие есть). За это время у испуганного "плохим" анализом пациента получить анамнез или просмотреть ворох бумаг у "хроника" - удается далеко не всегда. Автоматизация и цифровизация тут категорически необходимы, так что тут скорее многоточие, чем точка.
Есть и физические ограничения у врачей. В том же ОАК корреляционный анализ говорит о наличии высокой связи у 6% показателей. Это значит что 6% "фиксированных" референсных интервалов, которые мы видим напечатанными на бланке результата анализа - не являются таковыми (правильные интервалы должны динамически пересчитываться). Лейкоцитоз всегда сопровождается ростом других показателей, но они могут быть биологической нормой данного индивида, которые "цифра" вполне могла бы хранить. И даже "напечатанные" на бланке нормы - не каждый врач помнит наизусть. Он их, конечно, назовет, но "свои".
Как это до 15 минут на человека в платном? Они порят по 6к за прием! За 15 минут? Надо готовить вопросы заранее врачу и не уходить, пока не ответит(разумное время конечно) , так как за все заплачено!
Уточняю свое обобщение: 15 минут на человека в платном КДЦ - это норма для уровня города 500-1000 тыс. чел. населения, с медианным ценником 1000 руб. за прием. Среднее кол-во приемов на одно обращение/заболевание - 2,4. Частота обращений того же человека - 1 раз в 2,7 года.
Вопросы врачу от пациента готовить можно, но обычно все наоборот: врач задает вопросы, и он же ведет тайм-менеджмент встречи. Вам не дадут больше трех минут умничать и задавать вопросы.
К чему приводят 15 минут приема, скажем, у гинеколога, у которого ценник за визит 3 тыс. руб.? К тому что пациентки начинают раздеваться до трусов прямо в коридоре клиники :-) И это не шутка. Только так пациент может что-то улучшить в этом процессе.
Во-первых спасибо за статью, приятно видеть врача на хабре с таким контентом!
Ну а во-вторых:
Вы не можете применять ее сами. Даже если вы будете перепроверять результаты, вы можете невнимательно смотреть те, что модель пометила как "тут все ОК".
Если будете полагаться на модель и полностью отсеивать "ОК" результаты, то остается 2% погрешность плюс неизвестные вам ошибки. В этом вас не поддержат ни пациенты
ни коллеги. Кстати коллеги тоже едва ли будут ей пользоваться. Тут в молодом коллективе сложно подобное протолкнуть, а уж среди врачей - удачи вам.
На вашем месте я бы попытался адаптировать модель под ничего не понимающего в медицине человека.
Уменьшить количество параметров, как вам справедливо указали в замечаниях (выводите их сами, если они нужны модели, зачем заставлять их заполнять пользователя?).
Можете написать пояснения к параметрам и их альтернативные названия, возможность использования разных единиц измерения, словом улучшить UX.
Так же постараться прислушаться к замечаниям. Вы на хабре сможете найти и тестеров и пользователей, они уже сами изьявляют желание и вы зря этим пренебрегаете.
Если вы напишите больше технических деталей в статье, то вам и ошибки поправят. Вот вы пишите что хотите опубликовать статью в журнале и там будут все делатали.
Видимо в рецензируемом издании? Вам все равно нужны будут специалисты для проверки перед отрпавкой рецензентам. А потом рецензенты еще могут найти очевидные ошибки.
P.S. я бы сам с удовольствием пользовался такой моделью, только ей для этого нужно говорить чуть больше чем "иди к врачу / не иди к врачу". У большинства врачей тоже бинарный исход
"само пройдет" и "ну тут нужно было раньше думать".
Спасибо, что не поленились написать такой длинный ответ. Я конечно же ничем не принебрегал) Если вы о том, что я прямо сейчас не редактирую статью, то не планировалось, максимум опечатки. Это научно-исследовательская работа как можно работать с медицинскими таблично-структурированными данными на примере ОАК. Вы и другие пишут пожелания уже к продукту. Я все это понимаю и даже знаю как может выглядеть конечный продукт как для врача, так и для пациента. Но продукт надо делать. Как я указал в начале, я не программист и у меня много другой профессиональной занятости. Для продукта мне нужна команда, хотя то, что есть, можно бессомненно улучшить. Ну и еще про врачей. Вы наверное не знаете просто, но среднестатистический врач-терапевт часто не может правильно расшифровать ОАК. У текущей версии сервиса не бинарная модель, в ней 9 классов со своими заключениями, некоторые редки, но говорят о серьезных заболеваниях. И еще, просто поверьте моему врачебному опыту, не редки случаи, когда пациент приходит к тому же гематологу на диагностику, а изменения в ОАК у него по данным амбулаторной карты уже как год, а то и дольше. Есть такие болезни. Тысячи анализов как и других медицинских данных возможно перегонять через умные скрининг системы, есть такие проекты в Европе, например. Я все комментарии внимательно прочитал, на многие ответил, в том числе и на ваш. Все будет учтено по мере моих сил и возможностей!
![](https://habrastorage.org/getpro/habr/upload_files/911/ee4/85c/911ee485cf237b3c482634e8d5b67e39.png)
Я увеличил значение "RDWSD" (понятия не имею, что это) в 2 миллиона раз, и он все равно говорит, что все норм. Даже если RDWSD в данном контексте ни на что не влияет (что довольно странно), о его аномальности следовало бы предупредить юзера.
(понятия не имею, что это)
"— Ой, ребята, я ж вас всех ещё первоклашками помню! Ты, Машенька, такая аккуратная девочка была; ты, Костя, отличник был, всегда отвечать вызывался; а ты, Вовочка, двоечник был — тебя о чём ни спроси, ты всё — "не знаю, Марь Иванна, не знаю, Марь Иванна..."
— А я, Марь Иванна, и сейчас так говорю. Просто я в конце добавляю: "Узнать и доложить!"" (c)
значение "RDWSD"
RDW-SD, разнообразие размеров красных кровяных телец — среднеквадратичное отклонение, измеряется в фемтолитрах, в то время как RDW-CV — коэффициент вариации. -CV и -SD взаимосвязаны и по одному можно вычислить другое, поэтому, вероятно, Ваше RDW-SD было оброшено как невозможно большое (в норме — 39-46 фл) и потому ошибочное, а использовалось RDW-CV.
-CV и -SD взаимосвязаны и по одному можно вычислить другое
тогда это вообще серьезный косяк в UI: либо они вообще не должны быть вместе в одном интерфейсе, либо изменение одного должно автоматически влечь за собой изменение другого
Что Вы от человека хотите — он вам что, докто...
Ну... одним словом, видно, что не дизайнер!
Вы не прочитали самую верхнюю строчку, "Введите реальный ОАК". Вы вводите нереальный ОАК и получаете нереальный ответ. Все просто. Нет смысла вводить то, что не может существовать в природе и делать на этом какие-то выводы. И я еще раз повторюсь, это не продукт для пользователя в Интернете, да и вообще пока не продукт, а результат НИР.
Объясните подробнее, почему для такой задачи решили использовать машинное обучение?
Лабораторные исследования - самая формализуемая вещь в медицине. Все критерии известны и описаны в клинических рекомендациях, поэтому здесь достаточно простого дерева принятия решений.
Какова цель проекта? Если это массовая доврачебная диагностика, то в своём заключении робот должен указать те параметры, которые отклонились от нормы. Если это цифровой ассистент для врача, то он тем более должен чётко обосновать свой вердикт. В любом случае, здесь нужен строгий алгоритм, но не "чёрный ящик".
Может быть, ваш сервис пытается выявить заболевание на ранней стадии, пока лабораторные показатели ещё формально находятся в пределах нормы? Хорошо, попробуем задать показатели эритроцитов, гемоглобина, гематокрита по верхней границе нормы - робот никакой патологии не находит.
Машинное обучение лучше подходит для сложных, трудно формализуемых задач. Например, для распознавания патологии непосредственно в мазке крови. ИИ может быть обучен распознаванию таких проблем, которые лаборант видит своими глазами в микроскоп (опухолевые клетки, паразиты и т. д.), а обычный автоматический анализатор определить не может.
Я бы так не сказал, что все лабораторные анализы легко формализовать, особенно ОАК, где много параметров. Например, железодефицитная анемия (самая часта форма анемии) не может быть абсолютно формализована показателями только ОАК. Даже если попытаться, то это будут несколько не всегда очевидных правил. Я делал аналогичный проект с большим числом других анализов, основанный на правилах. Отклонение параметров от нормы видно по референсам, как правило, они подсвечены (можно добавить в сервис). Строгий алгоритм нужен, если мы ставим окончательный диагноз и то не всегда. Здесь цель - заподозрить редкие заболевания крови человека в большом массиве данных и вовремя направить к конкретному врачу-специалисту (гематологу), тем самым сократив маршрутизацию больного, снизив время до постановки диагноза. По сути задача триажа. Случаи с подозрением на серьезные проблемы должны рассматриваться в приоритете. В Европе, например, компания Sysmex курировала проект (не знаю как сечас), где подобная аналитическая система работала в большом лабораторном хабе, который делал анализы из разных стран. В их рекламном ролике как раз был показан случай выявления заболевания крови у пациента, который пришел на прием к офтальмологу. ОАК был назначен планово перед операцией на глазах. По собственному опыту знаю, что терапевты часто направляют к гематологу с заключениями по ОАК, которые на самом деле не соответсвуют действительности (не видят истинную проблему, иногда ее нет и др.). Соглашусь, что это не самая актуальная задача, котороая может решаться ML. Она выполнялась в рамках НИР, для нее были доступны данные. Есть более актуальные задачи, да, но нет данных.
Границы допустимых значений хочу видеть.
![](https://habrastorage.org/getpro/habr/upload_files/6c4/d3d/f10/6c4d3df1095002007d97606554120d5e.png)
Хотелось бы AI сервис, в который просто загружаешь pdf из emias, и получаешь экспертную расшифровку.
Как врач сделал себе ИИ помощника. Часть 1