УДК 004.91;004.04
ОРГАНИЗАЦИЯ МЕДИЦИНСКОЙ ИНФОРМАЦИОННОЙ СИСТЕМЫ С ИСПОЛЬЗОВАНИЕМ ЭЛЕКТРОННЫХ КЛИНИЧЕСКИХ ДОКУМЕНТОВ В СТАНДАРТЕ HL7 CDA ПРИ ПОДДЕРЖКЕ ФОРМАТОВ OFFICE OPEN XML
Ван Тап Фам, А.А. Пономарев
Томский политехнический университет E-mail: [email protected]
Решена задача по автоматизации процесса управления документооборотом в сфере здравоохранения. Предлагается эффективный метод внесения или обновления информации о пациенте в центральной системе с использованием шаблона, имеющего форматыi Office Open XML. Описано применение медицинского стандарта HL7 CDA для задач создания клинических документов и средств электронной цифровой подписи, пригодных для использования в едином информационном пространстве. Также приведены практические рекомендации по использованию языков C# и ASP. NET для решения указанных задач.
Ключевые слова:
Электронный клинический документ, электронная цифровая подпись, медицинский стандарт HL7 CDA, формат Office Open XML, система управления базами данных, медицинская информационная система.
Key words:
Electronic clinical document, electronic digital signature, medical standard HL7 CDA, Office Open XML format, database management system, medical information system.
Введение
В настоящее время перед специалистами, занимающимися разработкой программных продуктов в здравоохранении, остро встает вопрос организации медицинских данных. Это обусловливается тем, что медицинская информация имеет сложную структуру и очень разнообразна по своему составу. Более того, высокие требования в точности, надежности, безопасности и в постоянном обновлении медицинских данных накладывают дополнительные требования для реализации способов работы с ними. Практика показывает, что внедрение автоматизированных информационных систем с использованием электронных средств позволяет повысить качество и эффективность медицинского обслуживания и снизить стоимость медицинских услуг.
Не смотря на появление ряда стандартных протоколов и нормативных документов, помогающих разработчикам решать задачи по автоматизации медицинской деятельности. Такие стандарты, в основном, имеют различные требования, что приводит к разнообразным вариантам решения одних и тех же задач [1]. В данной работе предлагается новый способ организации клинических документов с использованием форматов Office Open XML (Extensible Markup Language - расширяемый язык разметки [2]) при поддержке стандартных протоколов обмена медицинскими данными HL7 CDA (Health Level 7, Clinical Document Architecture - стандарт HL7, архитектура клинических документов [3]). Актуальность рассматриваемой проблемы заключается в том, что такой подход позволит пользователям отказаться от использования традиционного документооборота и перейти к электронному варианту, что также обеспечит возможность безопасной передачи заполненных документов в информационную систему или другим пользователям.
1. Необходимость создания электронных клинических документов
В последнее время, во многих экономически-развитых странах, большинство учреждений в сфере здравоохранения отказалось от бумажного документооборота, в это же время началось проектирование различных медицинских информационных систем, значительно облегчающих обслуживание пациентов и упорядочивающих бизнес-процессы. Медицинская информационная система должна обеспечить, как минимум, следующие функциональные возможности [4]:
• сбор, регистрация, структурирование и документирование данных;
• обеспечение обмена информацией и создание информационного пространства;
• обеспечение конфиденциальности и надежности передаваемой информации;
• хранение и поиск информации;
• контроль эффективности и качества оказания медицинской помощи;
• поддержка принятия решений по оказанию медицинской помощи пациентам.
Возможны ситуации, когда пациенты обращаются в медицинскую организацию, в которой внедрена автоматизированная информационная система, позволяющая дистанционно получить доступ к электронным медицинским записям. Получив доступ к данной системе, пациенты не только могут просмотреть медицинские данные в удобной форме, но также загрузить требуемые документы и воспользоваться ими при необходимости. В этом случае особенность клинических документов заключается в применении стандартных форматов HL7 CDA, определяющих медицинские записи и электронную цифровую подпись документов с ис-
пользованием форматов Office Open XML. С технической точки зрения, все медицинские записи хранятся в едином информационном пространстве, где известно их местонахождение в определенных подсистемах, представляющие собой различные базы данных (БД) и некую центральную систему, обеспечивающую их функциональное взаимодействие.
Когда пациент затребует медицинскую информацию из центральной системы, все данные, касающиеся этого запроса, будут динамически собраны из различных источников данных и подсистем, после чего будет построен результирующий документ в стандартном формате HL7 CDA, содержащий полученную информацию и будет передан пациенту. Полученный документ при наличии электронной подписи является копией данных, сохраненных в центральной системе, поэтому нельзя изменить содержание документа не нарушив её. Такой клинический документ будет опознан во всех других медицинских информационных системах, поддерживающих стандартный формат HL7 CDA, и он остается целостным, благодаря механизму обеспечения конфиденциальности информации. Кроме выше перечисленных возможностей, пациент или другие заинтересованные лица могут дополнить любую информацию согласно используемым шаблонам с использованием стандартных средств, например, Microsoft Office Word 2007 [5]. После обработки и загрузки такого документа в центральную информационную систему информация сохраняется в базе данных по заранее определенным в шаблоне правилам. Такой механизм позволяет эффективно управлять процессами электронного документооборота и обеспечивает возможность обмена документами клинического содержания между различными контрагентами.
2. Обоснование выбора стандартных форматов
В 2006 г. появилась новая версия пакета программных приложений Microsoft Office 2007, что открыло совершенно новые возможности для тех, кто занимается разработкой систем автоматизации документооборота.
В данной версии были внесены ряд изменений в интерфейс, появились новые инструменты при работе с программными приложениями в пакете, а также возможности программирования для разработчиков. Ключевая особенность нового пакета заключается в том, что файловый формат документов, созданных несколькими приложениями новой версии (Microsoft Office Word, PowerPoint, Access 2007 [5]), представляет собой zip-архив, в состав которого входят текстовые компоненты в виде XML, графики и другие данные, которые могут быть сериализованы с применением защищённых патентами двоичных форматов [2]. Такая особенность дает программистам возможность вносить изменения в структуру электронного документа и является предпосылкой выбора данного пакета для
решения задачи автоматизации документооборота медицинских информационных систем. На рис. 1 показана типовая структура документа в формате Office Open XML.
- ^.ЛК^и^ческий документ в формате OpenXML\
Рис. 1. Структура клинического документа в формате OpenXML
В состав структурного электронного документа входят следующие элементы:
• файл, содержащий описание типов данных, использующихся в данном документе (ContenTy-pes.xml);
• файлы с описаниями взаимосвязей составных частей документа, которые находятся в папке _rel (см. рис. 1). Эти файлы являются связными элементами между различными частями документа;
• части документов в виде отдельных файлов, имеющих стандартный формат XML;
• не XML-части, в том числе OLE объекты.
На сегодняшний день медицинский стандарт HL7 получил широкое распространение во всём мире, особенно в развитых странах, таких как США, Великобритания, Германия, Япония и т. д. Одной из главных причин распространения данного стандарта является использование технологии XML, предназначенной для описания архитектуры клинических документов. В этой концепции ядром является RIM модель (Reference Information Model - Справочная Информационная Модель [3]), которая по существу определяет как структуру, так и значение отдельных элементов данных в содержании клинического документа. После утверждения CDA в качестве стандарта ANSI в 2005 г., HL7 комитет стал уделять особое внимание созданию повторно-используемых шаблонов и их ограничению для наиболее распространенных клинических документов. В рамках данной работы был разработан подобный шаблон с целью предоставления пациентам доступа к электронным медицинским записям в формате HL7 CDA в наглядной форме. Таким образом, для полноценного использования описанных решений необходимо решить следующие вопросы:
• каким образом файловый документ, имеющий форматы Open XML, может включать клиниче-
ский документ и обрабатывать его, чтобы отобразить его содержание в человеко-читаемом виде;
• как создается клинический документ в формате HL7 CDA;
• как применяется механизм электронной цифровой подписи к медицинской записи.
3. Разработка шаблона клинического документа
Одной из привлекательных характеристик в новой версии Microsoft Office Word 2007 является поддержка элементов ввода, использующих специальные теги, названные «структурными тегами документа» (SDT - Structured Document Tag). Наиболее интересной особенностью SDT является то, что они позволяют использовать источники данных, располагающиеся в том же архиве документа [2]. Более того, эти файлы данных имеют XML формат, что позволяет совместить их с архитектурой клинических документов или другими произвольными структурированными документами. Привязка элементов ввода к узлам файла источника данных осуществляется с помощью Xpath-запросов [6]. Это позволяет пользователю построить взаимосвязь между внутренним и внешним уровнями документа.
В качестве примера на рис. 2 показана форма регистрации, содержащая различные элементы ввода данных и предназначенная для внесения в систему персональных данных пациентов.
Для реализации такой возможности необходимо в составе такого документа описать хранилища данных. Для такого описания и построения привязок данных можно использовать различные способы от программирования до визуального интерфейса. В этом случае, с целью реализации таких задач была использована среда программирования Microsoft Visual Basic [7].
Далее приведены листинги фрагментов программ на языке Visual Basic и описание XML-хра-нилища данных с детальными комментариями:
Листинг 1. Visual Basic код для создания регистрационной формы пациентов
' Добавить новую часть документа и загрузить хранилище данных - XML файл Sub LoadXMLFile()
ActiveDocument.CustomXMLParts.Add ActiveDocument.CustomXMLParts(1).Load ("c:\PatientData.xml")
End Sub
' Построить связки данных для элементов ввода данных с использованием XPath Sub BindingData2ContentControls()
' Создание связки данных для элемента ввода LastName
Dim lastNameXPath As String lastNameXPath = «/Data/Patient/Name/Last» ActiveDocument.ContentControls(4).XMLMap-ping.SetMapping lastNameXPath
' Создание связки данных для элемента ввода FirstName
Dim firstNameXPath As String firstNameXPath = "/Data/Patient/Name/First" ActiveDocument.ContentControls(5).XMLMap-ping.SetMapping firstNameXPath
' Создание связки данных для элемента ввода MiddleName
Dim middleNameXPath As String middleNameXPath = "/Data/Patient/Name/Middle" ActiveDocument.ContentControls(6).XMLMap-ping.SetMapping middleNameXPath
End Sub
Текущая дата: 28.03.2010
Е ерсональная информация пациента
Фамилия: Фам Имя: Тап Отчество: Ван
Номер телефона: +7(960) 975 9462 Пол: Мужской ; Birthoate ождения: Выбрать дату. "
Страна: Введите здесь. ч Март 2010
Область: Введите здесь. 1 2 3 4 5 6 7
Город: Введите здесь. 3 9 10 11 12 13 14 15 16 1 7 18 19 20 21 22 23 24 25 26 27[jgj 29 30 31 1 2 3 Л
Улица: Введите здесь.
Дом: Введите здесь. 5 6 7 8 9 10 И
Докумек | Today J
Рис. 2. Фрагмент регистрационной формы для пациентов
Листинг 2. Источник данных в произвольном XML формате
<?xml version="1.0" encoding="utf-8"?> <Data xmlns="urn:OpenXmlDemo.NewPatientIn-formationForm"> <Patient> <Id>1</Id>
<BirthDate>01.11.193 9</BirthDate>
<Sex>Мужской</Sex>
<Name>
<Last>Фам</Last> <First>Тап</First> <Middle>Ван</Middle> </Name>
</Patient> </Data>
4. Форматы Open XML в сочетании с C#
и ASP.NET, предназначенных
для решения класса медицинских задач
Чтобы получить функциональные возможности по управлению непосредственно zip-архивом (Package) электронного документа, имеющего OpenXML формат, необходимо включить пространство имен System.IO.Packaging, содержащее различные абстрактные классы, предназначенные для работы с объектами документа - PackagePart, связями между ними - PackageRelationship, цифровой подписью в документе - PackageDigitalSignature и т. д. [2]. В листинге представлен фрагмент C# кода, демонстрирующий генерацию нового абстрактного объекта, связанного с пакетом (Package) файла электронного документа.
Листинг3. Управление объектами zip-архива с помощью классов пространства имен System.IO.Packaging
using System.IO.Packaging;
private void CreateDocument(string id)
// Генерировать новый Package объект; using(Package package = Packa-ge.Open(stream, FileMode.Open, FileAc-
cess.ReadWrite)) {
// Определить путь к объекту в структуре архива;
Uri uriData = new Uri(«/cus-tomXML/item1.xml»,UriKind.Relative);
// Добавить новый объект в Package; PackagePart newCustomPart = packa-ge.CreatePart(uriData, «application/xml»);
// Построить связки данных; GetDataFromDatabase(newCustom-Part.GetStream(), id);
}
Использование классов пространства имен System.IO.Packaging позволяет управлять данными через промежуточный файл XML формата произвольной структуры, который по существу является носителем информации об объекте. При заполнении данных согласно шаблону документа, полученного от центрального сервера, пациент сохраняет введенные данные во внутреннем файле источника данных. На сервере обеспечивается механизм преобразования XML документов с помощью технологии XSLT (extensible Stylesheet Language Transformations - расширяемый язык преобразования стилей [6]), что позволяет пользователю знакомиться с электронными медицинскими записями удаленно с использованием протокола HTTP.
На рис. 3 показан процесс регистрации пациента в центральной системе с использованием Web-браузера.
Кроме возможности внесения или обновления информации на центральном сервере, данный сценарий решает задачу преобразования медицинских записей в формат HL7 CDA, одновременно обеспечивая доступность этих данных для пациента. Следует отметить, что при работе со стандартным шаблоном, утвержденным HL7 комитетом, для построения таких документов, часть данных передается из регистрационной формы, другая часть извлекается непосредственно из баз данных. На рис. 4 показан процесс преобразования информации о пациенте с целью создания клинического документа, имеющего стандартный формат HL7 CDA, при помощи XSLT.
5. Применение цифровой подписи
с целью обеспечения конфиденциальности
клинического документа
Медицинские записи по своей специфике несут важные и конфиденциальные данные о пациенте, поэтому актуальной является задача обеспечения безопасности при организации доступа к ним. Комбинация использований пространства имен System.IO.Packaging в среде Framework.NETи пакета Microsoft Office Word 2007 позволит решить такую задачу. Для этого необходимо с помощью класса PackageDigitalSignatureManager осуществлять подпись пакета (Package) либо цифровой подписью, либо сертификатом. Цифровая подпись может быть сформирована на основе существующих сертификатов, таких, как X509 [8, 9], либо на основе созданного в программе для рассматриваемого пакета сертификата. Следует отметить, что использо-
Шаблон с элементами ввода данных (docx)
Заполнить информацию
Заполненный документ (docx)
<HTML> </HTML>
С
Загрузка шаблона
Регистрация
V
Представление
к=
Локальная станция Центральный сервер
Рис. 3. Процесс автоматизации регистрации пациента с использованием Web-браузера
Шаблон документа с заполнением информации о пациенте (docx)
(1)
Загрузка на сервер
О
Клинический документ в формате HL7 CDA (docx)
(4)
Передача документа
У
<
ЦЕНТРАЛЬНАЯ СИСТЕМА
Framework 3.5 C#, ASP.NET XSLT процессор
База данных
(2)
Извлечение данных
<
Полученная информация о пациенте (XML)
У
(3)
Преобразование данных
HL7 CDA
схема преобразования данных о пациенте (XSLT)
Рис. 4. Процесс создания клинического документа в стандартном формате HL7 CDA
вание класса PackageDigitalSignatureManager в пространстве имен System.IO.Packaging дает возможность подписать либо все документы, либо только отдельные части документа, или даже отношения/связи между ними. Кроме обеспечения электронной цифровой подписи, данный класс также поддерживает функцию верификации подписанных документов, что предоставляет разработчикам возможность управлять клиническими документами, обеспечивая при этом безопасность. Использование Microsoft Office Word 2007 позволяет пользователю подтвердить подлинность загруженной медицинской записи из центрального сервера. Такая процедура будет выполняться автоматически при попытке открыть полученный документ. На рис. 5 показан процесс применения электронной цифровой подписи для обеспечения конфиденциальности при автоматизированной обработке электронных медицинских записей.
С технической точки зрения, предложенный подход реализации обработки электронных документов может эффективно использоваться не только в сфере здравоохранения, но и во многих других областях человеческой деятельности. Это обусловливается как низкой стоимостью внедрения программного обеспечения с использованием рассмотренных технологий, так и возможностью описывать сложные структуры распределенных данных.
Выводы
1. Решена задача по автоматизации процесса управления документооборотом в сфере здравоохранения. Предложен метод работы с данными для обмена клиническими документами с использованием стандартного протокола - HL7 CDA и описано его применение с использованием открытого формата - Office Open XML.
Хеш-функция 10101010
Шифровка с использованием ключа
Сертификат X509
110101010
"Y"
Прикрепить к данным
I
Подписанный документ
Загрузка документа
DŒ
Центральный сервер
10101010
= 9
Хеш-функция
Данные
10101010
т
Дешифровка с использованием ключа
10101010
Подписанный документ
Локальная станция
Рис. 5. Процесс применения электронной цифровой
2. Созданы клинические шаблоны с использованием структуры файлового документа, имеющего расширение *.docx. Эти шаблоны предоставляют пользователю удобный способ внесения информации в базы данных посредством Web-доступа.
3. Рассмотрены вопросы использования пространства имен System.IO.Packaging в C# и
защиты документов
ASP.NET для работы с файловыми документами, имеющими форматы Open XML, для медицинских целей.
4. Исследован способ применения электронной цифровой подписи к медицинской записи в стандартном формате HL7 CDA.
СПИСОК ЛИТЕРАТУРЫ
1. Гусев А.В., Романов Ф.А., Дуданов И.П. и др. Медицинские информационные системы. - Петрозаводск: Изд-во Петрозаводского ун-та, 2005. - 404 с.
2. Воутер В. Open XML. Кратко и доступно: [Пер. с англ.]. -СПб.: Питер, 2007. - 109 с.
3. Health Level Seven. 2010. URL: http://www.hl7.org (дата обращения: 18.03.2010).
4. Назаренко Г.И., Гулиев Я.И., Ермаков Д.Е. Медицинские информационные системы: теория и практика / под ред. Г.И. Назаренко, Г.С. Осипова. - М.: Физматлит, 2005. - 319 с.
5. Васильев А. Microsoft Office 2007: новые возможности. - СПб.: Питер, 2007. - 159 с.
6. Мангано С. XSLT. Сборник рецептов: [Пер. с англ.]. - СПб.: БХВ-Петербург, 2008. - 862 с.
7. Петруцос Э., Хау К. Visual Basic 6 и VBA для профессионалов: [Пер. с англ.]. - СПб.: Питер, 2000. - 432 с.
8. Онегов В.А. Электронная цифровая подпись и приемы хеширования // Информатика и образование. - 2003. - № 1. -С. 33-39.
9. Столлингс В. Криптография и защита сетей: принципы и практика: [Пер. с англ.]. - СПб.: Питер, 2001. - 672 с.
Поступила 05.04.2010 г.