УДК 61:007

СОВРЕМЕННЫЕ МЕТОДЫ ХРАНЕНИЯ ДАННЫХ В МЕДИЦИНСКИХ ИНФОРМАЦИОННЫХ СИСТЕМАХ

Новокрещенов Владимир Сергеевич1, Киселев Станислав Николаевич1
1Московский технологический университет, магистрант кафедры медицинских информационных систем

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

Ключевые слова: веб-технологии, медицинская информационная система, хранение данных


MODERN METHODS OF DATA STORAGE IN MEDICAL INFORMATION SYSTEMS

Novokreschenov Vladimir Sergeevich1, Kiselev Stanislav Nikolayevich1
1Moscow Technological University (MIREA), graduate student of the department of medical information systems

Abstract
The article considers modern methods of storing information in medical information systems processing information as well as its presentation. The focus is on modern document-oriented databases that can store data in a medical information system without access to the network which may be required in case of an unstable connection to a computer network.

Keywords: data storage, medical information systems, web-technology


Рубрика: 05.00.00 ТЕХНИЧЕСКИЕ НАУКИ

Библиографическая ссылка на статью:
Новокрещенов В.С., Киселев С.Н. Современные методы хранения данных в медицинских информационных системах // Современные научные исследования и инновации. 2017. № 4 [Электронный ресурс]. URL: http://web.snauka.ru/issues/2017/04/81796 (дата обращения: 03.06.2017).

Введение

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

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

Сегодня представлено множество инструментов, которые позволяют реализовать качественные веб-приложения за короткое время. К таким технологиям можно отнести программную платформу Node.js, фреймворки для ускорения разработки веб-приложений (Angular.js, ASP.NET, Spring, React.js, Backbone.js и т.д), документо-ориентированные СУБД (MongoDB, CouchDB).

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

БД в современных МИС

Основное предпочтение при разработке МИС и других приложений, связанных с централизованным хранением информации, отдается реляционным БД. К достоинствам реляционной модели можно отнести:

  1. Простое представление информации для пользователя
  2. Она основывается на развитом математическом аппарате
  3. Позволяет создавать языки манипулирования данными не процедурного типа
  4. Манипулирование данными на уровне выходной БД и возможностью изменения.

К недостаткам можно отнести медленный доступ к данным, а также высокую трудоемкость разработки.

Большая часть современных МИС работает по принципу “Клиент-сервер”. На основе практического опыта было доказано, что необходимость такого решения для создания информационной системы очень высока, так как настольные базы данных, в том числе с использованием файл-сервера, способны поддерживать не более 10 рабочих станций и небольшой объем данных. Помимо этого, большая часть существующих требований к МИС уже реализована в промышленных СУБД, построенных в архитектуре “клиент — сервер”, что позволяет существенно уменьшить время на разработку информационной системы.[1]

Для разработки большинства МИС были использованы СУБД MS SQL, Oracle, Lotus Notes/Domino, Postgress SQL и FireBird. Указанные СУБД обладают хорошими характеристиками для хранения данных, но они не могут обеспечить высокую производительность приложения из-за формы представления данных. Основной смысл реляционных БД – это хранение данных, и их получение по запросу за любой промежуток времени, это чаще используется для формирования отчетов. [2]

При использовании документо-ориентированных СУБД запросы к БД в большинстве случаев одинаковые. Они основываются на этом принципе, создавая индексы на нужные запросы при изменении данных асинхронно. Таким образом, после изменения данных сразу обновляются и индексы для нужных запросов. В SQL индексы тоже есть, но они на более низком уровне. Документо-ориентированныe СУБД строят индексы автоматически при первом запросе. Поэтому это очень похоже на схему lang <-> memcache <-> sql,  но существенно быстрее.
Второе преимущество – это более простая репликация. Третье преимущество – это map/reduce запросы для обработки данных. Выполняются на встроенном языке, например на JavaScript.
В итоге, приложение написанное с использованием документо-ориентированной БД будет быстрее чем аналог на SQL.

Применение документо-ориентированных БД при разработке МИС

В разработке современных приложений все чаще используются веб-технологии. Это связано с тем, что такие приложения являются кроссплатформенными и не зависят от какой-то определенной операционной системы. Помимо этого, такие приложения очень быстро разрабатываются и изменяются, а также легко интегрируются с другими приложениями посредством API. Веб-технологии очень хорошо подходят и для разработки МИС, так как обладают очень широким набором инструментов. Для хранения данных в веб-приложениях могут быть использованы как реляционные СУБД, так и документо-ориентированные. Так как реляционные СУБД не обладают качеством быстрой разработки и скоростью получения информации при запросе к ним, то стоит обратиться к документо-ориентированным СУБД. Самыми популярными документо-ориентированными СУБД являются MongoDB и CouchDB. В статье будет рассматриваться СУБД CouchDB.

