МИС должны быть свободными

МИС должны быть свободными

Американская медицинская информационная система VistA, которая начала создаваться как закрытый продукт для силовых ведомств, на сегодняшний день распространяется под свободной лицензией Apache 2.0.

При установке и конфигурировании VistA в конкретном медучреждении, вообще говоря, не обойтись без помощи ИТ-специалистов, которых на программистском жаргоне называют “hardhats” (“каски” - это профессиональные VistA-разработчики и продвинутые пользователи этой МИС, а также метафора для обозначения людей с крайне консервативными взглядами). Стоимость их работы составляет существенную часть общих затрат, необходимых для внедрения и эксплуатации VistA. Ядро системы создано на весьма своеобразном языке MUMPS (Massachusetts General Hospital Utility Multi-Programming System или М-система), включающем в себя функционал, который сегодня обычно реализуют при помощи СУБД и операционных систем, а также обеспечивающим расширенные возможности интеграции с различным медоборудованием.

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

От проприетарной к свободной

Существует свободная версия платформы для разработки M-приложений - GT.M, созданная в 80-е гг. MUMPS и технологии, положенные в его основу, послужили базой для разработок коммерческих ИТ-вендоров, таких как Epic Systems, InterSystems (СУБД Cache) и др. Язык MUMPS,  - “имя” которого совпадает, в частности, с названием болезни “свинка” (mumps), -  оказался весьма удачным и написанные на нем М-приложения десятилетиями эксплуатируются во многих американских медицинских компаниях. В то же время, созданный более 40 лет назад язык программирования имеет много отличий от более современных разработок. В среде программистов находится немало тех, кто выискивает у “свинки” те или иные недостатки.

Одним из результатов деятельности тех “hardhats”-программистов, которые оказались в той или иной степени привержены идеям СПО, стало создание в начале 2000-х некоммерческой WorldVistA, преследующей, в частности, цель реализации базового функционала VistA для разных операционных систем (на базе разновидностей Linux и Microsoft Windows) и создания новых специализированных приложений. Также практически важна и задача обеспечения полной интероперабельности “свободной” WorldVistA и VistA “обычной”, а также обеспечения качественной интеграции другими распространенными свободными дистрибутивами и пакетами медицинских приложений, такими как OpenVistA, vxVistA и др.

“Противостояние” разных диалектов VistA разных степеней и оттенков открытости и свободности, длится уже десятилетие. На 24-ом VistA Community Meeting в Сакраменто, закончившимся в середине января 2012 г., собравшиеся констатировали, что в настоящее время существует более 5 свободных версий VistA, преимущественно отличающихся лишь особенностями лицензирования. “Война” разнообразных лицензий частично обусловлена и тем, что многие разработчики СПО ищут компромисса, позволяющего им взаимодействовать с проприетарными вендорами МИС. Поскольку последних идея включить в состав своих решений модули с открытым кодом, которые может использовать каждый желающий, в восторг обычно не приводит.

Таким образом, история разработки свободной VistA и взаимодействия сообществ СПО стала чем-то очень похожей на разработку VistA “обычной”, в ходе которой три разных министерства потратили деньги и создали несколько диалектов исходного кода системы DHCP, а затем начали регулярно запускать программы, добиваясь “бесшовной” интеграции, необходимой для того, чтобы иметь возможность обмениваться теми или иными данными. Переход к разработке на базе “единого ядра” (unified core) как минимум на порядок снизил бы, например, стоимость получения медицинских лицензий, необходимых для легитимного применения свободных приложений в медучреждениях, не говоря уже об экономии других расходов.

OSEHRA сделает VistA свободной?

В конце августа 2011 г. при участии минобороны США и министерства по делам ветеранов был официально запущен OSEHRA (Open Source Electronic Health Record Agent) в качестве независимого, некоммерческого системообразующего проекта для сообществ пользователей, разработчиков и сервис-провайдеров EHR-решений. Одной из конкретных задач проекта является подержание репозитария для VistA и других ИТ-разработок для здравоохранения, свободно распространяемых под лицензией Apache версии 2.0.

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

На упомянутой выше январской встрече разработчиков СПО в Сакраменто идею единого ядра поддержали крупнейшие разработчики для VistA - Medsphere и DSS. На состоявшемся в начале июня 2012 г. в Калифорнии следующем, 25-ом VistA Community Meeting, было отмечено значительное увеличение количества образовательных и обучающих материалов, накопленных в репозитарии, а также - быстрый рост числа компаний, занимающихся СПО-разработками, связанными с проектом OSEHRA. В частности, представители Ray Group International презентовали результаты своей работы по рефакторингу приложений, использующихся в Kaiser Permanente. Их проект имеет  цель с минимальными изменениями структурировать исходный MUMPS-код на модульные компоненты, пригодные для использования в рамках трехуровневой архитектуры, провести адаптацию под требования современных средств разработки, а также создать подходящий для СПО-разработчиков EHR-сервисов интерфейс и пр.

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

Создание проекта OSEHRA, в работе которого, помимо разработчиков СПО, участвует министерство по делам ветеранов и другие ведомства США, поможет скоординировать усилия вокруг создания единого ядра СПО-системы и создать подходящую для этого инфраструктуру. Это участие целесообразно уже по одной только той причине, что министерство контролирует выход обновлений и новых версий “классической” VistA, совместимости с которой стремятся достичь многие независимые разработчики.

Станет ли на выходе этого процесса свободная версия VistA по-настоящему популярной и найдут ли чиновники общий язык со свободолюбивыми разработчиками, сказать заранее сложно. Впрочем, нынешние создатели СПО начинают не пустом месте, а “классическая” VistA VA когда-то тоже начиналась всего лишь как некая перспективная разработка группы программистов. Однако немаловажным моментом в свое время стало и то, что написанную на MUMPS систему DHCP, - позднее ставшую VistA, - в итоге прописали и в соответствующем законе для министерства по делам ветеранов.

Хольгер Шмуль,  Антон Степанов

Вернуться на главную страницу обзора

Опубликовано в 2012 г.

Техноблог | Форумы | ТВ | Архив
Toolbar | КПК-версия | Подписка на новости  | RSS