Artículo
· 28 mar, 2025 Lectura de 5 min

Guía de diseño y desarrollo de la interfaz QueryResponse basada en API REST en HealthConnect

Contexto:

Esta guía proporciona una visión general de cómo diseñar e implementar una interfaz API REST para consultar los datos demográficos de un paciente desde un sistema de Registro Electrónico de Pacientes (EPR) utilizando HealthConnect. El proceso implica enviar una solicitud de consulta con el número de identificación del paciente, recuperar la respuesta del sistema EPR, extraer los datos demográficos requeridos del mensaje HL7 y enviarlos como una respuesta JSON al proveedor. El diagrama del proceso de alto nivel se muestra a continuación (Captura de pantalla 1).

Nota: Podéis modificar o agregar código y otras características según vuestros requisitos. Esto es solo una guía básica que he creado para soluciones rápidas.

Captura de pantalla 1: Un diagrama de proceso de mensajes de alto nivel.

La guía paso a paso se proporciona a continuación:

  1. Configurar el Portal de Gestión de HealthConnect (MP) – Configuración de Producción (PC).  
  2. Código personalizado  
  3. Pruebas usando Postman

Paso 1: Configurad la aplicación web

Configuración del servicio REST en el Portal de Gestión de HealthConnect.

  1. Id a Administración del Sistema → Seguridad → Aplicación → Aplicación Web.  
  2. Haced clic en "Crear Nueva Aplicación Web".  
  3. Introducid el nombre de la aplicación.  
  4. Proporcionad una descripción (opcional).  
  5. Para el Namespace, seleccionad el namespace apropiado.  
  6. Haced clic en REST (para habilitar).  
  7. Introducid la clase de Dispatch.  
  8. Seleccionad "No autenticado" (más adelante explicaré cómo configurar una contraseña).  
  9. Y haced clic en "Guardar". Véase la captura de pantalla 2 a continuación (ejemplo):

 

Captura de pantalla 2: Aplicación web y configuración de REST

Paso 2: Cread las clases requeridas

A. Cread la clase - GetRequestDatasets

  • Abrid Cache Studio y seleccionad el namespace apropiado (donde lo configuraste).  
  • Cread una nueva clase haciendo clic en Archivo → Nuevo → General → Definición de Clase → Aceptar.  
  • Introducid el nombre del paquete y el nombre de la clase "GetRequestDatasets". Véase en la captura de pantalla 3 a continuación:  

Captura de pantalla 3: Código para GetRequestDatasets

 

B. Cread la clase ResponseDatasets

Nota: Podéis añadir o eliminar propiedades según vuestros requisitos.

  • El nombre de la clase es "SetResponseDatasets", luego escribid el siguiente código y compiladlo. (Véase la captura de pantalla 4 a continuación.)  

Captura de pantalla 4: Código para SetResponseDatasets

 

C. Cread el proceso de negocio 

  • Nombrad el proceso de negocio "QueryRequestResponse", luego escribid el siguiente código y compiladlo. (Véase la captura de pantalla 5 a continuación.)

Captura de pantalla 5: Código para el proceso de negocio - QueryRequestResponse

Continúa..

Nota: "404 Not Found" es solo un mensaje de visualización, pero podéis configurarlo de manera diferente

D. Cread los servicios de negocio

  • Nombrad el servicio de negocio "GetRequest", luego escribid el siguiente código y compiladlo. (Véase la captura de pantalla 6 a continuación.)  

Captura de pantalla 6: Código para el servicio de negocio - QueryRequestResponse

 

E. Cread el gestor REST

  • Nombrad el gestor REST "RestHandler", luego escribid el siguiente código y compiladlo. (Véase la captura de pantalla 7 a continuación.)

Captura de pantalla 7: Código para RestHandler

En el Studio, el diseño final debería ser como se muestra en la captura de pantalla 8 a continuación:

Captura de pantalla 8: Diseño del Studio de la API Restful

Paso 3: Configurad el portal de gestión: Configuración de producción

Dad los nombres (servicios, procesos, operaciones) según vuestros requisitos.

  • Servicios: Seleccionad la clase apropiada → ...RESTfulAPI.SERVICES.GetRequest  
  • Procesos: Seleccionad la clase apropiada → ...RESTfulAPI.PROCESS.QueryRequestResponse  
  • Operaciones: Seleccionad EnsLib.HL7.Operation.TCPOperation (para el sistema EPR)  

Nota: Id a la configuración del servicio y seleccionad el nombre del proceso desde la lista desplegable que habéis definido. Véase la captura de pantalla 9 a continuación.

Captura de pantalla 9: Vista de configuración de producción en el portal de gestión.

 

Finalmente, hemos configurado todo. Ahora, probad o evaluad la interfaz.

Paso 4: prueba y evaluación

Estoy utilizando POSTMAN, así que descargad e instalad POSTMAN si aún no lo tenéis.

Caso de prueba 1: Solicitud con un número de MRN de paciente válido usando POSTMAN (GET → https://......restapi/Patient?MRN=51080

Captura de pantalla 10: Resultado del Caso de prueba 1.

Caso de prueba 2: Solicitud con un número de MRN de paciente válido usando POSTMAN (de manera diferente) https://......restapi/510800

Captura de pantalla 11: Resultado del Caso de prueba 2.

Caso de prueba 3: Solicitud con un número de MRN de paciente inválido usando POSTMAN

Captura de pantalla 12: Resultado del Caso de prueba 3.

 

Caso de prueba 4: Si los servicios del Portal de Gestión están deshabilitados, aparecerá el siguiente mensaje.

Captura de pantalla 13 (a): Servicios deshabilitados - Resultado del Caso de prueba 4.

Screenshot 13 (b): Disabled Services - Output of Test Case 4.

Veamos el rastro visual del mensaje.

Captura de pantalla 14: Rastro visual.

Captura de pantalla 15 : Mensaje de origen:

Captura de pantalla 16: Procesar mensaje - Generar mensaje - Mensaje QRY Q01 enviado a la operación

Captura de pantalla 17: Respuesta del sistema EPR - ADR^A19 (Operación)

Captura de pantalla 18: Procesar mensaje - Extraer los datos necesarios del mensaje A19.

Espero que esto os ayude. En cuanto al uso de la base de datos para QueryResponse y otras características de la API RESTful, proporcionaré una actualización más adelante

Comentarios (0)1
Inicie sesión o regístrese para continuar