Применение технологии хранилищ данных
в территориальных органах управления здравоохранением

Д.В. Жучков

Институт вычислительного моделирования СО РАН, Красноярск

Введение

В системе здравоохранения и обязательного медицинского страхования (ОМС) Красноярского края ежегодно обрабатывается значительный объем медико-экономических, отчетно-статистических и нормативно-справочных данных. Данные формируются разными программными комплексами, работающими на различных уровнях – от отдельного медицинского учреждения и страховой медицинской организации до Управления здравоохранения и фонда ОМС Красноярского края.

Для обработки этого массива информации разрабатывается Единая информационная система здравоохранения и обязательного медицинского страхования. В состав системы входит ряд программных продуктов, в первую очередь это:

- Единая система ведения справочников [1].

- Система сбора статистической информации «СтатЭкспресс» [2].

- Централизованное хранилище медицинской информации (ЦХМИ)[3].

- Аналитическая система «Аналитик»[4].

Целью данного доклада является представление основных характеристик, функций и возможностей ЦХМИ, являющегося центром, в котором сходятся все информационные потоки отрасли здравоохранения и ОМС Красноярского края.

Проектирование и практическая реализация ЦХМИ выполнены с использованием оригинального программного продукта «Менеджер хранилища данных». Система разработана в лаборатории интеллектуальных информационных систем Института вычислительного моделирования по заказу Управления здравоохранения при администрации Красноярского края и Красноярского краевого фонда ОМС.

Основные сведения о хранилищах данных

В основу структуры ЦХМИ заложена активно применяемая в последнее время идеология «хранилищ данных» («data warehousing»). Согласно классическому определению хранилище данных - это «совокупность средств, позволяющих накапливать и представлять данные в целостном, предметно-ориентированном виде, пригодном для анализа и принятия управляющих решений»[5,6].

Основное отличие хранилищ данных от оперативных баз данных, которые также принято называть «системами обработки транзакций», заключается в следующем:

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

- В хранилищах, как правило, отсутствуют транзакции в их обычном виде, т.е. нет необходимости в постоянных, кратковременных дополнениях/модификациях таблиц, вместо этого должен быть обеспечен механизм периодического добавления значительных объёмов информации.

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

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

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

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

Информационный состав ЦХМИ

Ядром информационной структуры ЦХМИ являются справочники и классификаторы, поступающие из единой системы ведения справочников, функционирующей в Красноярском краевом медицинском информационно-аналитическом центре.

Фактологические данные для ЦХМИ стекаются из множества информационных систем, работающих в отрасли здравоохранения и ОМС, в том числе это:

- статистическая отчётность медицинских учреждений;

- отчётность системы обязательного медицинского страхования;

- данные для формирования Территориальной программы государственных гарантий обеспечения населения бесплатной медицинской помощью;

- данные по расчёту подушевого норматива;

- реестры пролеченных больных.

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

Общая структура хранилища данных

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

Метаданные представляют собой служебную информацию о состоянии и составе хранилища, это так называемые «данные о данных». К разряду метаданных относятся описания:

- объектов хранилища, таких как таблицы фактов и агрегатов, измерения, оглавления, витрины данных и временные таблицы;

- взаимосвязей, установленных между объектами;

- источников поступления данных;

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

Метаданные организованы в ряд служебных таблиц и вместе с программными средствами, обслуживающими их, представляют собой репозитарий хранилища. Состав информации в репозитарии рассчитан на дополнение данными, которые хранятся в служебных таблицах сервера Oracle 8i. Это значит, что некоторая информация, например, данные о внешних ключах и ограничениях, не хранится в репозитарии, а считывается непосредственно из служебных таблиц сервера.

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

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

Рис. 1. Схема данных «звезда»

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

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

При решении аналитических задач часто требуется рассчитать показатели, усредненные или просуммированные по какому-то разрезу (измерению), так называемые агрегированные данные. Поскольку время, затрачиваемое на получение агрегированных показателей, может быть существенным, целесообразно хранить обработанные данные в отдельных объектах хранилища – таблицах агрегатов. Таблицы агрегатов могут создаваться системой «Аналитик» непосредственно в процессе выполнения расчётов [3].

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

ETL-подсистема хранилища

Обязательной составляющей каждой системы, поддерживающей работу хранилища данных, является подсистема предзагрузочной обработки и импорта данных в хранилище. Процесс извлечения, преобразования и загрузки данных из оперативных баз данных в системы долговременного хранения принято обозначать аббревиатурой ETL (от англ. «Extract, Transform, Load»).

Основными функциями ETL-подсистемы являются:

- проверка логической целостности импортируемых данных;

- очистка данных, т.е. устранение ненужной или служебной информации;

- преобразование типов данных согласно системным соглашениям хранилища;

- необходимое агрегирование данных;

- собственно импорт данных в таблицы хранилища.

