Entrades classificades amb: HAPI

HAPI (HL7 application programming interface)

Leer en castellano 

HAPI (HL7 application programming interface) és una API de codi obert per al tractament de missatges HL7 2.X amb Java. El projecte no està afiliat a la organització de HL7 però en compleix les especificacions. Va ser iniciat per la University Health Network.

Les principals funcions de HAPI són les següents:

-Extreure la informació dels camps del missatge d’una manera més senzilla, mitjançant un conjunt de  classes que permeten convertir els missatges HL7 en objectes Java que contindran la informació.

//Es recupera  el missatge com un objecte

hapiMsg = p.parse(msg);

//Es realitza un “downcasting” al tipus de missatge

ADT_A01 adtMsg = (ADT_A01)hapiMsg;

//Es recupera un camp del missatge

PN patientName = adtMsg.getPID().getPatientName();

-Crear missatges HL7 a partir d’ objectes Java del tipus del missatge i assignar els valors desitjats als atributs del objecte que es corresponen amb cadascun dels camps del missatge HL7. Els missatges es poden crear tant en ER7 com en XML.

//Es crea un nou missatge ADT_A01

ADT_A01 adt = new ADT_A01();

//Es recupera el segment PID

PID pid = adt.getPID();

//S’omplen tres camps del segment PID

pid.getPatientName(0).getFamilyName().getSurname().setValue("Doe");

pid.getPatientName(0).getGivenName().setValue("John");

pid.getPatientIdentifierList(0).getID().setValue("123456");

-Rebre missatges, permet crear un servidor que rebi un o diversos tipus de missatges HL7.Cadascun dels tipus de missatges poden  tenir assignat un tractament diferent.

-Enviar missatges a servidors receptors de missatges HL7.

-Validar missatges, quan es realitza la conversió del missatge a un objecte Java es possible dur a terme també una validació del format del missatge per verificar que es compleixen les especificacions establertes per HL7. Per a una validació més avançada es pot validar contra perfils de conformitat que són restriccions l’estàndard HL7.Alhora de realitzar la validació es pot programar manualment per que corregeixi certs errors en els missatges.

-Llegir un o més missatges Hl7 emmagatzemats en un fitxer de text.

Mirth Connect, la plataforma d’integració open source, utilitza la llibreria HAPI com a base per tractar tots els missatges HL7 dins la plataforma. Aquesta API permet tractar molt més fàcilment als missatges alhora de construir-los, com per exemple en el cas dels segments de repetició com els OBX, els quals es poden crear com a objectes mitjançant la API, i assignar-los a diferents parts del missatge.

HAPI TestPanel

HAPI TestPanel és una eina amb interfície gràfica que actualment es troba en fase “alpha”. Permet principalment editar, enviar,rebre i validar missatges HL7.

Aquesta eina permet realitzar altres tasques com creació de perfils de Grup que són conjunts d’un o més perfils de conformitat, creació de taules de validació o comparació semàntica de dos missatges HL7 per tal de validar si el seu contingut és el mateix encara que l’estructura sigui diferent, ja que únicament es compara el contingut dels camps. Es pot veure un exemple a la següent imatge.

HAPI ens proporciona doncs l’accés a missatges HL7 a nivell d’objecte, amb la qual podrem crear tot tipus d’aplicacions per generar missatges, parsejar-los, transformar-los i validar-los sota l’estàndard HL7.

Llegir en català 

HAPI (HL7 application programming interface) es una API de código abierto para el tratamiento de mensajes HL7 2.X con Java. El proyecto no está afiliado a la organización de HL7 pero cumple las especificaciones. Fue iniciado por la University Health Network.

Las principales funciones de HAPI son las siguientes:

-Extraer la información de los campos del mensaje de una manera más sencilla, mediante un conjunto de clases que permiten convertir los mensajes HL7 en objetos Java que contendrán la información.

//Se recupera el mensaje como un objeto

hapiMsg = p.parse(msg);

//Se realiza un “downcasting” al tipo de mensaje

ADT_A01 adtMsg = (ADT_A01)hapiMsg;

//Se obtiene un campo del mensaje

PN patientName = adtMsg.getPID().getPatientName();

-Crear mensajes HL7 a partir de objetos Java del tipo del mensaje y asignar los valores deseados a los atributos del objeto que se corresponden con cada uno de los campos del mensaje HL7. Los mensajes se pueden crear tanto en ER7 como en XML.

//Se crea un nuevo mensaje ADT_A01

ADT_A01 adt = new ADT_A01();

//Se recupera el segmento PID

PID pid = adt.getPID();

//Se rellenan 3 campos del segmento PID

pid.getPatientName(0).getFamilyName().getSurname().setValue("Doe");

pid.getPatientName(0).getGivenName().setValue("John");

pid.getPatientIdentifierList(0).getID().setValue("123456");

-Recibir mensajes, permite crear un servidor que reciba uno o varios tipos de mensajes HL7.Cada uno de los tipos de mensajes pueden tener asignado un tratamiento diferente.

-Enviar mensajes a servidores receptores de mensajes HL7.

-Validar mensajes, cuando se realiza la conversión del mensaje a un objeto Java es posible llevar a cabo también una validación del formato del mensaje para verificar que se cumplen las especificaciones establecidas por HL7. Para una validación más avanzada se puede validar contra perfiles de conformidad que son restricciones del estándar HL7.La validación se puede programar manualmente por que corrija ciertos errores en los mensajes.

Leer uno o más mensajes Hl7 almacenados en un fichero de texto.

Mirth Connect, plataforma de integración open source, utiliza la librería HAPI como base para tratar todos los mensajes HL7 dentro de la plataforma. Esta API permite tratar mucho más fácilmente los mensajes en el momento de construirlos, como por ejemplo en el caso de los segmentos de repetición OBX, los cuales se pueden crear como objetos mediante la API, y asignarlos a diferentes partes del mensaje.

HAPI TestPanel

HAPI TestPanel es una herramienta con interfaz gráfica que actualmente se encuentra en fase “alpha”. Permite principalmente editar, enviar,recibir y validar mensajes HL7.

Esta herramienta permite realizar otras tareas como creación de perfiles de Grupo que son conjuntos de uno o más perfiles de conformidad, creación de tablas de validación o comparación semántica de dos mensajes HL7 para validar si su contenido es el mismo aunque la estructura sea diferente, puesto que únicamente se compara el contenido de los campos. Se puede ver un ejemplo a la siguiente imagen.

HAPI nos proporciona pues el acceso a mensajes HL7 a nivel de objeto, con la cual podremos crear todo tipo de aplicaciones para generar mensajes, parsear-los, transformarlos y validarlos bajo el estandard HL7.