ИСПОЛЬЗОВАНИЕ OPEN XML ДЛЯ ФОРМИРОВАНИЯ КЛИНИЧЕСКИХ ДОКУМЕНТОВ В ФОРМАТЕ HL7 CDA
УДК 004.91 ;004.04 Тап Ван Фам
аспирант кафедры автоматики и компьютерных систем факультета автоматики и вычислительной техники Томского Политехнического Университета Р.т.: 41-89-07,
E-mail: [email protected]
Алексей Анатольевич Пономарев
к.т.н., доцент кафедры автоматики и компьютерных систем факультета автоматики и вычислительной техники Томского Политехнического Университета Р.т.: 41-89-07, E-mail: [email protected]
Предложен новый метод внесения информации о пациенте в центральную систему с использованием шаблонов, имеющих формат Open XML. Описано применение медицинского стандарта HL7 CDA для задач создания клинических документов и средств электронной цифровой подписи, пригодных для использования в едином информационном пространстве. Приведены практические рекомендации по использованию языков C# и ASP.NET для решения указанных задач.
Ключевые слова: электронный клинический документ, электронная цифровая подпись, медицинский стандарт HL7 CDA, формат Office Open XML, система управления базами данных, медицинская информационная система.
Tap Van Pham
Postgraduate student of the third year from training department of Automation and Computer Systems, on Faculty of Automation and Computer Engineering from Tomsk Polytechnic University Tel: 41-89-07,
E-mail: [email protected]
Alexey Anatolevich Ponomarev
PhD, Associate Professor, Department of Automation and Computer Systems, Faculty of Automation and Computer Engineering from Tomsk Polytechnic University Tel: 41-89-07, E-mail: [email protected]
USING OPEN XML IN ORDER TO IMPLEMENT THE ELECTRONIC DOCUMENTS IN THE CLINICAL FORMAT HL7 CDA
The purpose of this research is to offer an efficient method of entering information about a patient in a central system using the document templates that have formats Office Open XML. It is introduced the conceptual of using the medical standard HL7 CDA and the electronic digital signature in order to implement clinical tasks of the central information system. Also this article gives a practical advice on the use of languages C # and ASP. NET to solve the specified problems.
Keywords: electronic clinical document, electronic digital signature, medical standard HL7 CDA, Office Open XML format, database management system, medical information system.
1. Введение
В настоящее время перед всеми специалистами, занимающимися разработкой программных продуктов для задач здравоохранения очень остро стоит вопрос организации медицинских данных. Это обусловливается тем, что медицинская информация имеет сложную структуру и очень разнообразна по своему составу. Более того, высокие требования в точности, надежности, безопасности и в постоянном обновлении медицинских данных накладывают дополнительные требования для реализации способов работы с ними. Практика показывает, что внедрение автоматизированных информационных систем с использованием электронных средств позволяет повысить качество и эффективность медицинского обслуживания и снизить стоимость медицинских услуг. Не смотря на появление ряда стандартных протоколов и нормативных документов, помогающих разработчикам решать задачи по автоматизации медицинской деятельности. Они, в основном, имеют неопределенные требования, что приводит к разнообразию вариантов решения одних и тех же задач [1].
В данной работе предлагается новый способ реализации клинических документов с использованием формата Office Open XML (Extensible Markup Language - расширяемый язык разметки [2]) при поддержке стандартных протоколов обмена медицинскими данными HL7 CDA (Health Level 7, Clinical Document Architecture - стандарт HL7, архитектура клинических документов [3]). Актуальность рассматриваемой проблемы заключается в том, что использование таких технологий позволяет пользователям отказаться от использования традиционного документооборота и перейти к электронному варианту, что также обеспечит возможность безопасной передачи заполненных документов в центральную информационную систему или другим пользователям.
2. Необходимость создания электронных клинических документов
В последнее время, во многих экономически-развитых странах, большинство учреждений в сфере здравоохранения уже отказалось от бумажного документооборота, в это же время началось проектирование различных медицинских информационных систем, значительно облегчающих обслуживание пациентов и упорядочивающих бизнес-процессы. Медицинская информационная система должна обеспечить как минимум следующие функциональные возможности [4]:
• сбор, регистрация, структурирование и документирование данных;
• обеспечение обмена информацией и создание единого информационного пространства;
• обеспечение конфиденциальности и надежности передаваемой информации;
• хранение и поиск информации;
• контроль эффективности и качества оказания медицинской помощи;
• поддержка принятия решений по оказанию медицинской помощи пациентам.
Возможны ситуации, при которых пациенты имеют дело с медицинской организацией, в которой внедрена автоматизированная информационная система, позволяющая им дистанционно получить доступ к своим электронным медицинским записям. Получив доступ к данной системе, эти пациенты не только могут просмотреть медицинские данные в удобной форме, но также могут загрузить требуемые документы и воспользоваться ими при необходимости. В этом случае, особенность клинических документов заключается в применении стандартных форматов HL7 CDA, определяющих медицинские записи и электронную цифровую подпись документов с использованием формата Office Open XML. С технической точки зрения, все медицинские записи хранятся в едином информационном пространстве, где известно их местонахождение в определенных подсистемах, представляющих собой различные базы данных (БД) и некую центральную систему, обеспечивающую их функциональное взаимодействие.
Когда пациент запрашивает медицинскую информацию из центральной системы, все данные, касающиеся этого запроса, будут динамически собраны из различных источников данных и подсистем, после чего будет построен результирующий документ в стандартном формате HL7 CDA, содержащий полученную
информацию и будет передан пациенту. Полученный документ при наличии электронной подписи является копией даннык, сохраненных в центральной системе, поэтому нельзя изменить содержание документа не нарушив её. Такой клинический документ будет опознан во всех других медицинских информационных системах, поддерживающих стандартный формат HL7 CDA, и при этом он остается целостным, благодаря механизму обеспечения конфиденциальности информации. Кроме выше перечисленный возможностей, пациент или другие заинтересованные лица также могут дополнить любую информацию согласно используемым шаблонам с использованием стандартных средств, например Microsoft Office Word 2007 [5]. После обработки и загрузки такого документа в центральную информационную систему, информация сохраняется в различных хранилищах по заранее определенным правилам в шаблоне. Такой механизм позволяет эффективно управлять процессами электронного документооборота, и обеспечивает возможность обмена документами клинического содержания между различными контрагентами.
3. Обоснование выбора стандартных форматов
В 2006 г. появилась новая версия пакета программного продукта Microsoft Office 2007, что открыло совершенно новые возможности для тех, кто занимается разработкой систем электронного документооборота.
В этой версии были внесены ряд изменений в интерфейс, появились новые инструменты для работы с программными приложениями в пакете, а также возможности программирования для разработчиков. Ключевая особенность нового пакета заключается в том, что файловый формат документов, созданных несколькими приложениями новой версии (Microsoft Office Word, PowerPoint, Access 2007 [5]), представляет собой zip-архив, в состав которого входят текстовые компоненты в виде XML, графики и другие данные, которые могут быть сериализованы с применением защищённых патентами алгоритмов [2]. Такая особенность дает программистам возможность вносить изменения в структуру электронного документа и является предпосылкой выбора данного пакета для решения задачи автоматизации документооборота медицинских информационных систем. На рис. 1 показана типовая
Él- .jP С:\...\Клинический документ в формате OpenXML\
В- Jj _rels
..... ¡¡jj .reis
Й- & customXml É- Li .reis..... itaidjanl.rds
iteml.xml itemPropsl.uniI □■■■ Jj docProps-[=] appjanl core.xml 0- □ word
i'=) [C ontent Types]лп I
Рис. 1. Структура клинического документа в формате OpenXML
структура документа в формате Office Open XML:
В состав электронного документа входят следующие элементы:
• файл, содержащий описание типов даннык, исполызующихся в данном документе (ContenTypes.xml);
• файлы с описаниями взаимосвязей составных частей документа, которые находятся в папке _rel (см. рис. 1). Эти файлы являются связныши элементами между различными частями документа;
• части документов в виде отделы-ных файлов, имеющих стандартный формат XML;
• не XML-части, в том числе OLE объекты.
На сегодняшний дены медицинский стандарт HL7 получил широкое распространение во всём мире, особенно в развитых странах, таких как США, Великобритании, Германии, Японии и т.д. Одна из главных причин такого достижения основывается на исполызовании технологии XML, предназначенной для описания архитектуры клинических документов. В этой концепции ядром является RIM моделы (Reference Information Model - Справочная Информационная Моделы [3]), которая по сущности определяет как структуру, так и значение отделыных элементов данных в содержании клинического документа. После утверждения CDA в качестве стандарта ANSI в 2005 г., HL7 комитет начал уделяты особое внимание созданию повторно-исполызуемых шаблонов и их ограничению для наиболее распространенных клинических документов. В рамках данной работы был разработан подобный шаблон с целыю предоставления пациентам доступа к электронным медицинским записям в
формате HL7 CDA, в наглядном виде. Таким образом, для полноценного использования описанных решений необходимо решить следующие вопросы:
• каким образом файловый документ, имеющий формат Open XML, может включать и обрабатывать клинический документ, чтобы отобразить его содержание в человеко-читаемом виде;
• как создается клинический документ в формате HL7 CDA;
• как применяется механизм электронной цифровой подписи к медицинской записи.
4. Разработка шаблона клинического документа
Одной из привлекательных характеристик в новой версии Microsoft Office Word 2007 является поддержка элементов ввода, использующихся специальные теги, названные «структурными тегами документа» (SDT - Structured Document Tag). Однако наиболее интересной особенностью SDT является то, что они позволяют использовать источники данных, располагающиеся в архиве самого документа [2]. Более того, по своей структуре файлы данных имеют XML формат, что позволяет их совместить с архитектурой клинических документов или другими произвольными структурированными документами. Привязка элементов ввода к узлам файла источника данных осуществляется с помощью Xpath-запросов [6]. Это позволяет пользователю построить взаимосвязь между внутренним и внешним уровнями документа.
В качестве примера на рис. 2 показана форма регистрации, содержащая различные элементы ввода данных и предназначенная для внесения в систему персональных данных пациентов.
Для реализации такой возможности
необходимо в составе такого документа описать хранилища данных. Для такого описания и построения привязок данных можно использовать различные способы от программирования до визуального интерфейса. В нашем случае, с целью реализации таких задач была использована среда программирования Microsoft Visual Basic (VB) [7].
Ниже показаны листинги использованных VB кодов и XML-хранилища данных с комментариями:
5. Форматы Open XML в сочетании с C# и ASP.NET предназначенный для решения класса медицинских задач
Чтобы получить возможность по управлению непосредственно zip-архи-вом (Package) электронного документа, имеющего OpenXML формат, необходимо включить в программу ссылку на пространство имен
System.IO.Packaging, содержащее различные абстрактные классы, которые предназначены для работы с объектами документа - PackagePart, ассоциациями между ними -PackageRelationship, цифровой подписью в документе -PackageDigitalSignature и т.д. [2]. В листинге 3 представлен фрагмент C# кода, демонстрирующий генерацию нового абстрактного объекта, связанного с пакетом (Package) файла электронного документа.
Использование классов пространства имен System.IO.Packaging позволяет выполнять управление данными через промежуточный файл XML формата произвольной структуры, который по существу является носителем информации об объекте. При заполнении данных согласно шаблону документа, полученного от центрального сервера, пациент сохраняет введенные данные во внутреннем файле источника данных. На сервере обеспечивается механизм преобразования XML документов с помощью технологии XSLT (eXtensible Stylesheet Language Transformations -расширяемый язык стилей [6]), что позволяет пользователю знакомиться с электронными медицинскими записями удаленно с использованием протокола HTTP.
На рис. 3 показан процесс регистрации пациента в центральной системе с использованием Web-браузера:
Кроме возможности внесения или обновления информации на центральном сервере, данный сценарий преобразует медицинские записи в формат HL7 CDA, одновременно обеспечивая
Рис. 2. Фрагмент регистрационной формы для пациентов
Листинг 1. VB код для создания регистрационной формы пациентов
' Добавить новую часть документа и загрузить хранилище данных - 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).XMLMapping.SetMapping lastNameXPath
' Создание связки данных для элемента ввода FirstName Dim firstNameXPath As String firstNameXPath = "/Data/Patient/Name/First" ActiveDocument.ContentControls(5).XMLMapping.SetMapping firstNameXPath
' Создание связки данных для элемента ввода MiddleName Dim middleNameXPath As String
middleNameXPath = "/Data/Patient/Name/Middle" ActiveDocument.ContentControls(6).XMLMapping.SetMapping middleNameXPath
End Sub
Листинг 2. Источник данных в произвольном XML формате
<?xml version="1.0" encoding="utf-8"?>
<Data xmlns="urn:OpenXmlDemo.NewPatientInformationForm"> <Patient> <Id>1</Id>
<BirthDate>01.11.1939</BirthDate>
<Sex>Мужской</Sex>
<Name>
<Last>Фам</Last> <First>Тап</First> <Middle>Ван</Middle> </Name>
</Patient> </Data>
доступность этих данных для пациента. Следует отметить, что при работе со стандартным шаблоном, утвержденным HL7 комитетом, для построения таких документов, часть данных передается из регистрационной формы, другая часть извлекается непосредственно из баз данных. На рис. 4 показан процесс преобразования информации о пациенте с целью создания клинического документа, имеющего стандартный формат HL7 CDA, при помощи XSLT.
6. Применение цифровой подписи с целью обеспечения конфиденциальности клинического документа
Медицинские записи по своей специфике несут важные и конфиденциальные данные о пациенте, поэтому актуальной является задача обеспечения безопасности при организации доступа к ним. Комбинация использований пространства имен System.IO.Packaging в среде Framework .NET и программного приложения Microsoft Office Word 2007 позволит решить такую задачу. Для этого необходимо с помощью класса PackageDigitalSignatureManager осуществлять подпись пакета (Package) либо цифровой подписью, либо сертификатом. Цифровая подпись может быть сформирована на основе существующих сертификатов, таких какХ509 [8, 9], либо на основе созданного в программе сертификата. При этом нужно отметить, что использование класса PackageDigitalSignatureManager в пространстве имен
System.IO.Packaging дает возможность подписать либо целый документ, либо только отдельные части документа, или
Листинг 3. Управление объектами zip-архива с помощью классов пространства имен System.IO.Packaging
using System.IO.Packaging;
private void CreateDocument(string id) {
// Генерировать новый Package объект; using(Package package = Package.Open(stream,
FileMode.Open, FileAccess.ReadWrite))
{
// Определить путь к объекту в структуре
архива;
Uri uriData = new Uri("/customXML/iteml.xml", UriKind.Relative) ;
// Добавить новый объект в Package; PackagePart newCustomPart = package.CreatePart(uriData, "application/xml");
// Построить связки данных;
GetDataFromDatabase(newCustomPart.GetStream(
id) ;
}
даже отношения/связи между ними. Кроме обеспечения электронной цифровой подписи, данный класс также поддерживает функцию верификации подписанных документов, что предоставляет разработчикам возможность управлять клиническими документами, обеспечивая при этом безопасность. Использование Microsoft Office Word 2007 позволяет пользователю подтвердить подлинность загруженной медицинской записи из центрального сервера. Такая процедура будет выполняться автоматически при попытке открыть
полученный документ. На рис. 5 показан процесс применения электронной цифровой подписи для обеспечения конфиденциальности при автоматизированной обработке электронных медицинских записей.
С технической точки зрения, предложенный подход реализации обработки электронных документов может эффективно использоваться не только в сфере здравоохранения, но и во многих других областях человеческой деятельности. Это обусловливается как низкой стоимостью внедрения про-
Локалъная станция Центральный сервер
Рис. 3. Процесс автоматизации регистрации пациента с использованием Web-браузера
Рис. 4. Процесс создания клинического документа в стандартном формате ИЬ7 СБА
граммного обеспечения с использованием рассмотренных технологий, так и возможностью описывать сложные структуры распределенных данных.
7. Заключение
1. Предложен метод работы с данными для обмена клиническими документами с использованием стандартного протокола - HL7 CDA и описано его применение с использованием открытого формата - OpenXML.
2. Созданы клинические шаблоны с использованием структуры файлового документа, имеющего расширение *.docx. Эти шаблоны предоставляют пользователю удобный способ внесения информации в базы данных посредством Web-доступа.
3. Рассмотрены вопросы использования пространства имен System.IO.Packaging в C# и ASP.NET для работы с файловыми документами,
имеющими форматы OpenXML для медицинских целей.
4. Исследован способ применения электронной цифровой подписи к медицинской записи в стандартном формате HL7 CDA.
Литература
1. Гусев A.B., Романов Ф.А., Дуда-нов И.П. Медицинские информационные системы. - Петрозаводск: Изд-во Петрозаводского ун-та, 2005. - 404 с.
2. Воутер В. Open XML. Кратко и доступно: Пер. с англ.. - СПб.: Питер, 2007. - 109 с.
3. Health Level Seven. 2010. URL: http:/ /www.hl7.org (дата обращения: 18.03.2010).
4. Назаренко Г.И., Гулиев Я.И., Ермаков Д.Е. Медицинские информационные системы: теория и практика / под ред. Г.И. Назаренко, Г.С. Осипова. - М.:
Физматлит, 2005. - 319 с.
5. Васильев A. Microsoft Office 2007: новые возможности. - СПб.: Питер,
2007. - 159 с.
6. Мангано С. XSLT. Сборник рецептов: Пер. с англ.. - СПб.: БХВ-Петербург,
2008. - 862 с.
7. Петруцос Э, Хау К. Visual Basic 6 и VBA для профессионалов: Пер. с англ.. - СПб.: Питер, 2000. - 432 с.
8. Онегов В.А. Электронная цифровая подпись и приемы хеширования // Информатика и образование. - 2003. -№ 1. - С. 33-39.
9. Столлингс В. Криптография и защита сетей: принципы и практика: Пер. с англ.. - СПб.: Питер, 2001. - 672 с.
References
1. Gusev A.V, Romanov F.A., Dudanov I.P. Medical information systems. -Petrozavodsk: Petrozavodsk University
Центральный сервер Локальная станция
Рис. 5. Процесс применения электронной цифровой подписи для защиты документов
Press, 2005. - 404 p.
2. Wouter V Open XML. Short and accessible: Trans. from Eng.. - SPb.: Peter, 2007. - 109 p.
3. Health Level Seven. 2010. URL: http:/ /www.hl7.org (access date: 18.03.2010).
4. Nazarenko G.I., Guliev YI., Ermakov D.E. Medical Information Systems: Theory and Practice / Ed. G.I. Nazarenko, G.S.
Osipova. - M.: Fizmatlit, 2005. - 319 p.
5. Vasiliev A. Microsoft Office 2007: new opportunities. - SPb.: Peter, 2007. -159 p.
6. Mangano S. XSLT. Collection of recipes: Trans. from Eng.. - SPb.: BHV-Petersburg, 2008. - 862 p.
7. Petrutsos E., Howe K. Visual Basic 6 and VBA for Professionals: Trans. from
Eng.. - SPb.: Peter, 2000. - 432 p.
8. Onega V.A. Electronic digital signature and hashing techniques // Computer science and education. - 2003. - № 1. - P. 33-39.
9. Stallings V. Cryptography and network security: Principles and Practice: Trans. from Eng.. - SPb.: Peter, 2001. - 672 p.