Salta la navigazione

Soluzioni informatiche e applicazioni HL7 per il settore medicale

Torna all'homepage    Stampa la pagina    Contatti



Schema operativo
     Figura 13: Schema operativo

Hydra: componenti

Vediamo ora in pratica la facilità con cui Hydra può risolvere tutti i problemi di interventi sul codice lato applicazione (eventi , costruzione e interpretazione dei messaggi, gestione messaggi di risposta, connessione) e di implementazione adapter. Essenzialmente Hydra è composto da tre moduli software lato server: Oltre ad una serie di tools di configurazione e di gestione : Figura 13: Schema operativo

Primo esempio: Integrazione standard (G-H)

Dallo schema operativo si vede come l´applicazione RIS sia in grado di scambiare messaggi HL7 mediante due metodi. Mediante il primo criterio (G) l´applicazione è in grado di inviare e ricevere messaggi XML tramite uno dei canali standard di comunicazione (H) di Hydra.

Con questo tipo di integrazione l´applicazione deve essere sostanzialmente modificata per aggiungere tre componenti fondamentali.

Il primo componente serve per comporre le stringhe XML corrispondenti ai messaggi HL7 da inviare, il secondo serve per l´invio delle stringhe XML o su file system come file o come stringhe attraverso un socket tcp/ip o come valore campo attraverso una tabella o vista di database.

Sullo stesso canale lo stesso componente deve o con tecniche di polling ( database ) o di evento ( canale tcp/ip e file system ) , essere in grado di ricevere i messaggi di risposta ( ack/nack ) oltre che i normali messaggi di richiesta.

Il terzo componente deve occuparsi della interpretazione dei messaggi ricevuti siano essi di risposta ( ack/nack ) ai nostri messaggi , che messaggi richiesta da altre applicazioni e intraprendere le azioni opportune.

Questo tipo di integrazione che solo apparentemente Ť simile a quanto offerto finora dalle altre soluzioni general purpose, si discosta principalmente in un punto, non ci sono adapter. Hydra si spinge più in là e offre una metodologia di integrazione molto più semplice e svincolata ancora di più dalla applicazione.

Secondo esempio: integrazione avanzata (B-F-A). Invio messaggi HL7

Il metodo è identificato nello schema operativo con (B). Questo metodo (B) si occupa di verificare sul database della applicazione (polling) quando vi sono eventi di invio messaggio (F) (ad ogni evento corrisponde un messaggio HL7, per esempio al salvataggio referto corrisponde il messaggio di nuovo referto, all´aggiornamento dello stato dell´esame, eseguito o altro, corrisponde il messaggio di aggiorna stato).

Questi eventi vengono generati automaticamente dalla applicazione nel momento in cui avviene l´aggiornamento di una opportuna tabella (Update, Insert, Delete ). È possibile associare all´aggiornamento di un record ( insert - inserimento di un nuovo referto nella tabella referti ) o alla cancellazione ( delete - referto annullato ) o all´aggiornamento ( update - referto modificato) l´invio di un opportuno messaggio ( messaggio di referto disponibile, di referto cancellato o di referto modificato ).

È anche consentito associare più messaggi allo stesso evento, per esempio a seguito di un evento di insert nella tabella referti di un nuovo referto, Hydra può inviare un messaggio HL7 di cambio stato e un messaggio di referto disponibile.

Ovviamente non vi è limite a tabelle ed eventi che Hydra può monitorare. Con questo tipo di integrazione non è necessario intervenire nel codice applicazione se non in casi particolari ove sia necessario attivare gli eventi di invio utilizzando eventi non previsti dalla applicazione.

Per esempio supponiamo che non si vuole inviare il referto al momento del salvataggio ma in un momento successivo ( solo dopo la firma ), in questo caso se non è disponibile un evento automatico ( update - aggiornamento dello stato del referto a firmato ) è sufficiente scrivere un record dummy in una tabella di appoggio e usare quest´ultima come tabella-evento per scatenare l´invio del messaggio HL7 associato.

In ogni caso le modifiche sono sostanzialmente a livello di stored-procedure se previste o di codice per gestire i record dummy in tabelle di appoggio diverse da quelle standard della applicazione. L´integrazione si basa quindi sugli eventi che sono già disponibili nel database della applicazione.

Alla attivazione di ogni evento quindi Hydra legge i valori direttamente dalle tabelle del database della applicazione e li inserisce nei campi del messaggio HL7 che verrà generato. Grazie ad una interfaccia grafica amichevole il processo di associazione campo messaggio HL7 campo tabella è drammaticamente semplice.

Non vi sono limiti a tabelle e relazioni che possono essere utilizzate per la costruzione di messaggi HL7. Infine il messaggio HL7 è pronto per essere inviato tramite il canale di connessione (A) verso le code di ICAN e inoltrato quindi alla applicazione destinataria.

Ovviamente per l´invio è possibile utilizzare uno dei canali (H) standard offerti da Hydra e inoltrare il messaggio a qualsiasi altra applicazione senza dover utilizzare un middleware "esterno".

Se non fosse possibile inviare il messaggio alla applicazione destinataria per esempio per indisponibilità delle code di ICAN, o altro, lo stato del messaggio viene lasciato a "da inviare". Se il messaggio generato non è corretto secondo lo standard HL7 ( caratteri non permessi , ecc ) , lo stato viene aggiornato a "invio non possibile", infine in caso di invio positivo lo stato viene aggiornato a "inviato".

Tutte queste situazioni vengono registrare sui log della applicazione e possono essere interrogate in ogni momento dal programma di monitor.
W3C Standard