Empezaré como dice la leyenda que empezó su clase Fray Luís de León tras varios años de condena:

Como decíamos ayer...nuestro EMPI puede recibir datos de múltiples fuentes, vía REST, mensajería HL7, etc. Pero es posible que los campos estándar no sean suficientes y querramos ampliar la información del paciente para ayudar a discriminarlo e identificarlo unívocamente. ¿Cómo podríamos personalizar los datos de paciente? ¿Modificando las clases estándar a nuestro gusto? ¡¡¡¡NOOOOO!!!! bueno, un poco sí, pero no a lo loco, ya que si tocamos clases estándar sin cuidado podremos encontrarnos que en una futura actualización perdamos todas estas modificaciones.

0 0
0 120
Artículo
· 1 jun, 2023 Lectura de 10 min
Pruebas de rendimiento IRIS - PostgreSQL - MySQL

Como antiguo programador de JAVA siempre ha sido un reto decidir qué base de datos era la más adecuada para el proyecto que íbamos a desarrollar, uno de los principales criterios que usaba era el del rendimiento de las mismas, así como sus capacidades de configuración HA (high availability o alta disponibilidad).

1 0
0 159

Es posible que ya hayáis oído que, a partir de las versiones de IRIS y HealthShare HealthConnect 2023.2, se va a eliminar de la instalación por defecto el Apache Server interno por lo que será necesario contar con un servidor de aplicaciones externo como puede ser Apache Server o NGINX.

En este artículo voy a proceder a realizar la instalación de un HealthShare HealthConnect 2023.1 para que funcione con un Apache Server pre-instalado. Para ello utilizaré una máquina virtual sobre la que he instalado un Ubuntu 22.04.

0 0
0 309
Artículo
· 25 mayo, 2023 Lectura de 9 min
Descripción de FHIRaaS

Introducción

El propósito de este artículo es ofrecer una visión general de InterSystems IRIS FHIR Accelerator Service (FHIRaaS), motivado por la implementación de la aplicación iris-on-fhir, disponible en OEX y desarrollada para el concurso FHIRaaS.

Es un tutorial básico que os guiará en la configuración de una función para la implementación de FHIRaaS, incluyendo una clave API y un servidor OAuth 2.0.

También mostraré brevemente una librería para utilizar recursos FHIR a través de FHIRaaS.

0 0
0 67
Artículo
· 22 mayo, 2023 Lectura de 6 min
Recuperando un Mirror tras un fallo

¡Aquí estamos nuevamente con un artículo relacionado con el Mirror!

En el artículo anterior vimos como podíamos configurar un Mirror entre dos instancias de IRIS, actuando una como nodo activo y otra como pasivo. Este sistema de mirroring funciona sobre la transferencia de un archivo de journals que mantiene contínuamente actualizada la instancia que funciona como nodo pasivo, pero ¿qué ocurre si por algún fallo de comunicación o permisos del archivo de journal este no se transifere correctamente?

2 0
0 195

¡Hola Comunidad!

Me gustaría presentaros una nueva utilidad para importar CSV a IRIS - ¡csvgenpy!

Instalación

USER>zpm "install csvgenpy"

Uso:

do ##class(shvarov.csvgenpy.csv).Generate("file or url","table","schema")

Ejemplo:

USER>do ##class(shvarov.csvgenpy.csv).Generate("https://raw.githubusercontent.com/datasciencedojo/datasets/master/titanic.csv","titanic","data")

Esto creará la tabla y la clase data.titanic en IRIS y a continuación cargará los datos. Podéis probarlo con:

2 0
0 65
Artículo
· 8 mayo, 2023 Lectura de 6 min
Reconocimiento facial con IRIS y Python Embebido

¡Bienvenidos, estimados miembros de la comunidad!

En este artículo vamos a demostrar el gran potencial que IRIS/HealthConnect pone a disposición de todos sus usuarios con el uso de Python Embebido y lo vamos a hacer mediante el desarrollo de una pequeña producción que nos va a permitir reconocer e identificar las caras presentes en un archivo JPG a partir de unas imágenes que usaremos como referencia.

2 0
0 398
Artículo
· 25 abr, 2023 Lectura de 13 min
Configurando Mirror en Docker

Una necesidad habitual en nuestros clientes es la configuración tanto de HealthShare HealthConnect como de IRIS en modo de alta disponibilidad.

Es común en otros motores de integración del mercado que se promocionen con configuraciones de "alta disponibilidad", pero realmente no suele ser del todo cierto. Por lo general dichas soluciones trabajan con bases de datos externas y por lo tanto, si estas no están a su vez configuradas en alta disponibilidad, al producirse una caída de la base de datos o la pérdida de conexión a la misma toda la herramienta de integración queda inutilizable.

En el caso de las soluciones de InterSystems este problema no existe, al ser la base de datos parte y nucleo de las propias herramientas. ¿Y cómo ha solucionado InterSystems el problema de la alta disponibilidad? ¿Con abstrusas configuraciones que podrían arrastrarnos a una espiral de enajenamiento y locura? ¡NO! Desde InterSystems hemos escuchado y atendido vuestras quejas (como siempre intentamos hacer ;) ) y hemos puesto a disposición de todos nuestros usuarios y desarrolladores la función de mirroring.

1 0
1 328

iris-docker-multi-stage-script

Os presentamos un script en Python para mantener a punto tus imágenes de IRIS en Docker ;-)

Sin necesidad de cambiar tu dockerfile o tu código, puedes reducir el tamaño de tu imagen en un 50% o más!

TL;DR

Nombra a tu imagen builder como builder y a la imagen final final y añade esto al final de tu Dockerfile:

Modifica tu Dockerfile para usar un build multi-stage:

