Python в медицине. Топовые разработки на любимом языке
Представьте себе большой массив данных. Здесь содержится информация о людях с разнообразными заболеваниями, результаты лабораторных анализов и медицинские диагнозы, врачебные назначения и графики посещения клиник, номенклатура лекарственных препаратов. Информации много, но имеет ли она ценность? Чтобы данные приобрели вес и стали базой знаний, их необходимо структурировать, сегментировать и обеспечить надежность хранения. Затем приходит черед статистического анализа и, наконец, моделирования для принятия решений. С такими задачами способна справиться информационная система, разработанная на Python.
Что может Python?
Мировая практика на данный момент такова, что именно на Python разрабатывают многочисленные приложения для медицинской диагностики. Вот о таких проектах мы бы и хотели с вами поговорить. Суть их сводится к тому, что система оперирует большим количеством информации и анализирует ее при помощи методов искусственного интеллекта. Классификация входных данных и поиск закономерностей позволяет с высокой долей вероятности прогнозировать сердечные заболевания, диабет, пневмонию и другие болезни. Система использует сведения о пациентах с конкретным заболеванием, и обучает модель распознавать характерные симптомы.
На Python также создают приложения для тех, кто недавно перенес операцию или прошел другие медицинские процедуры. Система обеспечивает виртуальную реабилитацию, цифровую навигацию и сложную аналитику результатов.
В фармакологии графы биомедицинских знаний помогают связать данные на молекулярном уровне и уровне пациента, чтобы использовать их на ранней стадии разработки лекарств. Методы машинного обучения позволяют выявить скрытые закономерности в экспериментальных данных. Поскольку все большее число микроорганизмов приобретает устойчивость к антимикробным препаратам, существует острая потребность в новых классах соединений. Системы на основе Python используют для анализа микробных геномов с целью поиска новых биоактивных веществ. Программное обеспечение упрощает моделирование молекулярной динамики и позволяет в интерактивном режиме анализировать информацию для прогнозирования эффективности медикаментозных средств.
Что же создано разработчиками из разных стран с помощью Python?
Прогнозирование физико-химических свойств лекарств
Поиск формулы нового лекарственного препарата может длиться более 10 лет. И чтобы ускорить процесс, важно на самом раннем этапе исследований выделить группу «жизнеспособных» кандидатов. Это лекарства, которые с большей долей вероятности будут эффективными. Для прогнозирования молекулярных свойств и выявления взаимосвязи между структурой и активностью препарата применяют вычислительные модели.
Поначалу одна из компаний использовала программу прогнозирования на Perl, которая определяла самые элементарные молекулярные свойства лекарств. Желая улучшить систему, она обратилась за консультацией к Эндрю Далке, который порекомендовал переключиться на Python. Он же затем и разработал PyDrone – улучшенную, более надежную и расширяемую программу на Python. Вначале существующий код Perl был реорганизован в подходящие функции, классы и модули Python. Строгая проверка типов и обработка ошибок в Python помогли значительно повысить надежность системы. Python позволил найти проблемные места и скрытые ошибки в данных. На следующем этапе разработки была оптимизирована расширяемость PyDrone при помощи создания базы правил, своеобразного словаря Python для вычислительной системы. Так была создана модель, которая отлично адаптировалась к новым методам прогнозирования в фармакологии.
Маркетплейс для онлайн-аптек на Python
Имея в активе около 1,5 тыс. поставщиков, медицинская компания решила создать многофункциональный маркетплейс и объединить всех под одной крышей. Предполагалась разработка приложения для онлайн-заказа лекарств, которое станет связующим звеном между аптечными сетями и потребителями. В список функций, обязательных к разработке, входили: поиск по каталогу, ведение учетных записей пользователей и формирование персонализированных рекомендаций, визуализация данных в реальном времени и аналитика.
Основная сложность проектирования заключалась в том, что у каждого из поставщиков был свой каталог препаратов. Причем одинаковые товары часто имели разные наименования. Поэтому было важно обеспечить унификацию данных, чтобы система могла генерировать корректные отчеты о наличии и ассортименте лекарств, а также статистику продаж и покупательского поведения.
Несмотря на внушительный функционал и каталог, насчитывающий более 60 тыс. позиций, на разработку маркетплейса потребовалось около полугода. Настолько быстрая реализация проекта стала возможной благодаря Python, его инструментам и готовым библиотекам. В частности, при помощи фреймворка Django был создан каталог с унифицированными названиями товаров, системы аутентификации пользователей и администрирования контента.
Получив в свое распоряжение такую платформу, медицинская компания сможет автоматизировать сбор данных о пользователях, их покупательских привычках и геолокации. Система же будет корректно отображать тысячи лекарств единовременно, несмотря на большое количество контента и постоянное обновление данных. При этом она не забудет о том, что клиенты нуждаются в ее рекомендациях относительно покупки лекарственных препаратов, а сотрудники компании – в статистических отчетах.
Портал для британской сети медицинских клиник
Несмотря на то, что на дворе 21 век, одна крупная медицинская организация Великобритании вела бизнес дедовскими методами. Здесь был в почете бумажный документооборот, а пациентам приходилось стоять в очередях, чтобы попасть к врачу. При этом поток клиентуры был немал – порядка тысячи посещений в месяц. Но пришло время перемен, и руководство компании инициировало разработку портала, где пациенты смогли бы в режиме онлайн проконсультироваться, записаться на прием к профильному специалисту, получить детальный анализ состояния здоровья. Цель новаций была проста: улучшить производительность клиник и повысить градус удовлетворенности клиентов.
Для создания веб-сайта под ключ IT-специалисты решили использовать Python в связке с Celery и Beautiful Soup. Такая платформа в состоянии собирать и анализировать информацию, полученную по многим каналам: от пациентов, лабораторий, клиник, аптек и проч. при помощи API. Система способна обрабатывать огромные массивы данных, а ее устойчивость к высоким нагрузкам обеспечивает proxy. Защиту конфиденциальной информации гарантирует шифрование данных и ролевой контроль доступа. Стабильность видеоконференцсвязи с пациентами во время онлайн-консультаций достигается за счет потокового транскодирования.
После запуска такого мощного портала конкурентоспособность медицинской компании выросла в разы. Существенно повысилась производительность труда персонала, а общая эффективность учреждения увеличилась на 62%. За счет этого организация обслуживает сейчас в три раза больше клиентов, чем раньше.
Проект Mwana для ЮНИСЕФ
Когда слабая инфраструктура привела к фатальным задержкам при оказании помощи младенцам с ВИЧ в Замбии и Малави, компания UNICEF профинансировала разработку расширений для мобильного приложения RapidSMS. Исходя из требований ЮНИСЕФ, новые приложения должны были не только учитывать нужды пациентов и врачей в Африке, но и смогли бы обслуживать миллионы людей по всему миру.
В рамках проекта были созданы два приложения на Django/Python, совместимые с RapidSMS:
Results 160. Обеспечивает мгновенную доставку врачам сельских клиник результатов тестирования младенцев на ВИЧ из удаленных лабораторий.
RemindMi. Упрощает регистрацию рождения ребенка местными медработниками и позволяет назначить послеродовое наблюдение матери с напоминанием о встрече.
Разработанные приложения на Python позволили на 57% ускорить диагностику ВИЧ у младенцев, а также на 75% повысили выживаемость инфицированных детей.
Проекты GARPIX на Python
Существует множество таких же мощных высокоуровневых языков программирования, как Python, подходящих для разработки проектов в медицинской и фармакологической сферах. Это Perl, Scheme, Lisp, Ruby и др. Но ни один из них не обладает гибкостью Python, его способностью к масштабированию, простотой в изучении и использовании. Стандартные библиотеки Python содержат все необходимые функции для программирования, что существенно упрощает веб-разработку и сокращает сроки проектирования. Python позволяет быстро вывести программный продукт на рынок.
Мы начали использовать Python с момента основания нашей компании в 2010 году. Разработали на нем массу информационных систем и веб-ресурсов для логистических, телекоммуникационных, производственных и других компаний. В общей сложности было реализовано более 300 проектов.
Предмет нашей особой гордости – это проекты для предприятий госсектора и крупного бизнеса на Python:
Московский метрополитен. Создан интранет-портал для сбора учетных данных сотрудников, автоматизации постановки задач и контроля их выполнения, формирования отчетности. В рамках системы реализована многоуровневая иерархия доступа к документации, спроектирована обучающая площадка.
Торговый порт г. Владивосток (ВМТП). Разработан корпоративный портал, а также мобильное приложение для получения информации о судах и статусе грузов, расчета стоимости доставки, заказа пропусков и проч.
Производственный альянс «Исток-Пром». Спроектирован сайт с целью имиджевого продвижения компании и повышения эффективности интернет-продаж спецодежды.
Химический завод «Луч». Запущен веб-ресурс предприятия со структурированным каталогом продукции, упрощенной навигацией, удобным функционалом для работы с регионами.
GARPIX активно сотрудничает с фармацевтическими компаниями и учреждениями здравоохранения. Мы проектируем интранет-аптеки для управления складами, логистикой, внутренними перемещениями медикаментов. В рамках проектов создаем системы для маркировки и строгого учета лекарственных препаратов, включая контроль сроков хранения и выдачи по рецепту. Как правило, разрабатываем автоматизированную систему для инвентаризации товара, формирования отчетов по запасам и продажам, сбора сведений о клиентах.
Информационные системы для медицинских клиник поддерживают ведение электронных медицинских карт, онлайн-запись на прием, удобный поиск врача, контроль приема лекарств, анализ статистики полученных услуг и другие полезные сервисы.
В работе над проектами мы учитываем все нюансы, характерные для медицинской сферы. Создаем выверенные по структуре ресурсы с понятной навигацией, чтобы пользователь мог за минимальный интервал времени найти необходимую страницу и требуемую информацию. Разработанные нами сайты отличает индивидуальный дизайн с единой стилистикой.
GARPIX – один из крупнейших разработчиков на Python в России. Наша компания удостоена множества наград за достижения в IT-сфере по ряду версий: CSS Design Awards, Tagline Awards, Рейтинг Рунета, Золотой сайт, Премия Рунета. GARPIX является членом Российской ассоциации электронных коммуникаций (РАЭК).