Difference between revisions of "HL7"

From GreenVulcano Wiki
Jump to: navigation, search
(Created page with "<p><span style="font-size: 10pt;"><span style="font-family: verdana,geneva;"> Lo standard HL7 descrive le interfacce tra applicazioni e le definizioni dei dati da scambiare in te...")
 
 
(38 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<p><span style="font-size: 10pt;"><span style="font-family: verdana,geneva;">
+
==Overview==
Lo standard HL7 descrive le interfacce tra applicazioni e le definizioni dei dati da scambiare in termini di messaggi e documenti, quindi:
+
[http://www.hl7.org/ HL7] is a standard for the exchange, integration, sharing and retrieval of electronic health information. The standard defines how information is packaged and communicated from one party to another, setting the language, structure and data types required for seamless integration between systems. HL7 standards support clinical practice and the management, delivery, and evaluation of health services, and are recognized as the most commonly used in the world.
<ul>
 
  <li style="margin-left:35pt;"><span style="font-size: 10pt;"><span style="font-family: verdana,geneva;">nasce per scambiare informazioni relative ad un paziente</span></span></li>
 
<li style="margin-left:35pt;"><span style="font-size: 10pt;"><span style="font-family: verdana,geneva;">standardizza l’intero complesso di un sistema sanitario a livello di scambio di dati clinici</span></span></li>
 
<li style="margin-left:35pt;"><span style="font-size: 10pt;"><span style="font-family: verdana,geneva;">fornisce interfacce che permettono il flusso di dati fra sistemi diversi</span></span></li>
 
<li style="margin-left:35pt;"><span style="font-size: 10pt;"><span style="font-family: verdana,geneva;">rende quindi le varie “entità” del mondo sanitario interoperabili</span></span></li>
 
    </ul>
 
</span></span></p>
 
  
<p><span style="font-size: 10pt;"><span style="font-family: verdana,geneva;">La struttura di un messaggio HL7 è composta da segmenti posti in un preciso ordine. Ogni messaggio è costituito da un certo numero di segmenti (obbligatori e non) diversi tra loro che, combinati formano un determinato tipo di messaggio. Un segmento specifico, identificato da un codice e da un numero di sequenza, rappresenta un raggruppamento logico di campi di dati, e può comparire una e una sola volta all’interno di un certo messaggio.</span></span></p>
+
* Created to exchange information related to patients
<p><span style="font-size: 10pt;"><span style="font-family: verdana,geneva;">Il connettore HL7 permette di realizzare connessioni inbound e outbound secondo il protocollo Hl7 nelle version 2.x. L'utilizzo del connettore unito alle peculiarità del Virtual middleware di GreenVulcano ESB permette di gestire applicazioni Hl7 in maniera semplice e efficiente separando la logica di implementazione del processo da quella tecnologica di gestione dei messaggi nei vari formati Hl7. In pratica il connettore permette di virtualizzare le operazioni in input o in output verso un'applicazione Hl7 rendendo disponibili al layer di definizione del processo di integrazione dei semplici servizi con delle interfacce che nascondono tutti i dettagli tecnici relativi alla messaggistica Hl7. Il connettore consente di definire la modalità di scambio dei messaggi trasformando con un operazione di mapping i messaggi HL7 in messaggi XML secondo uno schema qualsiasi. La realizzazione del flusso di integrazione quindi, comporterà l'utilizzo di interfacce verso i sistemi Hl7 secondo una struttura dati vicina al modello di business che si sta utilizzando e comunque definita dall'utente.</span></span></p>
+
* Standardizes the health system at clinical data exchange level
<p><span style="font-size: 10pt;"><span style="font-family: verdana,geneva;">
+
* Provides interfaces that allow the data flow through various systems
Il connettore Inbound consente di creare messaggi Hl7 nella versione 2.x inviare messaggi Hl7 a una o più destinazioni
+
* Makes the health interoperability possible
</span></span></p>
 
<p><span style="font-size: 10pt;"><span style="font-family: verdana,geneva;">
 
Il connettore Outbound consente di scegliere che tipo di messaggi accettare e instradare. Possomo essere scelte destinazioni multiple  automaticamente in base alle specifiche dei filtri HL7. </span></span></p>
 
<p><span style="font-size: 10pt;"><span style="font-family: verdana,geneva;">
 
L’interfaccia del DTE di GreenVulcano (Eclipse Based) permette con facilità la creazione dei trasformazioni dati mappatura dei messaggi HL7. La mappatura viene effettuata con dei semplici “Drag and drop”.
 
</span></span></p>
 
==Connettore Hl7 Outbound==
 
Il connettore Hl7 outbound permette di definire una chiamata ad un sistema Hl7 definendo i parametri di connessione e utilizzando poi l’operazione definita all’interno di un flusso di integrazione definito su GreenVulcano ESB attraverso Vulcon ([[Starting Guide Vulcon|Guida introduttiva a Vulcon]]).
 
I passi da eseguire per la definizione di un canale Hl7 sono i seguenti:
 
  
 +
==Message structure==
 +
A HL7 message is composed by segments placed in a specific order. Each message is made up of a certain number of different segments (some are optional) that, combined, form a determined message type. A specific segment, identified by a code and a sequence number, represents a logic group of data fields and can be used only once within a specific message.
  
<span style="font-family: verdana,geneva;">Creazione di un sistema e di un canale Hl7 con la definizone di un operazione hl7-call:</span>
+
==HL7 Connector==
[[Image:ChannelHl7.png|1100px]]
+
The {{GVESB}} HL7 connector enables the inbound and outbound connections using the HL7 protocol in its version 2.x.
<p><span style="font-size: 10pt;"><span style="font-family: verdana,geneva;">
+
The use of the connector joint with the peculiarities of the {{GVESB}} [[Virtual Layer]] allows the management of HL7 applications in a simple and efficient way, separating the logic of the process implementation from the specific management of the messages and their structure, independently from the HL7 standard used.
<ul>
 
    <li style="margin-left:35pt;"><span style="font-size: 10pt;"><span style="font-family: verdana,geneva;">host: nome host o indirizzo IP dove l’applicazione Hl7 e in ascolto di messaggi</span></span></li>
 
<li style="margin-left:35pt;"><span style="font-size: 10pt;"><span style="font-family: verdana,geneva;">name: nome dell’operazione del Virtual Layer</span></span></li>
 
<li style="margin-left:35pt;"><span style="font-size: 10pt;"><span style="font-family: verdana,geneva;">port: porta IP dove l’applicazione Hl7 e in ascolto di messaggi</span></span></li>
 
<li style="margin-left:35pt;"><span style="font-size: 10pt;"><span style="font-family: verdana,geneva;">timeout: timeout del canale Hl7</span></span></li>
 
    </ul>
 
  
</span></span></p>
+
Basically the connector allows the virtualization of the input/output operations to a HL7 application, making available to the service definition process the interfaces able to hide all the technical details related to HL7 standard. It is possible to define the message exchange mode transforming with a mapping operation the HL7 messages in XML messages, using any schema. The composition of the integration flow will comprise a data structure close to the business model that user is adopting or anyway a user defined data structure.
<ul>
 
<span style="font-family: verdana,geneva;">Definizione del un servizio per l’invocazione del canale Hl7 definito:</span>
 
[[Image:servizioHl7.png|1100px]]
 
<p><span style="font-size: 10pt;"><span style="font-family: verdana,geneva;">
 
Il servizio così definito può essere richiamato utilizzando una qualsiasi modalità prevista da GreenVulcano ESB: web-services, http, tcp-ip etc.
 
Il connettore Hl7 gestisce i messaggi Hl7 trasformandoli in messaggi xml. Per il mapping da un generico messaggio ad un messaggio Hl7 è possibile definire una mappa di trasformazione attraverso il [[ManualeDataTransformation|Data Transformation]] di Vulcon. Per la creazione della mappa accedere alla configurazione della mappa avendo preventivamente definito gli schemi xsd che definiscono il formato del messaggio di input (preveniente da qualsiasi sorgente dati) e il formato HL7 di utput:
 
</span></span></p>
 
[[Image:TrasfHl7.png]]
 
  
[[Image:mapping.png|1100px]]
+
The Inbound HL7 Connector allows the HL7 message creation (in the version 2.x) to be sent to one or more destinations; the Outbound HL7 Connector allows to choose what message type to accept and route. Multiple destinations can be chosen automatically basing on the HL7 filters specifications.
  
 +
{{GVESB}} [[XML Data mapper | Data transformation]] feature allows fast creation of data transformation and mapping of the HL7 messages. The data mapping is made through simple "Drag and Drop" operations.
  
==Connettore Hl7 Inbound==
+
==Outbound HL7 connector==
<p><span style="font-size: 10pt;"><span style="font-family: verdana,geneva;">Il connettore Hl7 oubound permette di definire un listner in ascolto di un messaggio Hl7 associando la ricesione del messaggio ad un servizio definito sulla piattaforma GreenVulcano ESB. Quindi la ricezione del messaggio HL7 può essere inoltrata ad uno o più sistemi che  secondo tutti i protocolli utilizzabili da GreenVulcano ESB: Web-services, JDBC, email, ftp etc. Ad un messaggio ricevuto deve corrispondere un messaggio di risposta per accettazione o rifiuto della transazione. Il connettore permette di cerare un messaggio di risposta senza nessun sforzo applicativo, in quanto mappa automaticamnete l'esito del flusso di integrazione con il messaggio di ACK da inviare all'applicazione chiamante
+
 
</span></span></p>
+
Allows to define a call to a HL7 system defining the connection parameters and using the operation defined in an integration flow on {{GVESB}} through [[VulCon]].
<p><span style="font-size: 10pt;"><span style="font-family: verdana,geneva;">
+
 
I passi da eseguire per la definizione di un canale Hl7 sono i seguenti:
+
These are the easy steps to follow to define a HL7 [[Channel]]:
</span></span></p>
+
 
<p><span style="font-size: 10pt;"><span style="font-family: verdana,geneva;">
+
Creation of a [[System]] and of a [[Channel]] with the definition of a [[Hl7-call]] [[Operation]]
Definizione del filtro da applicare ai messaggi HL7 ricevuti:
+
 
</span></span></p>
+
[[File:1100px-ChannelHl7.png|thumb|center|256px]]
[[Image:ListnerHl7.png|1100px]]
+
 
Associazione messaggio Hl7 con il servizio definito su GreenVulcano ESB:
+
* host: hostname or IP address of the HL7 application waiting for the message
[[Image:ListenerServiceHl7.png|1100px]]
+
* name: [[Virtual Layer]] [[operation]] name
<ol>
+
* port: application HL7 port
 +
* timeout: channel HL7 timeout
 +
 
 +
Definition of a service for the invocation of the defined HL7 [[channel]]:
 +
 
 +
[[File:1100px-ServizioHl7.png|thumb|center|256px]]
 +
 
 +
The service defined in this way can be called in any way allowed by {{GVESB}} i.e. [[Web Services]], http, tcp-ip, etc.  
 +
The HL7 connector manages the messages transforming them into XML messages.
 +
 
 +
For the mapping from a generic message to a HL7 message it is possible to define a transformation map through [[XML Data mapper | VulCon]] tool.  
 +
To create the map, go to map configuration after having defined the xsd schema for the input message (incoming from any data source) and the output HL7 format:
 +
 
 +
[[File:TrasfHl7.png|thumb|center|256px]]
 +
 
 +
[[File:1100px-Mapping.png|thumb|center|256px]]
 +
 
 +
==Inbound HL7 Connector==
 +
The inbound HL7 connector allows the definition of a HL7 message listener, associating the message reception to a {{GVESB}} [[service]].
 +
The received HL7 message can be forwarded to one or more systems using any available {{GVESB}} enabled protocol: [[Web Services]], JDBC, email, ftp, etc. After every message received, a response message must be sent as acknowledge of the transaction (or abort). The connector enables the reply message creation with no applicative effort, mapping automatically the flow result with the ACK message to send back to the caller application.
 +
 
 +
The easy steps to follow to define an HL7 [[GVHL7ListenerManager | Listener]] are the following:
 +
 
 +
Definition of a filter to apply to every received HL7 message:
 +
[[File:1100px-ListnerHl7.png|thumb|center|256px]]
 +
 
 +
Association to a HL7 message to the [[service]] defined on {{GVESB}}:
 +
[[File:1100px-ListenerServiceHl7.png|thumb|center|256px]]

Latest revision as of 08:40, 4 April 2014

Overview

HL7 is a standard for the exchange, integration, sharing and retrieval of electronic health information. The standard defines how information is packaged and communicated from one party to another, setting the language, structure and data types required for seamless integration between systems. HL7 standards support clinical practice and the management, delivery, and evaluation of health services, and are recognized as the most commonly used in the world.

  • Created to exchange information related to patients
  • Standardizes the health system at clinical data exchange level
  • Provides interfaces that allow the data flow through various systems
  • Makes the health interoperability possible

Message structure

A HL7 message is composed by segments placed in a specific order. Each message is made up of a certain number of different segments (some are optional) that, combined, form a determined message type. A specific segment, identified by a code and a sequence number, represents a logic group of data fields and can be used only once within a specific message.

HL7 Connector

The GreenVulcano® ESB HL7 connector enables the inbound and outbound connections using the HL7 protocol in its version 2.x. The use of the connector joint with the peculiarities of the GreenVulcano® ESB Virtual Layer allows the management of HL7 applications in a simple and efficient way, separating the logic of the process implementation from the specific management of the messages and their structure, independently from the HL7 standard used.

Basically the connector allows the virtualization of the input/output operations to a HL7 application, making available to the service definition process the interfaces able to hide all the technical details related to HL7 standard. It is possible to define the message exchange mode transforming with a mapping operation the HL7 messages in XML messages, using any schema. The composition of the integration flow will comprise a data structure close to the business model that user is adopting or anyway a user defined data structure.

The Inbound HL7 Connector allows the HL7 message creation (in the version 2.x) to be sent to one or more destinations; the Outbound HL7 Connector allows to choose what message type to accept and route. Multiple destinations can be chosen automatically basing on the HL7 filters specifications.

GreenVulcano® ESB Data transformation feature allows fast creation of data transformation and mapping of the HL7 messages. The data mapping is made through simple "Drag and Drop" operations.

Outbound HL7 connector

Allows to define a call to a HL7 system defining the connection parameters and using the operation defined in an integration flow on GreenVulcano® ESB through VulCon.

These are the easy steps to follow to define a HL7 Channel:

Creation of a System and of a Channel with the definition of a Hl7-call Operation

1100px-ChannelHl7.png
  • host: hostname or IP address of the HL7 application waiting for the message
  • name: Virtual Layer operation name
  • port: application HL7 port
  • timeout: channel HL7 timeout

Definition of a service for the invocation of the defined HL7 channel:

1100px-ServizioHl7.png

The service defined in this way can be called in any way allowed by GreenVulcano® ESB i.e. Web Services, http, tcp-ip, etc. The HL7 connector manages the messages transforming them into XML messages.

For the mapping from a generic message to a HL7 message it is possible to define a transformation map through VulCon tool. To create the map, go to map configuration after having defined the xsd schema for the input message (incoming from any data source) and the output HL7 format:

TrasfHl7.png
1100px-Mapping.png

Inbound HL7 Connector

The inbound HL7 connector allows the definition of a HL7 message listener, associating the message reception to a GreenVulcano® ESB service. The received HL7 message can be forwarded to one or more systems using any available GreenVulcano® ESB enabled protocol: Web Services, JDBC, email, ftp, etc. After every message received, a response message must be sent as acknowledge of the transaction (or abort). The connector enables the reply message creation with no applicative effort, mapping automatically the flow result with the ACK message to send back to the caller application.

The easy steps to follow to define an HL7 Listener are the following:

Definition of a filter to apply to every received HL7 message:

1100px-ListnerHl7.png

Association to a HL7 message to the service defined on GreenVulcano® ESB:

1100px-ListenerServiceHl7.png