ARG IMAGE=intersystemsdc/irishealth-community:latest
FROM $IMAGE as builder

Añade esto al final de tu Dockerfile:

FROM $IMAGE as final

ADD --chown=${ISC_PACKAGE_MGRUSER}:${ISC_PACKAGE_IRISGROUP} https://github.com/grongierisc/iris-docker-multi-stage-script/releases/latest/download/copy-data.py /irisdev/app/copy-data.py

RUN --mount=type=bind,source=/,target=/builder/root,from=builder \
    cp -f /builder/root/usr/irissys/iris.cpf /usr/irissys/iris.cpf && \
    python3 /irisdev/app/copy-data.py -c /usr/irissys/iris.cpf -d /builder/root/ 

¡Boom! ¡Ya está listo!

0 0
0 46

Comenzamos esta nueva entrega recordando que hicimos en los anteriores artículos de configuración del EMPI:

  • Instalado en modo Standalone el Patient Index sobre una instancia de HealthShare.
  • Configurado los parámetros básicos para empezar a trabajar con el EMPI.
  • Definido los índices y pesos particulares para nuestro proceso NICE.

Muy bien, estamos ya practicamente preparados para echar a rodar nuestro EMPI. Sólo nos queda un detalle, arrancar la producción creada por la instalación para poder empezar a trabajar.

1 0
1 166

En nuestro artículo anterior vimos como podíamos capturar ficheros de tipo DICOM ubicados en una carpeta de nuestro servidor y como los enviábamos a un PACS (en nuestro caso la solución open source ORTHANC) para su almacenamiento y consulta. Pues bien, en este artículo vamos a tratar el movimiento opuesto.

2 1
0 204

Bienvenidos miembros de la comunidad a un nuevo artículo, en esta ocasión trataremos las capacidades de interoperabilidad que nos proporciona IRIS for Health para trabajar con ficheros DICOM.

Para ello vamos a montar un pequeño ejemplo haciendo uso de Docker. Al final del artículo podréis encontrar la URL de acceso a GitHub por si queréis verlo en acción en vuestros propios equipos.

Pero antes de empezar vamos a explicar que es DICOM:

1 0
0 571
Artículo
· 3 abr, 2023 Lectura de 9 min
Apache Web Gateway con Docker

¡Hola Comunidad!

En este artículo configuraremos mediante programación un Apache Web Gateway con Docker, utilizando:

  • El Protocolo HTTPS.
  • TLS\SSL para asegurar la comunicación entre el Web Gateway y la instancia de IRIS.

imagen

Utilizaremos dos imágenes: una para el Web Gateway y la segunda para la instancia de IRIS.

Todos los archivos necesarios están disponibles en este repositorio de GitHub.

1 0
1 299
InterSystems Official
· 27 mar, 2023 Lectura de 3 min
Mejoras en la generación e invocación de las clases de IRIS

Me gustaría adelantaros una mejora sobre cómo generamos e invocamos el código de los métodos en IRIS 2023.1.

Una clase en IRIS se compone de dos componentes de runtime principales:

  1. Descriptor de Clase (Class Descriptor) - Una lista de métodos muy optimizada, propiedades, parámetros de clase que configura y parametriza la clase, junto con atributos asociados con cada uno de estos, por ejemplo configuración pública/privada.
  2. Código de ObjectScript (ObjectScript code) - Un conjunto de rutinas que contienen el código de ObjectScript para ser ejecutado cuando se invoca un método.

1 1
0 134
   _________ ___ ____  
  |__  /  _ \_ _|  _ \ 
    / /| |_) | || |_) |
   / /_|  __/| ||  __/ 
  /____|_|  |___|_|    

Desde la versión 2021.1, InterSystems IRIS empezó a distribuirse con un runtime de Python en el motor del kernel. Sin embargo, no había forma de instalar paquetes desde dentro de la instancia. La principal ventaja de Python es su enorme ecosistema de paquetes. Con ello en mente, os presento mi proyecto zpip, un empaquetador pip que se puede invocar desde el terminal de iris.

0 1
0 122

Hemos visto como instalar nuestro EMPI en modo standalone y, parafraseando a Fray Luis de León, como decíamos ayer, procederemos a exponer como realizar una configuración básica, sin demasiadas pretensiones, de nuestro EMPI.

Primeramente deberemos realizar la configuración básica inicial, y para ello deberemos acceder a la opción del menú de Configuración de nuestro Registry.

1 0
0 168

Recientemente he estado trasteando con la utilización de IRIS como servidor para una conexión mediante web socket desde el frontend de una aplicación en NodeJS.

En esta URL tendréis la información relativa a las conexiones de web sockets tanto en modo cliente como en modo servidor: https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls...

4 0
2 113

Hoy os voy a presentar como configurar uno de los productos disponibles en HealthShare, el Enterprise Master Patient Index o EMPI.

El EMPI proporcionará a cualquier organización un índice maestro de pacientes que permitirá identificar de forma unívoca a cada paciente de nuestra organización. Podéis encontrar más información al respecto en la siguiente url: https://www.intersystems.com/es/plataforma-de-interoperabilidad/patient-...

4 0
0 138

Estimados miembros de la Comunidad.

Una problemática muy común en muchos usuario es el uso de una base de datos externa como entrada de datos a una producción de IRIS. Como ya sabréis tenemos dos métodos de conexión directas a bases de datos externas desde IRIS, la primera es mediante ODBC y la segunda es recurriendo a una conexión vía JDBC.

En nuestro ejemplo procederemos a realizar una conexión mediante JDBC y para ello montaremos un pequeño proyecto en Docker para que podáis jugar con ello cuanto queráis.

2 0
0 316