BMD Onego

BMD Onego

Разработка
Поисковый алгоритм для карельского регистра доноров костного мозга помогает упростить доступ к информации о наличии подходящих доноров для врачей, больных лейкемией и их семей.
Клиент

Карельский регистр неродственных доноров гемопоэтических стволовых клеток помогает находить доноров для тяжелых больных, которым необходима пересадка костного мозга, а другие методы лечения помочь уже не могут.

Каждый год в России около 4000 человек, взрослых и детей, заболевают лейкемией. Многих из них может спасти пересадка костного мозга, но в 80% случаев ни один из родственников не может быть донором для этих больных.

В таких случаях Карельский регистр помогает найти подходящего донора среди тех, кто зарегистрирован в их базе данных или в базах партнеров по всему миру.

Molinos давно сотрудничает с регистром, и в рамках партнерства команда наших специалистов разработала поисковую систему, чтобы упростить доступ к информации о наличии подходящих доноров для врачей, больных лейкемией и их семей.

Задача

Разработка поисковой системы для поиска неродственных доноров в единой базе.

Поиск ведется на основе известных данных. Данные — это генотип, а точнее, аллели (виды) 5 локусов (генов) на каждой из двух хромосом. Данные хранятся в виде 5 пар ячеек. Данные о донорах Карельского регистра представлены в российской поисковой системе РДКМ и в международной поисковой системе WMDA Search and Match, но далеко не все клиники и лечащие врачи в России имеют доступ к этим поисковым системам. Для облегчения поиска совместимых доноров в Карельском регистре мы создаем открытую и общедоступную поисковую систему. Она предназначена для лечащих врачей пациентов, нуждающихся в трансплантации стволовых клеток. Ее также могут использовать сами пациенты или их родственники.

Что сделали

Изначально мы решили делать простой алгоритм на Node.js, но впоследствии расширили функционал, разработали стороннее приложение и внедрили его на сайт bmdonego.ru с помощью iframe.

Система имеет много условий для сравнения результатов данных, которые вводит пользователь. Достаточно сложной задачей оказалось учесть все эти условия, но мы справились.

Весь front-end алгоритма написан на React JS, что позволит в будущем его масштабировать. Также алгоритм находится на стороннем сервере, что помогло нам внедрить его на сайт на конструкторе. Также его можно использовать и на других сайтах. Технологический стек — Node.js, Express, Typescript, React JS, Docker.

Как работает поиск

Для осуществления поиска необходимо максимально точно внести данные HLA-генотипа пациента в строку запроса поиска. Поиск проводится на основании 4 или 5 пар генов HLA-генотипа, каждый из которых должен быть записан как ХХ:YY:ZZ, ХХ:YY, ХХ:YYYY или ХХ:YYYYY, например 01:03:28, 58:02, 01:ХХ, 02:MNQR или 03:HVYTG. Ответом на запрос будет краткий статистический отчет, показывающий наличие в Карельском регистре совместимых и частично совместимых доноров.

Результат

Теперь любой человек — врач, больной, родственник или друг больного — может легко проверить, есть ли у нас подходящий донор для конкретного человека, которому требуется пересадка костного мозга.

Раньше такому человеку нужно было искать кого-то обладающего допуском в одну из закрытых (российских) или платных (международных) поисковых систем, которые еще и устроены значительно сложнее, чем наша. С нашей поисковой системой жизненно необходимая людям, больным лейкемией, информация стала доступнее, что, мы надеемся, поспособствует выздоровлению большего количества людей.

«Поисковый алгоритм доноров полезен как для пользователей, так и для работников регистра. Для пользователей он удобен тем, что позволяет в очень короткое время провести самостоятельную оценку

наличия совместимых доноров в нашем регистре, не прибегая к необходимости отправки специального запроса в регистр и последующего ожидания ответа, потому что поиск сотрудниками регистра проводится в

ручном режиме, и это, конечно же, требует времени. В случае если совместимых доноров нет, пользователь обращается в другие базы данных, минуя контакт с нашим регистром.

Для сотрудников регистра этот алгоритм удобен тем, что им не нужно отвлекаться и тратить время, отвечая на запросы в тех ситуациях, когда заведомо ясно, что результат поиска будет нулевым. Таким образом, автоматизированный скрининговый поиск доноров облегчает работу регистру». — Юрий Иоффе, руководитель Карельского регистра доноров костного мозга.

Команда

Александр Макаров — fullstack-разработчик,

Алексей Первушин — менеджер проектов.