Per iniziare a lavorare con l' Adapter HL7 di Biztalk è necessario conoscere alcune fondamentali aspetti dei messaggi quali la loro struttura e il loro significato.
Questi sono tutti argomenti che tratterò nel mio prossimo articolo, ma per chi si sta avvicinando a questo mondo può essere utile avere quelle essenziali informazioni che possono aiutarti a comprendere meglio il rapporto che esiste tra HL7 e Biztalk Server.
Come sapete esistono tante tipologie di messaggio, ADT, ORM, ACK, ADR e sono tutti composti da segmenti e campi.
Di seguito i segmenti più importanti che sono MSH, EVN e MSA per l’ acknowledgment.
Segmento MSH:
MSH.1 - Field separator, è il carattere separatore, il valore di default è |
MSH.2 - Encoding characters, caratteri di encoding, i valori di default sono ^~\&
MSA.3 - Sending application, l’adapter biztalk utilizza questo campo per identificare il party di appartenenza.
MSH.4 - Sending facility, versione della porta delegata a inviare il messaggio, questo campo è facoltativo.
MSH.9 - Message type, è composto da tre parti:
tipo del messaggio, esempio ACK per acknowledgment , ADT, ORM e cosi via.
trigger event (ID), tipo di evento, esempio A01 per Admit/visit notification, A31 Update person information.
message structure che identifica la struttura del messaggio.
MSH.10 - Message control ID
E’ il codice di identificazione del messaggio, in caso di acknowledgment il sistema ricevente deve ritrasmettere questo identificativo nel segmento MSA.
Il campo MSH.10 è il punto di riferimento per possibili correlazioni con Biztalk.
MSH.11 - Processing ID
ID di processo composto da processing ID il cui valore di default è P e processing mode, sempre nullo.
MSH.12 - Version ID, è composta da tre elementi, version ID, internationalization code
E Internal version ID, solitamente viene utilizzato solo il primo che nel caso di Biztalk Server assumerà il valore 2.3.1
Abbiamo altri campi di minore importanza quali MSH.13 Sequence Number e MSH.14 Continuation Pointer
Importantissimi sono invece i campi:
MSH.15 Accept Acknowledgment Type
MSH.16 Application Acknowledgment Type
Occore impostarli per il tipo di acknowledgment che si intende ottenere da parte del sistema ricevente.
Segmento EVN:
EVN.1 - Event Type Code, codice tipo di evento, esempio A01 ADT/ACK – notifica di ammissione o visita paziente, A04 ADT/ACK – Registrazione di un paziente.
EVN.2 - Recorded date/time ,data e ora della transazione effettuata
ENV.4 - Event reason code, è un campo che viene valorizzato se facente parte di un messaggio di tipo ADT^A08 ed in tal caso viene impostato con l’ identificativo del tipo di aggiornamento, esempio AGG per Aggiornamento anagrafica assistito, SNM Scelta nuovo medico, RV2 Revoca medico per decesso assistito.
Segmento MSA, è il segmento inviato da un messaggio di acknowledgment ed è così composto:
MSA.1 - Acknowledgment code
Codice di acknowledgment, AA per Application Accept, AE per Application Error ecc.
MSA.2 - Message control ID
E’ il message control ID inviato dal mittente.
MSA.6 - Error condition
Viene inserito il codice di errore e relative descrizione