BI проекты в здравоохранении. Реализация в Yandex DataLens
Николай Курбатов, аналитик данных, Beltel Datanomics
При реализации BI проектов для медицинских учреждений наша команда использует сервис DataLens в облачной экосистеме Яндекс. Это удобное и быстрое решение для визуализации данных и BI аналитики. При построении типовых графиков медицинской статистики могут возникать сложности, так как некоторые из них не встроены в стандартный функционал сервиса. В статье расскажем, как построить классические графики и персонализировать дашборд для клиента в DataLens.
Немного о DataLens
DataLens – бесплатный и активно развивающийся облачный BI сервис компании Yandex. В нем существует разноуровневое разграничение правил доступа (Рисунок 1). Причем организацию доступа к аналитике можно настроить для федерации учетных записей на стороне клиента. Для этого есть возможность интеграции с локальными AD FS сервером.
Рисунок 1. Доступ к дашборду в DataLens
В DataLens есть коннекторы к различным источникам данных и другим облачным сервисам Яндекса, представленным в маркетплейсе.
Примеры построения диаграмм
Возрастно-половая пирамида
Возрастно-половая пирамида представляет собой распределение числа людей определенного возраста, разделенная по полу, в левой части диаграммы — для мужчин, в правой — для женщин (Рисунок 2).
Рисунок 2. Возрастно-половая пирамида населения России на 2022 год [https://ru.wikipedia.org/wiki/Возрастно-половая_пирамида]
Возрастно-половые пирамиды обычно строятся по годичным или пятилетним возрастным группам, а иногда и по десятилетним группам. Однако половозрастные пирамиды, построенные по крупным возрастным группам, не раскрывают детальные особенности возрастного и полового состава населения.
На данный момент в функционале DataLens есть возможность построения линейчатой диаграммы только в одном направлении. При разделении диаграммы по полу (с помощью секции в визарде «Цвета») получится многослойная диаграмма (пример приведен на Рисунке 3).
Рисунок 3. Многослойная линейчатая диаграмма в DataLens
Вместо этого мы сразу сделали разделение данных по полу с помощью логического оператора IF в поле датасета: распределение мужского возрастного состава имеет отрицательные значения, женского – положительные:
IF [sex] = ‘Female’ THEN [human_count] ELSEIF [sex] = ‘Male’ THEN -[human_count] END
Для получения двух распределений по группам возрастов можно использовать оконную функцию SUM с группировкой по измерениям полу и возрасту (конструкция WITHIN). Теперь при построении линейчатой диаграммы с группировкой по полу, получается классическая возрастно-половая пирамида:
Рисунок 4. Возрастно-половая пирамида в DataLens
Чтобы на подписях диаграммы не было отрицательных значений, подписи можно выводить для модуля распределения.
График летальности
Летальность – это показатель медицинской статистики, равный отношению числа умерших от определённого заболевания за определённый период времени к общему числу людей, имевших тот же диагноз в рамках того же периода времени.
Летальность часто рассматривается в динамике, поэтому необходимо рассчитывать данный показатель по накопительному числу пациентов, начиная с некоторой даты. Для этого можно использовать оконные функции, которые есть в DataLens. Это удобная опция, которая позволяет хранить меньше информации в источнике данных. Ниже приведен алгоритм расчета динамики летальности на основании данных лечения пациентов в нескольких клиниках с начала года:
- рассчитываем суммарное количество людей за день (агрегация SUM с группировкой по датам);
- считаем кумулятивную сумму RSUM с группировкой по больницам и сортировкой по времени;
- строим аналогичные поля для количества умерших людей;
- находим отношение числа умерших пациентов от суммарного кол-ва пациентов за определенный день.
Используя линейный чарт, получаем график динамики летальности (Рисунок 5).
Рисунок 5. График динамики летальности в DataLens
Персонализация дашборда
DataLens позволяет добавить на дашборд логотип компании. Для этого нужно загрузить файл в Yandex Object Storage в бакет с публичным доступом, скопировать ссылку на это изображение и использовать ее в блоке Markdown для разметки (Рисунок 6).
Рисунок 6. Пример визуализации медицинских данных и персонализация дашборда
Заключение
Облачный сервис DataLens является удобной, развивающейся и современной BI системой, которая позволяет реализовать необходимые отчеты даже в случае ограничений встроенного функционала. Построение решений с использованием сервисов Yandex Cloud полноценно закрывает потребности визуализации и анализа данных для медицины.
Дополнительно
Построение аналитической платформы в облаке Yandex Cloud (datanomics.ru)
Пример построения гибридных систем с выносом аналитики в облако (datanomics.ru)
Построение дашборда в Yandex DataLens на примере прогнозирования спроса в ритейле (datanomics.ru)