АЛГОРИТМИЧЕСКИЕ И ПРОГРАММНЫЕ СРЕДСТВА ИНТЕГРАЦИИ ДАННЫХ ПРИ СОЗДАНИИ ЭЛЕКТРОННЫХ МЕДИЦИНСКИХ КАРТ Специальность 05.13.11 – Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей Диссертант: Фам Ван Тап Email: [email protected] СПИСОК СОКРАЩЕНИЙ БД: ЕИП: ЛИС: МИС: ЭИБ: ЭМК: ЭЦП: 2 База данных Единое информационная пространство Лабораторная информационная система Медицинская информационная система Электронная история болезни Электронная медицинская карта Электронная цифровая подпись ЦЕЛЬ РАБОТЫ Разработка алгоритмических и программных средств интеграции данных при создании ЭМК пациента 3 ПОСТАВЛЕННЫЕ ЗАДАЧИ Анализ современного состояния здравоохранения в России и за 4 рубежом Разработка рекомендаций по модификации формата медицинских данных для задач организации хранения и обмена данными в ЕИП (Open UMS) Разработка методологии формирования ЭМК пациента с использованием форматов Open UMS и Office Open XML Проектирование шаблонов медицинских документов для систем ведения ЭМК Разработка алгоритмического обеспечения для задач динамической настройки конфигурации МИС Разработка алгоритма формирования лечебнодиагностического процесса для описания потока исполнения задач на языках UML и BPEL с целью динамической реконфигурации исполнения МИС Разработка веб-модуля для решения задачи проведения удаленных консультаций между специалистами НАУЧНАЯ НОВИЗНА Сравнительная характеристика форматов представления и хранения медицинских данных Рекомендации по модификации формата медицинских данных для задач организации хранения и обмена данными в ЕИП Способ ведения ЭМК с использованием шаблонов медицинских документов в форматах Office Open XML с применением ЭЦП Алгоритмическое обеспечение для задач динамической настройки конфигурации МИС Алгоритм формирования лечебно-диагностического процесса для описания потока исполнения задач на языке BPEL с целью динамической реконфигурации исполнения МИС 5 ПРАКТИЧЕСКИЕ РЕЗУЛЬТАТЫ Разработанные шаблоны медицинских документов, представленных в форматах Office Open XML, в которых содержатся элементы ввода данных, для внесения или обновления информации о пациенте в системе Структурная схема конфигурации МИС для ведения ЭМК в рамках ЕИП Модель амбулаторного обслуживания пациента в среде Eclipse BPEL для управления медицинским электронным документооборотом Веб-модуль для поддержки удаленных консультаций специалистов с использованием технологии Silverlight и трехзвенной архитектуры 6 ПЕРВОЕ ПОЛОЖЕНИЕ Обзор текущего положения применения МИС Сравнительная характеристика существующих программных продуктов для организации медицинского электронного документооборота (МИС) Анализ и исследование стандартов, позволяющих организовать хранение, документирование и обмен медицинскими данными Рекомендации по модификации формата медицинских данных для задач организации хранения и обмена данными в ЕИП Сравнительная характеристика форматов представления и хранения медицинских данных 7 ПОЛОЖЕНИЕ В СФЕРЕ ЗДРАВООХРАНЕНИЯ 693 МИС, 268 компаний разработчиков Более 18 тыс. врачебных амбулаторнополиклинических учреждений 8 СРАВНИТЕЛЬНАЯ ХАРАКТЕРИСТИКА МИС МИС АМУЛЕТ АРТЕМИДА ИНТЕРИН КОНДОПОГА АВРОРА Архитектура системы Клиент-сервер Клиент-сервер Трехуровневая Клиент-сервер Трехуровневая Управление с бизнеспроцессами Реализация при проектировании системы (фиксированная конфигурация) Реализация при проектировании системы (фиксированная конфигурация) Поддерживает workflow для управления потоком работ (диспетчер задач) Реализация при проектировании системы (фиксированная конфигурация) Использует язык описания бизнеспроцессов BPEL для моделирования потока исполнения задач (динамичная конфигурация) Интеграция с другими системами Не имеет механизм поддержки Не имеет механизм поддержки Только в некотором степени (на основе HL7) Не имеет механизм поддержки Интеграция с другими МИС на основе формата Open UMS Поддержка Office Open XML для представления данных Интегрирует с офисными приложениями, но не поддерживает форматы Office Open XML для формирования документов Не поддерживает MS Office (только GUI и Web интерфейс) Может быть интегрирован прикладный пакет MS Office, но не поддерживает форматы Office Open XML Интегрирует с MS Office 97, но не поддерживает форматы Office Open XML Интегрирует с MS Office 2007. Поддерживает форматы Office Open XML для формирования ЭМК пациента 9 ЭМК Ключевое решение задач в любой МИС Набор персональной информации о здоровье Набор структурированных и/или неструктурированных элементов Документированный учет медицинского лечения, который поддерживает текущее и будущее лечение, осуществляемое тем же или другими врачами 10 СОСТАВ ЭМК CDA Персональные данные HL7 Обследования XML Посещения Open UMS OpenXML ЭМК Назначенные лекарственные средства openEHR Осмотры Медиаданные Вакцинации Аллергии Прочие данные 11 СТАНДАРТЫ ДЛЯ ОРГАНИЗАЦИИ ЭМК 1. Стандарты сообщений, ставящие во главу угла протоколы конкретных взаимодействий и описывающие формат передаваемых сообщений. Содержат жесткие схемы документов и негативны к обновлениям схем сообщений. Примером может служить HL7 v2 (2). 2. Стандарты неконтролируемой обобщенной структуры, содержащие язык описания структур, но не контролирующие содержание контролируемых структур. Не позволяют говорить о «понимании» двумя системами друг друга. Аналогией может служить XML. Пример – HL7 CDA r2 (3). 3. Стандарты контролируемой обобщенной структуры. Содержат способ формального описания хранимого и передаваемого контента. Примером может служить HL7 CDA r2 + HL7 templates. 4. Стандарты семантических платформ, содержат кроме трех предыдущих пунктов также формальное описание платформы для взаимодействия: входящих в нее сервисов и алгоритмов их работы. Примером может служит openEHR. 5. ГОСТ Р 52636-2006 «Электронная история болезни. Общие положения»; ГОСТ Р ИСО/TС 18308-2008 «Информатизация здоровья. Требования к архитектуре электронного учета здоровья»; ГОСТ Р ИСО/ТО 20514-2009 «Информатизация здоровья. Электронный учет здоровья. Определение, область применения и контекст» и т.д. 12 ПРЕДПОСЫЛКА К РАЗРАБОТКЕ НОВОГО ФОРМАТА К наиболее известным медицинским стандартам можно отнести HL7 и openEHR. Первый главным образом направлен на обмен данными, тогда как openEHR сконцентрирован на информационной модели HL7 подход: (HL7 документ содержит элементы Entry, характеризующиеся двумя атрибутами Code (SNOMED-CT) и Value (значение). Недостатки следующие: отсутствие связности Code <-> Value несовместимое представление клинических концепций отсутствие специализации семантики и т.д. openEHR подход: реализуется на основе набора архетипов, не подходящих к условиям российского здравоохранения 13 РЕКОМЕНДАЦИИ ПО ФОРМИРОВАНИЮ НОВОГО ФОРМАТА OPEN UMS Разработка 14 XML-хранилищ медицинских данных для конкретных шаблонов медицинских документов Разработка схем преобразования данных XSLT Замена значения Code элемента Entry в HL7 CDA документе ссылкой на согласованную и формальную модель (медицинские шаблоны) Публикация и согласование разработанных медицинских шаблонов Формирование сервисов для предоставления возможности интеграции медицинских данных в ЕИП Использование открытой структуры информационной модели Поддержка международных стандартов по организации, хранению и обмену данными АДАПТАЦИЯ ФОРМАТА HL7 CDA Медицинский документ classCode = OBS moodCode = EVN code: CD (значение берет от классификатора медицинских терминов и понятий – SNOMED-CT) statusCode effectiveTime value: ANY (Значение берется от результата обследования) … 15 Code указывает на явную неявную модель, модель, описывающую описывающую медицинскую медицинскую концепцию (структура, концепцию типы (структура, типы данных и т.д. данных и т.д. явно выводятся) неявно выводятся) Обработанная система может не может гарантировать, что полученный результат будет соответствовать неявной явной модели модели ЯВНАЯ МЕДИЦИНСКАЯ МОДЕЛЬ (ШАБЛОН) <ClinicalDocument> <typeid root="2.16.8.4.0.1.113883.1.3" extension="POCD_HD0 0 0 04 0"></typeid> <id root="1.2.643.2.27.3." extension="337f9088-5457-40fa-9fe3" assigningAuthorityName=""></id> <code code="1" codeSystem="1" codeSystemName="TestCodeSystem" codeSystemVersion="1.1"> <displayName displayName="Документ"></displayName> </code> <title>Status localis</title> <LanguageCode value="language code"></LanguageCode> ... <informationRecipient typeCode="PRCP"> <intendedRecipient classCode="ASSIGNED"> <receivedOrganization> <id root="1.2.643.2.27.3." extension="1" assigningAuthorityName=""></id> <name>Клиники ГОУ ВПО СибГМУ Росздрава</name> </receivedOrganization> </intendedRecipient> </informationRecipient> <legalAuthentificator> <signatureCode nullFlavor="NI"></signatureCode> </legalAuthentificator> <dbTableName>Result_status_localis</dbTableName> <structuredBody> ... <entry name="Локализация"></entry> ... <entry name="Осмотр"></entry> ... <entry name="Комментарии"></entry> ... </structuredBody> </ClinicalDocument> 16 КРИТЕРИИ ОЦЕНКИ ФОРМАТОВ Характеристики openEHR архетипы UMS модель (профиль) Моделирование медицинских данных, таких как, «давление крови», «медицинский рецепт» и т.д. Да Да Повторяемость использования медицинской информации Да Да Философские основы На основе европейской медицины На основе российской медицины Представление одного лечебного профиля Нет, только при объединении набора некоторых архетипов создается лечебный профиль Да, каждый документ самостоятельно может стать лечебным профилем Язык определения Язык определения архетипов, ADL XML Поддержка инструментов Поддерживается редактор архетипов, разработанный на языке Java Поддерживается редактор профилей (шаблонов), разработанный на языке C# Поддержка вариантов ответов Да, на уровне архетипов Да, на уровне базовых терминов Структурные особенности Поддерживается отдельный класс типов полей, но отсутствует класс базовых терминов Типы полей включены в класс базовых терминов Зависимость от программной реализации и инфраструктуры Нет, архетипы могут управляться руками врачей-консультантов Нет, пользователь может создавать, редактировать профиль с помощью разработанного редактора профилей Поддержка медицинских классификаторов SNOMED, LOINC МКБ-10, классификатор лекарственных средств, SNOMED, LOINC и т.д. Открытость 9 подписанных архетипов, остальное на стаде обсуждения и проектирования 27 UMS профилей в рамках МИС «Аврора». Такие профили на общедоступном медицинском портале 17 ВТОРОЕ ПОЛОЖЕНИЕ Методология представления ЭМК пациента в формате Open UMS на основе шаблонов медицинских документов, предназначенных для внесения информации о пациенте в систему, в форматах Office Open XML с применением ЭЦП: Создание и внесение XML-хранилища в структуру документов в форматах Office Open XML Реализация связей между узлами XML-хранилища и элементами ввода данных с помощью Xpath-запросов Обеспечение ЭЦП медицинских документов Реализация функции внесения данных в систему с использованием разработанных шаблонов Разработка схем преобразования данных XSLT для преобразования ЭМК в формате Open UMS 18 ДОКУМЕНТ В ФОРМАТАХ OFFICE OPEN XML ЭМК в форматах Office Open XML – zip-архив (Package) C# с использованием пространства System.IO.Packaging (Framework 3.5): имен класс PackagePart: объекты документа класс PackageRelationship: связи между объектами класс PackageDigitalSignature : ЭЦП документа XML: описание файла источника данных документа Xpath-запрос: построение привязки элементов ввода к узлам файла источника данных 19 СТРУКТУРА МЕДИЦИНСКОГО ДОКУМЕНТА В ФОРМАТАХ OFFICE OPEN XML Файлы с описаниями взаимосвязей составных частей документа, которые находятся в папке _rel XML хранилище данных Файл, содержащий описание типов данных, использующихся в данном документе 20 ФРАГМЕНТ ЭМК В СРЕДЕ MICROSOFT OFFICE WORD 21 Элементы ввода данных с предлагаемыми вариантами ответов, позволяющие использовать источники данных о пациенте в XML формате ФРАГМЕНТ XML ХРАНИЛИЩА ДАННЫХ <?xml version="1.0" encoding="utf-8"?> <Data xmlns="urn:OpenXmlDemo.NewPatientInformationForm"> <Patient> <Id>1799</Id> <BirthDate>23.09.1981</BirthDate> <Sex>Мужской</Sex> <Name> <Last>Фам</Last> <First>Тап</First> <Middle>Ван</Middle> </Name> ... </Patient> </Data> 22 ОБЕСПЕЧЕНИЕ ЭЦП ДОКУМЕНТА Хэш-функция Данные 10101010 10101010 Шифровка с использованием ключа Хэш-функция Сертификат X509 10101010 10101010 =? Дешифровка с использованием ключа 10101010 Данные Прикрепить к данным Подписанный документ Центральный сервер 23 Загрузка документа Подписанный документ Локальная станция ЗАПОЛНЕНИЕ ДАННЫХ ПРИ РАБОТЕ С ЭМК ПАЦИЕНТА Шаблон с элементами ввода данных (docx) Загрузка шаблонов Шаблоны документа (docx) БД Заполнить данные Подписать Заполненный документ (docx) Просмотр Представление данных (HTML) Полученные данные пациента (XML) Схема преобразования данных (XSLT) XSLT процессор Framework 3.5 (ASP.NET, C#) Локальная станция 24 Центральный сервер ПРЕОБРАЗОВАНИЕ ЭМК В ФОРМАТ OPEN UMS Шаблон документа с заполнением информации о пациенте (docx) (1) Загрузка на сервер Framework 3.5 C#, ASP.NET XSLT процессор (2) Извлечение данных Полученная информация о пациенте (XML) БД Медицинский документ в формате Open UMS (HTML) 25 (4) Передача документа IIS сервер Схема преобразования данных о (3) Преобразование пациенте (XSLT) Центральный сервер данных СХЕМА ПРЕОБРАЗОВАНИЯ ДАННЫХ (XSLT) 26 ТРЕТЬЕ ПОЛОЖЕНИЕ Алгоритмическое обеспечение для задач динамической настройки конфигурации МИС Разработка структурной схемы конфигурации МИС для ведения ЭМК в рамках ЕИП 27 АЛГОРИТМ ДЛЯ ОБЕСПЕЧЕНИЯ ДИНАМИЧЕСКОЙ КОНФИГУРАЦИИ МИС 28 СТРУКТУРНАЯ СХЕМА КОНФИГУРАЦИИ МИС ДЛЯ ВЕДЕНИЯ ЭМК 29 ЧЕТВЕРТОЕ ПОЛОЖЕНИЕ Алгоритм формирования лечебно-диагностического процесса для описания потока исполнения задач на языках UML и BPEL с целью динамической реконфигурации исполнения МИС Разработка модели амбулаторного обслуживания пациента в среде Eclipse BPEL для управления медицинским электронным документооборотом 30 МОДЕЛЬ АМБУЛАТОРНОГО ОБСЛУЖИВАНИЯ ПАЦИЕНТА 31 ВЗАИМОСВЯЗЬ КОМПОНЕНТОВ В МОДЕЛИ БИЗНЕС-ПРОЦЕССОВ Клиент МИС «Аврора» Порт к МИС Аврора Перечень передаваемых параметров для создания экземпляра бизнес-процессов: IdDoctor, IdPatient, IdVisit, и т.д. Передача набора переменных элементу вызова веб-сервисов Вызов веб-сервисов для выполнения функции записи пациента на прием Возращение результатов для последующих вызовов веб-сервисов Использование элементов управления потоком исполнения задач: If, While, Wait и т.д. … Ответ клиенту МИС «Аврора» о выполнении бизнес-процессов 32 BPEL-процесс как веб-сервис Порт к вебсервисам Интерфейс веб-сервисов (WSDL): •записать пациента на прием; •заполнить ЭМК пациента; •направить пациента; •поставить диагноз; •назначить лечение; •и т.д. ОПИСАНИЕ МОДЕЛИ БИЗНЕС-ПРОЦЕССОВ НА ЯЗЫКЕ BPEL <bpel:process name="AuroraProcess" ... > ... <bpel:partnerLinks> // Описание всех компонентов в процессе </bpel:partnerLinks> ... <bpel:variables> // Перечень всех переменных, которые передаются в процесс </bpel:variables> <bpel:sequence name="BPEL Модель обслуживания пациента"> // Описание логики исполнения бизнес-процессов с использованием // набора управляющих конструкций (invoke, if, while, wait и т.д.) <bpel:receive name="Получить входные переменные для вызова нового экземпляра бизнеспроцесса" partnerLink="client" /> <bpel:sequence name="Запись пациента"> <bpel:assign name="Иницилизировать переменные для вызова функции записи"> // Описание механизма передачи переменных веб-сервису </bpel:assign> <bpel:invoke name="Вызвать внешний веб-сервис для записи пациента"> // Вызов внешнего веб-сервиса для выполнения задачи записи пациента на прием </bpel:invoke> <bpel:assign validate="no" name="Передать выходные переменные на выход"> // Описание механизма передачи переменных следующему процессу </bpel:assign> <bpel:reply name="Вернуть результат" /> </bpel:sequence> ... </bpel:process> 33 КОМПОНЕНТЫ В МОДЕЛИ БИЗНЕС-ПРОЦЕССОВ В качестве среды исполнения BPEL используется среда Apache Tomcat МИС «Аврора» играет роль клиента, вызывающего BPEL модель обслуживания пациента при необходимости для создания нового экземпляра лечебно-диагностического процесса Внешние веб-службы Средство потокового ввода данных Microsoft Office Word, с использованием форматов Office Open XML 34 ПЯТОЕ ПОЛОЖЕНИЕ Подход к проведению удаленных консультаций с использованием Silverlight и трехзвенной архитектуры Разработка веб-модуля для удаленных консультаций между специалистами 35 Медицинские изображения Избранный способ лечения Результаты обследования Лечащий врач Центральный сервер Консультации 36 Специалисты Диагностика ФОРМАТ МЕДИЦИНСКИХ ИЗОБРАЖЕНИЙ – DICOM DICOM (Digital Imaging and COmmunications in Medicine) – стандарт для передачи радиологических изображений и другой медицинской информации между компьютерами МИС №1 Радиологический центр 37 МИС №2 DICOM – НОСИТЕЛЬ ГРАФИЧЕСКОЙ И ТЕКСТОВОЙ ИНФОРМАЦИИ 38 СРЕДСТВА РАБОТЫ С ИЗОБРАЖЕНИЯМИ Разработанный ActiveX компонент «ezDICOM» для работы с DICOM-изображениями: просмотр медицинских изображений в формате DICOM конвертация DICOM формата в форматы JPG, PNG, BMP и т.д. Silverlight – технология представления данных в Интернет, работающая на различных платформах: создание насыщенных, визуально привлекательных веб- приложений ключом к возможностям Silverlight является (расширяемый язык разметки приложений) 39 XAML XAML – СРЕДСТВО ВИЗУАЛИЗАЦИИ 40 ТРЕХЗВЕННАЯ АРХИТЕКТУРА СИСТЕМЫ 41 ПРОСМОТР DICOM-ИЗОБРАЖЕНИЯ 42 РАЗРАБОТАННЫЕ ИНСТРУМЕНТЫ 43 Инструменты для редактирования изображения Поддержка слоев изображения с возможностью задавания уровни прозрачности. На этих слоях будут созданы объекты РЕДАКТИРОВАНИЕ DICOM-ИЗОБРАЖЕНИЯ Метки отмечены врачом Кляйном В.А., с которыми другие специалисты, имеющие соответственные права доступа к данному изображению пациента могут ознакомиться в качестве материала для консультации Комментарий [Врач: Кляйн В.А.] Проблема с отмеченными ребрами 44 АПРОБАЦИЯ РЕЗУЛЬТАТОВ РАБОТЫ Представлено 9 тезисов докладов в различных сборниках трудов конференций, в том числе один за границей (в Вене Австрии) 3 статьи в журналах, входящих в перечень ВАК, рекомендуемых для публикации основных результатов диссертаций на соискание ученых степеней кандидата и доктора наук Работа также была отмечена двумя дипломами I степени и дипломом участника за лучшую презентацию на различных конференциях Зарегистрированы следующие программы и алгоритмы в государственном информационном фонде неопубликованных документов: редактор DICOM изображений - № 50201000076 MedicalDoc Редактор клинических документов - № 50201000921 DICOMAX Графический редактор медицинских изображений - № 45 50201000922 ОСНОВНЫЕ РЕЗУЛЬТАТЫ ПО ДИССЕРТАЦИОННОЙ РАБОТЕ Выделена сравнительная характеристика существующих программных продуктов 46 для организации медицинского электронного документооборота Выделены критерии оценки форматов представления и хранения медицинских данных Введен новый формат медицинских данных для задач организации хранения и обмена данными в ЕИП Предложен новый способ внесения или обновления информации о пациенте в электронную историю болезни в формате Open UMS с использованием шаблонов медицинских документов, представленных в форматах Office Open XML при поддержке ЭЦП Разработаны шаблоны медицинских документов в форматах Office Open XML, в которых содержатся элементы ввода данных Построен алгоритм для задач динамической настройки конфигурации МИС Разработана структурная схема конфигурации МИС для ведения ЭМК в рамках ЕИП Построен алгоритм формирования лечебно-диагностического процесса для описания потока исполнения задач на языках UML и BPEL с целью динамической реконфигурации исполнения МИС Разработана модель амбулаторного обслуживания пациента в среде Eclipse BPEL для управления медицинским электронным документооборотом с использованием веб-сервисов и разработанных медицинских шаблонов СПАСИБО ЗА ВНИМАНИЕ! 47