|
|
Американская медицинская информационная система 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) как минимум на порядок снизил бы, например, стоимость получения медицинских лицензий, необходимых для легитимного применения свободных приложений в медучреждениях, не говоря уже об экономии других расходов.
В конце августа 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 г.