CouchDB – это документо-ориентированная система управления базами данных с открытым исходным кодом, не требующая описания схемы данных, распространяется свободно, написана на языке Erlang. Впервые вышла в 2005 году, с 2008 года – проект фонда Apache. Реализована в рамках подхода NoSQL. Для хранения данных используется JSON, для реализации MapReduce-запросов – JavaScript. Одной из особенностей СУБД является поддержка репликации с несколькими ведущими узлами. CouchDB можно рассматривать как сервер веб-приложений; для реализации этой идеи в CouchDB встроен производительный веб-сервер, а программный код, как и данные, сохраняется в той же базе данных. Для автоматизации работы с приложениями используется утилита CouchApp.

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

Для управления конкурентным доступом используется механизм MVCC, благодаря чему возможно избежать необходимости блокировки файла базы данных во время записи. Разрешение конфликтов относится к сфере ответственности логики приложения, разрешение конфликта обычно включает в себя объединение данных в один документ, а затем старый документ удаляется.[3]

Для хранения данных на стороне клиента следует использовать БД PouchDB, которая совместима с CouchDB.

PouchDB – это NoSQL БД с открытым исходным кодом, написанная на JavaScript, которая была разработана по принципу CouchDB, но с возможностью простой работы в браузере. Она была создана для помощи веб разработчикам в создании приложений, которые могут работать без постоянного доступа к сети. PouchDB является базой данных, которая работает в бараузере, что позволяет приложению хранить данные локально, для того чтобы пользователь мог использовать приложение без доступа к сети. Кроме этого, данные могут синхронизироваться между клиентами. PouchDB также может быть запущен на Node.js и может быть использован в качестве прямого интерфейса к CouchDB. API PouchDB работают в различных средах одинаково, поэтому проблем с выбором бразуеров быть не должно. PouchDB поддерживает все современные браузеры, используя IndexedDB, а в случае если браузер его не поддерживает, то он заменяет метод хранения данных на WebSQL. Полностью протестированные браузеры, где это работает:

  • Firefox 29+ (включая Firefox OS и Firefox для Android)
  • Chrome 30+
  • Safari 5+
  • Internet Explorer 10+
  • Opera 21+
  • Android 4.0+
  • iOS 7.1+
  • Windows Phone 8+

PouchDB является независимой БД, которая может использоваться совместно с Angular, React, Ember, Backbone, или фреймворком собственной разработки.[4]

На основе этих БД была создана портальная МИС с открытым исходным кодом, под названием HospitalRun. Она предназначена для хранения данных о пациенте, лабораторных данных, изображений связанных с диагностикой пациентов и прочие данные. Данная МИС позволяет вести учет данных без доступа к сети, а после получения этого доступа, все данные могут быть синхронизированы с центральной БД. Основной минус этой МИС заключается в том, что это конечное веб-приложение, и для его изменения требуется большое количество времени.[5]

Наша основная идея, это разработка единого JavaScript фреймворка для фронт-энд разработки, на основе PouchDB, с возможностью последующей синхронизации данных из локальной БД в серверную БД CouchDB. Этот фреймворк должен обладать простым набором функций, которые должны определять все типы полей ввода на форме портала. Структура портала в свою очередь описывается разработчиком. На форме могут быть типы полей: input, radio button, check box, каждый тип данных будет описан в фреймворке. Синхронизация данных с CouchDB будет происходить по стандарту JSON. Итоговый вариант этого инструмента будет подключаться на html форме, разработчик описывает структуру страницы и поля для ввода данных, после чего пользователь будет иметь возможность ввести данные, и с появлением доступа к сети эти данные будут переданы на сервер, а если сетевой доступности сервера нет, то эти данные не будут потеряны.

Описанный инструмент будет очень удобен в разработке форм для сбора данных, этот подход в медицине называется «Case report form».

Заключение

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


Библиографический список
  1. А. Г. Белышев, Я. И. Гулиев, В.Ю. Морозов. «Построение медицинских систем с использованием объектных технологий», Программные системы: Теоретические основы и приложения, ред. А. К. Айламазян, Наука. Физматлит, М., 1999, с. 169.
  2. А. К. Айламазян, Я. И. Гулиев, С. И. Комаров, В. Л. Малых, В.Ю. Морозов. «Информационные системы в медицине: проблемы и решения», Программные системы: Теоретические основы и приложения, ред. А. К. Айламазян, Наука. Физматлит, М., 1999, с. 162.
  3. Официальный сайт проекта CouchDB // Apache CouchDB. 2017. URL: http://couchdb.apache.org/ (дата обращения: 10.04.2017)
  4. Официальный сайт проекта PouchDB // PouchDB. 2017. URL: https://pouchdb.com/ (дата обращения: 10.04.2017)
  5. Официальный сайт проекта Hospitalrun // Hospitalrun. 2017. URL: http://hospitalrun.io/ (дата обращения: 10.04.2017)


Все статьи автора «Новокрещенов Владимир Сергеевич»


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

Связь с автором (комментарии/рецензии к статье)

Оставить комментарий

Вы должны авторизоваться, чтобы оставить комментарий.

Если Вы еще не зарегистрированы на сайте, то Вам необходимо зарегистрироваться: