2009-04-22 9 views
25

Ricerca di una biblioteca o di un quadro che avrebbe fornito un modello a oggetti, l'analisi, la convalida, eccHL7 per NET

L'idea sarebbe quella di essere in grado di girare un nuovo oggetto di tipo v2 HL7 o v3 . Allora forse chiamalo tipo di messaggio ORU_R01 o ADT o ORM.

non sarebbe la vita grande se siamo stati in grado di fare qualcosa del genere:

HL7V2 myMessage = new HL7V2(); 
myMessage.Type = V2MsgTypes.ORU_R01; 
myMessage.TryParse(someHL7_string); 

if (myMessage.IsValid) 
{ 
    //do some work 
    //maybe access the PID segment 
    if (myMessage.Patient.Names.FamilyName =="Johnson") 
    { 
    //do more work 
    } 
} 

risposta

28

Volete nHAPI ho usato su un progetto in precedenza, e ha funzionato grande. Il fatto che sia open source ha salvato anche il mio bacon, poiché una delle sorgenti di input non seguiva precisamente le specifiche HL7, quindi ho dovuto modificare un po 'il codice sorgente per fare in modo che il parser di nHAPI consentisse quei messaggi (come non potevo cambiali).

+2

Il problema con nHAPI è che si presuppone che un determinato messaggio di un determinato messaggio per una particolare "versione HL7". La realtà di HL7 è che diversi paesi hanno definizioni diverse di HL7 (ad esempio, i messaggi di RIF australiano sono diversi dagli Stati Uniti) e che all'interno di un paese, i diversi laboratori di patologia avranno il proprio sapore di un messaggio ORU 2.3.1. Alcuni paesi non cambiano nemmeno il numero di versione. nHAPI rende difficile avere definizioni concorrenti. Un approccio migliore forse è l'astrazione dai formati EDI come HL7 e l'uso di XML; XSD e XSLT invece – MickyD

+1

Questo è un argomento valido, anche se forse la risposta migliore è migliorare nHAPI, poiché il punto di nHAPI è di fare la stessa astrazione lontano dal formato EDI e in un modello a oggetti. Si potrebbe anche sostenere che gli implementatori delle varie applicazioni HL7 dovrebbero seguire meglio lo standard, poiché questo è il vero problema di fondo. Dato che ciò non accadrà, migliorando il.L'astrazione NET mi sembra una soluzione migliore rispetto alla creazione di una nuova soluzione. –

+1

Forse. E 'difficile ottenere velocità decente con librerie di codice EDI perché un bugfix o di conformità per qualche messaggio oscura da un laboratorio generalmente significa un cambiamento di codice da qualche parte (copia e incolla una parte di nHAPI per esempio) e spedire una correzione. I sistemi EAI sono un po 'più semplici perché tutto ciò di cui hai bisogno è un nuovo artefatto come un XSLT - qualcosa che l'IT potrebbe anche creare (ad esempio BizTalk che farà il nitty grintoso per te che è piuttosto bello). Ah ... ma sono d'accordo con te anche se e auguro possiamo svegliarsi in un universo in cui strutture in realtà si attaccano agli standard :) – MickyD

0

Orion Helth ha un toolkit chiamato Symphonia che fa qualcosa di simile. C'è anche il set di strumenti Chameleon di Interfaceware che fa lo stesso.

6

Ho usato anche nHAPI e funziona benissimo. Tuttavia potrebbe essere necessario prestare attenzione a qualche comportamento bizzarro che non consente di sfuggire a caratteri speciali. Ho anche dovuto modificare manualmente la stringa HL7 per aggiornare alcuni campi che erano inaccessibili usando il modello a oggetti.

0

Ho appena imbattuto in questo prodotto così:

Managed Code Objects for Visual Studio .Net

Dalla loro pagina web:

Un Visual Studio .Net HL7 libreria di classi DLL progettato per consentire agli sviluppatori di software per fornire HL7 Integrazione HL7 per le loro soluzioni esistenti a basso costo, in modo rapido e affidabile.

+1

_ [La risposta è in un altro castello: quando una risposta non è una risposta?] (Http://meta.stackexchange.com/questions/225.370/il-tuo-risposta-è-in-un-castello-quando-è-una-risposta-non-una-risposta) _. Valuta la possibilità di modificare la risposta per contenere un riepilogo dell'articolo indicato dal link. – MickyD

0

Chris Patterson ha una libreria per HL 7 La manipolazione 2.x chiamata Machete è abbastanza buona. https://github.com/phatboyg/Machete

NHapi è ok ma soffre di scarse prestazioni nella mia esperienza.