В данной небольшой статье, ни в коей мере не претендующей на полноту охвата, перечислены некоторые средства разработки для разных версий HL7 и CDA. Критерии, по которым библиотеки, фреймворки или сопутствующие средства попали в этот список следующие: средство должно быть бесплатное или условно бесплатное, поддерживаться организацией или устоявшимся сообществом разработчиков и, желательно, open-source. По этой причине не перечислены всякие хорошие вещи вроде Trifolia или Mirth CDAPI, о которых многие из читателей вряд ли слышали или сталкивались, и вряд ли когда-нибудь столкнутся, если только родная компания вдруг не решит прикупить парочку подобных средства. Так же не попали, например, HL7SDK, множество HL7 редакторов и средства разработки для DICOM.
И так, по порядку с очень кратким описанием.
HL7v2 Software Development Frameworks
«HAPI (HL7 application programming interface) is an open-source, object-oriented HL7 2.x parser for Java». Данный набор библиотек можно считать стандартом де-факто для разработки HL7v2 приложений на Java. HAPI может быть расширен генерацией своих профилей HL7. Доступен по адресу – hl7api.sourceforge.net
"MWB is a multipurpose productivity software for Health Level Seven (HL7) V2.x implementers. It facilitates the rapid development of specifications and reports."
MWB не являются средством разработки в чистом виде. Это скорее редактор моделей сообщений HL7 и средство валидации HL7v2 сообщений с помощью этих моделей.
Причина, по которой я его включил в список в том, что он позволяет создавать профили, используемые для генерации классов в HAPI. Например, если официальный релиз не поддерживает HL7v2.7, а вам очень нужно его реализовать, то можно клонировать и изменить типы данных и сегменты в MWB, экспортировать профили и использовать их для генерации классов в HAPI.
Данный продукт поддерживался только одним программистом. После того, как он отошёл в мир иной и забрал с собой пароль от зашифрованной части диска, где хранились некоторые исходники (а также учитывая, что он использовал коммерческие библиотеки которые уже недоступны), развитие данного проекта заглохло. Существует портированная на Embarcadero CodeGear версия с неизвестной функциональностью. Если у кого-то есть лицензия на Enterprise версию CodeGear, а также время и желание потратить на возрождение данного продукта, то обращаться прямо по адресу – sourceforge.net/projects/mwbench
На этом список средств разработки HL7v2 и закончу. Если есть что добавить, то в комментариях, придерживаясь критериев обозначенных выше.
HL7v3 Software Development Frameworks
“Everest Framework is designed to ease the creation, formatting, and transmission of HL7v3 structures with remote systems.”
Одна из особенностей Everest Framework в том, что он, пожалуй, одно из немногих средств разработки поддерживающее Model Interchange Format (MIF) файлы и, возможно, единственное, поддерживающее MIF2. Если вы не знаете, что такое MIF и чем он отличается от XML схемы, то, по мнению Grahame Grieve: "No human should ever see MIF, except for programmers, and those aren't human anyway".
Фреймворк доступен — te.marc-hi.ca
Дальше несколько средств без перевода описания. Надеюсь всё и так понятно, а Java CAPS многие, вероятно, использовали.
“The Open eHealth Integration Platform (IPF) is an extension of the Apache Camel routing and mediation engine. It has an application programming layer based on the Groovy programming language and comes with comprehensive support for message processing and connecting systems in the eHealth domain. IPF provides domain-specific languages (DSLs) for implementing Enterprise Integration Patterns in general-purpose as well as HL7-specific integration solutions.”
www.openehealth.org
“Tools for creating, editing, and viewing HL7 v3 message instances in both a hierarchical design view and a source view. The Eclipse OHF project was retired after community interest was diverted to The Open Health Tools project.”
wiki.eclipse.org/OHF_H3ET
“The Oracle Java CAPS Adapter for TCP/IP HL7 is a component of the Oracle Java Composite Application Suite (Java CAPS) that enables the Java CAPS ESB system to exchange data with an external TCP/IP application using the HL7 data protocol.”
С данным средством разработки творится какая-то чехорда, так что будет ли он жить, не понятно.
docs.oracle.com/cd/E21454_01/index.html
“Infoway Message Builder allows developers to focus on the business challenges of integrating their solutions with each electronic health record implementation by abstracting the differences between different versions of pan-Canadian HL7 messaging and supporting current implementation constraints. Developers can build interfaces in a familiar development environment, using the programming language of their choice, while the Message Builder API fosters quick and easy creation, population and access to HL7v3 requests and responses.”
Данное и все последующие средства от Infoway включены скорее для общего знания, чем для реальной работы. Их использование имеет смысл для реализации локализованных, причём отличных для каждой провинции, версий HL7v3 в Канаде. Хотя глянуть как это выглядит имеет смысл.
infocentral.infoway-inforoute.ca/3_Tools_and_solutions
“Infoway Message ReMixer is a web-based application that allows for the localization of pan-Canadian Standards (pCS) messages to meet jurisdictional requirements, all while maintaining the integrity of the original, standard message.”
infocentral.infoway-inforoute.ca/3_Tools_and_solutions/Message_ReMixer
HL7 Interface Engines
В этом разделе представлено только одно средство – Mirth Connect – отвечающее приведённым выше критериям.
“Mirth Connect is the Swiss Army knife of healthcare integration engines, specifically designed for HL7 message integration. It provides the necessary tools for developing, testing, deploying, and monitoring interfaces. And because it’s open source, you get all of the advantages of a large community of users with commercial quality support.”
www.mirthcorp.com
HL7v3 Message Validation Tools
В данном разделе средства валидации HL7v3 сообщений.
“Intelliware's Test Level 7 (TL7) is the authoritative healthcare interoperability testing platform. The tool quickly validates HL7 v3 messages for compliance with Canada Health Infoway (CHI) sponsored format standards. Developers and message modelers of HL7v3 e-health systems can cut and paste their own Client Registry, Provider Registry, and CeRx messages into the tool and get immediate feedback on message validity and conformance with public CHI standards.”
Опять же, это канадское средство для валидации локальных версий некоторых типов HL7v3 сообщений. Для ознакомления, тем не менее, подойдёт.
tl7.intelliware.ca/validateMessage.faces
“The HL7 Test Harness system is an HL7 v3 message conformance testing application that also provides the ability to simulate the message processing actions of a client and/or server system. The app provides message workflow, format and content testing.”
Если честно, ни когда не использовал, поэтому не могу сказать в каком состоянии это средство.
sourceforge.net/projects/hl7-testharness
CDA Development Frameworks
Средства разработки CDA. Начать, да и закончить, можно на MDHT которое есть стандарт де-факто в этой области.
“Open Health Tools Model-Driven Health Tools (MDHT) Project is a wide-ranging open source effort to promote interoperability in healthcare infrastructure.”
www.projects.openhealthtools.org/sf/projects/mdht
“The Eclipse Instance editor can be used to both edit, as well as validate, CDA instances. The validation process is based on the MIF of the CDA R-MIM as well as additional CDA specific constraints.”
hl7book.net/index.php?title=Eclipse_Instance_Editor
CDA Documents Validation Tools
Средства валидации CDA и некоторых производных шаблонов документов.
“The testing tools are designed to be used by HIT developers and implementers during the development of software that implements CDA/CCD-based specifications. These tools can be used for self-testing to determine if an XML instance document is correct with respect to the specifications.”
xreg2.nist.gov/cda-validation/index.html
Пожалуй, на этом список и закончу. Кто желает, может посетить страницу посвященную прочим средствам — www.hl7.org/participate/toolsandresources.cfm
Добавление: сравнение средств разработки CDA — wiki.hl7.org/index.php?title=CDA_Implementation_Tools
И так, по порядку с очень кратким описанием.
HL7v2 Software Development Frameworks
- HAPI (Java)
«HAPI (HL7 application programming interface) is an open-source, object-oriented HL7 2.x parser for Java». Данный набор библиотек можно считать стандартом де-факто для разработки HL7v2 приложений на Java. HAPI может быть расширен генерацией своих профилей HL7. Доступен по адресу – hl7api.sourceforge.net
- Messaging Workbench (MWB)
"MWB is a multipurpose productivity software for Health Level Seven (HL7) V2.x implementers. It facilitates the rapid development of specifications and reports."
MWB не являются средством разработки в чистом виде. Это скорее редактор моделей сообщений HL7 и средство валидации HL7v2 сообщений с помощью этих моделей.
Причина, по которой я его включил в список в том, что он позволяет создавать профили, используемые для генерации классов в HAPI. Например, если официальный релиз не поддерживает HL7v2.7, а вам очень нужно его реализовать, то можно клонировать и изменить типы данных и сегменты в MWB, экспортировать профили и использовать их для генерации классов в HAPI.
Данный продукт поддерживался только одним программистом. После того, как он отошёл в мир иной и забрал с собой пароль от зашифрованной части диска, где хранились некоторые исходники (а также учитывая, что он использовал коммерческие библиотеки которые уже недоступны), развитие данного проекта заглохло. Существует портированная на Embarcadero CodeGear версия с неизвестной функциональностью. Если у кого-то есть лицензия на Enterprise версию CodeGear, а также время и желание потратить на возрождение данного продукта, то обращаться прямо по адресу – sourceforge.net/projects/mwbench
На этом список средств разработки HL7v2 и закончу. Если есть что добавить, то в комментариях, придерживаясь критериев обозначенных выше.
HL7v3 Software Development Frameworks
- MARC-HI Everest Framework (Java, .NET, .NET CF)
“Everest Framework is designed to ease the creation, formatting, and transmission of HL7v3 structures with remote systems.”
Одна из особенностей Everest Framework в том, что он, пожалуй, одно из немногих средств разработки поддерживающее Model Interchange Format (MIF) файлы и, возможно, единственное, поддерживающее MIF2. Если вы не знаете, что такое MIF и чем он отличается от XML схемы, то, по мнению Grahame Grieve: "No human should ever see MIF, except for programmers, and those aren't human anyway".
Фреймворк доступен — te.marc-hi.ca
Дальше несколько средств без перевода описания. Надеюсь всё и так понятно, а Java CAPS многие, вероятно, использовали.
- Open eHealth Integration Platform (Java)
“The Open eHealth Integration Platform (IPF) is an extension of the Apache Camel routing and mediation engine. It has an application programming layer based on the Groovy programming language and comes with comprehensive support for message processing and connecting systems in the eHealth domain. IPF provides domain-specific languages (DSLs) for implementing Enterprise Integration Patterns in general-purpose as well as HL7-specific integration solutions.”
www.openehealth.org
- Eclipse OHF HL7 v3 Tooling (Eclipse OHF H3ET) project (Java)
“Tools for creating, editing, and viewing HL7 v3 message instances in both a hierarchical design view and a source view. The Eclipse OHF project was retired after community interest was diverted to The Open Health Tools project.”
wiki.eclipse.org/OHF_H3ET
- Java CAPS Adapter for HL7 (Java)
“The Oracle Java CAPS Adapter for TCP/IP HL7 is a component of the Oracle Java Composite Application Suite (Java CAPS) that enables the Java CAPS ESB system to exchange data with an external TCP/IP application using the HL7 data protocol.”
С данным средством разработки творится какая-то чехорда, так что будет ли он жить, не понятно.
docs.oracle.com/cd/E21454_01/index.html
- Infoway Message Builder (Java, .NET)
“Infoway Message Builder allows developers to focus on the business challenges of integrating their solutions with each electronic health record implementation by abstracting the differences between different versions of pan-Canadian HL7 messaging and supporting current implementation constraints. Developers can build interfaces in a familiar development environment, using the programming language of their choice, while the Message Builder API fosters quick and easy creation, population and access to HL7v3 requests and responses.”
Данное и все последующие средства от Infoway включены скорее для общего знания, чем для реальной работы. Их использование имеет смысл для реализации локализованных, причём отличных для каждой провинции, версий HL7v3 в Канаде. Хотя глянуть как это выглядит имеет смысл.
infocentral.infoway-inforoute.ca/3_Tools_and_solutions
- Infoway Message Remixer (web-based)
“Infoway Message ReMixer is a web-based application that allows for the localization of pan-Canadian Standards (pCS) messages to meet jurisdictional requirements, all while maintaining the integrity of the original, standard message.”
infocentral.infoway-inforoute.ca/3_Tools_and_solutions/Message_ReMixer
HL7 Interface Engines
В этом разделе представлено только одно средство – Mirth Connect – отвечающее приведённым выше критериям.
- Mirth Connect (JavaScript, Java)
“Mirth Connect is the Swiss Army knife of healthcare integration engines, specifically designed for HL7 message integration. It provides the necessary tools for developing, testing, deploying, and monitoring interfaces. And because it’s open source, you get all of the advantages of a large community of users with commercial quality support.”
www.mirthcorp.com
HL7v3 Message Validation Tools
В данном разделе средства валидации HL7v3 сообщений.
- TestLevel 7 (web-based, 30 days trial)
“Intelliware's Test Level 7 (TL7) is the authoritative healthcare interoperability testing platform. The tool quickly validates HL7 v3 messages for compliance with Canada Health Infoway (CHI) sponsored format standards. Developers and message modelers of HL7v3 e-health systems can cut and paste their own Client Registry, Provider Registry, and CeRx messages into the tool and get immediate feedback on message validity and conformance with public CHI standards.”
Опять же, это канадское средство для валидации локальных версий некоторых типов HL7v3 сообщений. Для ознакомления, тем не менее, подойдёт.
tl7.intelliware.ca/validateMessage.faces
- HL7v3 Test Harness (.NET)
“The HL7 Test Harness system is an HL7 v3 message conformance testing application that also provides the ability to simulate the message processing actions of a client and/or server system. The app provides message workflow, format and content testing.”
Если честно, ни когда не использовал, поэтому не могу сказать в каком состоянии это средство.
sourceforge.net/projects/hl7-testharness
CDA Development Frameworks
Средства разработки CDA. Начать, да и закончить, можно на MDHT которое есть стандарт де-факто в этой области.
- Model-Driven Health Tools (Java)
“Open Health Tools Model-Driven Health Tools (MDHT) Project is a wide-ranging open source effort to promote interoperability in healthcare infrastructure.”
www.projects.openhealthtools.org/sf/projects/mdht
- Eclipse CDA Instance Editor (Java)
“The Eclipse Instance editor can be used to both edit, as well as validate, CDA instances. The validation process is based on the MIF of the CDA R-MIM as well as additional CDA specific constraints.”
hl7book.net/index.php?title=Eclipse_Instance_Editor
CDA Documents Validation Tools
Средства валидации CDA и некоторых производных шаблонов документов.
- CDA Guideline Validation (web-based)
“The testing tools are designed to be used by HIT developers and implementers during the development of software that implements CDA/CCD-based specifications. These tools can be used for self-testing to determine if an XML instance document is correct with respect to the specifications.”
xreg2.nist.gov/cda-validation/index.html
Пожалуй, на этом список и закончу. Кто желает, может посетить страницу посвященную прочим средствам — www.hl7.org/participate/toolsandresources.cfm
Добавление: сравнение средств разработки CDA — wiki.hl7.org/index.php?title=CDA_Implementation_Tools