Применение технологии OLAP при построении многомерной базы данных для хранения и анализа медико-статистической информации.

Тевелев А. Д, ДонНТУ, Донецк 2004
Руководитель: доц. Мокрый Г. В
Статья опубликована в сборнике "Научные труды студентов Донецкого национального технического университета. Серия: Вычислительная техника и автоматизация, выпуск: Донецьк: ДонНТУ, 2004"


     Традиционные подходы в способах и методах получения и использования информации, существующие в сложившейся инструктивно-нормативной базе по медико-социальному обеспечению населения в настоящее время уже не соответствуют современным требованиям и недостаточно ориентированы на качественные показатели. Противоречие между потребностью в более качественной, оперативной информации и неадекватностью затрат на ее получение приводит к объективной необходимости создания медицинских автоматизированных справочно-информационных систем для оценки состояния здоровья населения. Основными задачами таких систем будут являться автоматизация сбора, хранения и анализа медико-статистической информации.

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

     Одним из наиболее популярных на сегодня методов многомерного хранения и анализа данных является механизм OLAP(Online Analyzing Processing). Есть два основных подхода к решению этой задачи. Первый из них называется Multidimensional OLAP (MOLAP) - реализация механизма при помощи многомерной базы данных на стороне сервера, второй - Relational OLAP (ROLAP) - построение кубов «на лету» на основе SQL запросов к реляционной СУБД [1],[2]. Имеет смысл рассмотреть второй вариант реализации многомерной базы данных ROLAP, так как в медицинских учереждениях Украины накопленные данные зачастую хранятся в плоских таблицах.

     Перед построением многомерной базы данных необходимо рассмотреть вопросы, с которыми могут обращаться к ней конечные пользователи. Для этого рассмотрим подробнее, что из себя представляют данные медицинской статистики Украины. Если рассмотреть отчетную таблицу по медицинской статистике, то можно увидеть что она содержит числовые показатели, хранящиеся на пересечении строк и столбцов. Строки содержат текстовую информацию, такую как “Количество людей, находящихся под диспансерным наблюдением на конец года”, столбцы уточняют эту информацию по различным группам и категориям, например, “Из них мужского пола”. Сама отчетная таблица содержит данные за определенный год, по определенной территории, и в определенном разрезе. Разрез также представляет из себя текстовую информацию, например, название лечебно-профилактического учереждения, по которому берется отчет, а сумма числовых данных всех разрезов таблицы образует нулевой разрез, или таблицу в целом, такую как данные по району целиком [3].

     Таким образом, можно выделить следующие типы вопросов, ответы на которые можно получить из приведенного выше описания структуры данных:
- Выявление связи одного показателя или группы показателей с другими, как то, связь показателя заболеваемости гриппом с показателями по сердечно-сосудистым заболеваниям.
- Определение зависимости изменения некоторого показателя от территории или года.
- Определение территориальных участков с критичискими значениями тех или иных показателей.
- Определение фактов, оказывающих наибольшее влияние на изменение некоторого показателя.
- Прогнозирование тенденций изменения того или иного показателя.
- Определение количественной меры влияния одних фактов на другие.

     После уяснения вопросов, которые должна решать разрабатываемая система, необходимо установить способ хранения информации в ней. Определим структуру хранилища данных. В технологии ROLAP хранилище данных представляет из себя многомерную таблицу или гиперкуб. Измерениями этого куба являются ключи реляционной таблицы, на пересечении которых находятся ячейки с данными. Вся работа с гиперкубом сводится к различным его поворотам, группировкам. Можно менять количество измерений, способы группировки. Фиксируя определенные измерения гиперкуба, возможно строить срезы, получая кубы с меньшим количеством измерений. На основе таких кубов создают кросс-таблицы, диаграммы и другие отображения, необходимые для визуального представления данных[2]. Общий механизм функционирования ROLAP системы представим следующей схемой:

рис. 1. Схема функционирования OLAP

     Измерениями куба в разрабатываемой системе могут служить отчетный год, территория, разрез, строка и столбец. Таким образом, получаем 5-мерный гиперкуб, однако некоторые из этих измерений для однозначной их идентификации требуют уточнения. Например, территория может состоять из области, города, и т. д. Представим структуру связей между измерениями с помощью ориентированного графа (рис. 2). Вершинами такого графа будут значения измерений, дугами – связи между этими измерениями. Направления дуг указывают в сторону от более частного значения измерения к более общему.

рис. 2. Структура связи измерений разрабатываемой системы.

     Самой нижней вершиной графа является показатель – значение данных, хранящиеся на пересечении измерений гиперкуба. Данный граф иллюстрирует возможность построения пользователем запросов с различными вариантами указания измерений. Таким образом, можно построить срез гиперкуба, выбрав все территории по заданному городу, или все данные по заданной форме. Такая модель данных называется иерархической, используя которую пользователи могут формулировать сложные запросы, генерировать отчеты, получать подмножества данных. Так как основным источником данных попадающих в хранилище разрабатываемой ситемы, будет являться реляционная база данных по медицинской статистике, то имеет смысл использовать также формирование кубов “на лету”, используя SQL-запросы к реляционной базе данных для подготовки информации. Благодря этому, уменьшится загруженность машинных ресурсов, снизится время обработки данных при сложных запросах.

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


Литература.

1.Стариков А. «Ядро OLAP системы» Лаборатория BaseGroup http://www.basegroup.ru/ - 2003
2.Арустамов А. «Применение OLAP технологий при извлечении данных» Лаборатория BaseGroup http://www.basegroup.ru/ - 2003
3.Формы государственной медико-статистической отчетности. Донецк, УЗО – 2002 г.-173 c.
4.Щавелев Л. В Способы аналитической обработки данных для поддержки принятия решений. СУБД. - 1998. - # 4-5.- 26 с.