Доступ к внешним источникам данных из «Менеджера хранилища» основан на общем для всех программ, разрабатываемых в лаборатории, механизме доступа к базам данных через динамическую библиотеку соединений. Данная библиотека обеспечивает единообразный доступ к базам данных различных форматов через интерфейсы ADO, BDE и OCI.

Для наполнения и преобразования данных во временных таблицах используется набор следующих ETL-процедур.

Процедура импорта данных – осуществляет передачу данных из внешнего источника в таблицу буфера предзагрузочной обработки. Процедура импорта также может употребляться для передачи данных между таблицами внутри хранилища. Отличительной особенностью процедуры импорта является возможность использования внутреннего языка высокого уровня для задания сложных механизмов передачи, преобразования и фильтрации данных. На рис. 2 представлено состояние окна «Менеджера хранилища» с открытыми свойствами процедуры импорта. В правой части экрана виден фрагмент скрипта процедуры импорта, написанный на встроенном языке программирования. Кроме того, на экране отображается история создания и выполнения данной процедуры.

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

Рис. 2 Дерево объектов хранилища. Свойства процедуры импорта

На рис. 3 представлено состояние окна «Менеджера хранилища» с открытыми свойствами процедуры преобразования, отображается скрипт процедуры и история её выполнения.

Рис. 3 Дерево объектов хранилища. Свойства процедуры преобразования

Процедура перекачки данных – выделенный тип процедуры для упрощённой передачи данных внутри хранилища. Используется для переноса данных из таблиц буфера предзагрузочной обработки в таблицы области длительного хранения. Среди параметров данной процедуры выделяется возможность очистки таблицы-источника после выполнения, т.е. фактически происходит перенос, а не копирование данных.

Серверная процедура – представляет собой SQL-скрипт, предназначенный для обработки данных средствами сервера Oracle. Использование серверных процедур предоставляет администратору доступ ко всей инструментальной базе сервера БД.

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

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

Последовательность выполнения ETL-процедур определяется в так называемых ETL-пакетах. Структура и состав конкретного пакета позволяет задать набор процедур, подлежащих выполнению, и назначить порядок переходов между процедурами в случае успешного или неуспешного выполнения конкретного шага. Использование пакетов позволяет определять достаточно сложные алгоритмы загрузки и преобразования данных, включающие в себя многошаговую обработку данных с последовательной фильтрацией и исключением ошибочных значений. Применение разнотипных ETL-процедур делает доступным не только стандартные функции SQL, но и специальные способы обработки информации. Древовидная структура планов выполнения процедур в пакете даёт возможность предусмотреть обработку не только основного потока информации, но и тех данных, которые выходят за рамки системных соглашений хранилища. Перенос записей, содержащих некорректные значения, в специально выделенные таблицы ошибок позволяет учесть весь объём информации, поступающей в хранилище.

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

Заключение

Централизованное хранилище медицинской информации с июля 2002 года эксплуатируется в Красноярском краевом медицинском информационно-аналитическом центре и в Красноярском краевом фонде ОМС. Информационное наполнение хранилища включает справочные данные и фактологическую информацию, касающуюся состояния отрасли здравоохранения в крае.

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

Литература

1. Т.Г. Александровская, Д.В. Жучков, Е.Е. Корчагин, Л.Ф. Ноженкова, П.И. Рогулев, С.Н. Фрейдман. Единая система ведения справочников медицинской информации / Проблемы разработки и внедрения информационных систем в здравоохранении и ОМС // Труды межрегиональной конференции. – Красноярск, 2000. - С. 161-169.

2. Евдокимов Д.А., Барышникова О.В., Никитина М.И., Корчагин Е.Е. Система СтатЭкспресс для сбора и анализа статистических и отчетных данных / Информационно-аналитические системы и технологии в здравоохранении и ОМС // Труды всероссийской конференции. – Красноярск: КМИАЦ, 2002. – С.213-219.

3. Жучков Д.В., Кардашов Д.В., Никитина М.И. Структура и функции территориального хра­нилища медицинских данных // Доклады IV Всероссийской конференции с между­народным участием «Новые информационные технологии в исследовании сложных структур».– Томск: ТГУ, 2002. – с.206-211.

4. Горохова А.В., Ишенин П.П., Никитина М.И. OLAP-средства системы АНАЛИТИК / Информационно-аналитические системы и технологии в здравоохранении и ОМС // Труды всероссийской конференции. – Красноярск: КМИАЦ, 2002. – С.220-228.

5. Эрик Спирли. Корпоративные хранилища данных. Планирование, разработка, реализация. Том 1.:Пер. с англ. – М.: Издательский дом «Вильямс», 2001.-400с.

6. Архипенков С, Голубев Д., Максименко О. ХРАНИЛИЩА ДАННЫХ. От концепции до внедрения / Под общ. Ред. С.Я. Архипенкова – М.: ДИАЛОГ-МИФИ, 2002.- 528 с.