Scambio di messaggi
| Passo |
Processo |
Note |
| Passo 1 |
L'applicazione inviante individua un evento locale da associare ad un evento trigger HL7 |
Esempio: durante l'aggiornamento nel database dei dati anagrafici del paziente |
| Passo 2 |
Prima possibilità: l'applicazione compila i tag di una stringa XML di appoggio con i dati da inviare |
La struttura della stringa XML di esempio viene creata in automatico dal Wizard in funzione del messaggio HL7 scelto |
| Passo 3 standard |
L'applicazione invia la stringa ad un canale di comunicazione standard di Hydra che si occupa dell'inoltro |
I metodi di comunicazione sono: database, file system, TCP/IP, ICAN |
| Passo 3 avanzato |
In alternativa un trigger attiva in Hydra il recupero dei dati direttamente dalle tabelle del database della applicazione. |
Una funzione del Wizard vi permette di mappare i campi del database della applicazione con i campi del messaggio HL7 |
| Passo 4 |
Hydra recupera o dal canale standard la stringa XML che contiene i dati o direttamente dalle tabelle della applicazione e genera il corrispondente messaggio HL7. |
La stringa XML di appoggio è composta da semplici tag descrittivi associati ai campi implementati del corrispondente messaggio HL7 |
| Passo 5 |
Il messaggio viene inviato alla applicazione destinataria con uno dei canali standard di comunicazione |
Database, file system, TCP/IP, ICAN |
| Passo 6 |
L'applicazione ricevente riceve il messaggio principale sul canale di comunicazione scelto e lo processa |
Elabora il messaggio di risposta in funzione della modalità di ACK scelta |
| Passo 7 |
L'applicazione ricevente spedisce il messaggio di risposta sul canale di comunicazione impostato |
Nel messaggio di risposta è contenuto il riferimento al messaggio principale |
| Passo 8 |
Hydra riceve il messaggio di risposta e lo processa aggiornando lo stato del messaggio inviato, con esito positivo o con errore |
L'aggiornamento dello stato permette di controllare il successo della trasmissione dei messaggi |
| Passo 9 |
Con lo stato di "richiesta rimando" a seguito di un "AR", Hydra rispedisce il messaggio |
N° tentativi configurabili |

Nota: la soluzione standard prevede che l'applicazione "mittente" generi un documento, un file, un record in una tabella, ecc., in cui vi siano tutti i dati necessari per comporre un messaggio HL7 valido.

Il messaggio XML può essere inviato dalla vostra applicazione al motore Hydra con uno dei metodi di comunicazione previsti.
A questa struttura XML, Hydra associa un messaggio HL7 identificato con il tag di primo livello "<Invia_anagrafica>".
In questo modo ad una struttura HL7 possono corrispondere n° strutture XML ed è così possibile risolvere il problema delle diverse implementazioni di uno stesso messaggio da differenti fornitori.
Ad ogni tag corrisponde un elemento nella struttura del messaggio HL7, ad esempio al tag "<cognome>" corrisponde l'elemento "Family Name", che è un componente della struttura dati "XPN" del segmento "PID".
È evidente la facilità con cui è possibile abilitare le proprie applicazioni ad inviare messaggi HL7 utilizzando stringhe XML, senza doversi addentrare nei particolari dell'HL7 ma lasciando ad Hydra il compito di comporre un messaggio HL7 corretto.
Un tag senza valore (non inizializzato) viene gestito da Hydra diversamente rispetto ad un tag inizializzato con un apice aperto e chiuso. Secondo le regole dello standard, nel primo caso l'elemento corrispondente nel messaggio HL7 viene omesso, nel secondo caso l'elemento invece viene considerato con il valore nullo (apice aperto seguito da un apice chiuso).
Soluzione avanzata
Hydra, in alternativa, mette a disposizione uno strumento avanzato (mappatura database) che permette di estrarre i dati direttamente dal database della applicazione mittente a seguito di un evento trigger senza nessuna modifica nel codice della applicazione.