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 223

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 77

¡Volvemos al ataque con nuestro EMPI!

En artículos anteriores hemos visto como configurar y personalizar nuestro EMPI, hemos visto como podemos como podemos incluir nuevos pacientes en nuestro sistema mediante mensajería HL7, pero claro, ¡no todo es HL7 v.2 en esta vida! ¿Cómo podríamos configurar nuestra instancia del EMPI para trabajar con mensajería FHIR?

0 0
0 58

Ahora que estamos en veranito vamos a adentrarnos en el apasionante mundo de las producciones Ensemble / Iris, donde los procesos son los protagonistas y los cuelgues de servidor se vuelven el tema de conversación en la máquina de café, que por supuesto acaban en llamadas desesperadas a soporte con servidores saturados de memoria y cpu. Esos servidores calentando aún más el ambiente sin sentido alguno. Aquí es donde entra el Pool Size y su magia cuando está bien configurado.

4 0
1 77

Preguntas frecuentes de InterSystems

Podéis ver el espacio libre disponible para la base de datos usando la opción "Free space view" (Ver espacio libre) en el Management Portal: System Operation > Databases.

Y se puede obtener mediante programación a través la consulta FreeSpace de la clase del sistema SYS.Database.

1 0
0 76

Esta es la cuarta parte de una serie de artículos sobre migración desde las principales bases de datos del mercado a InterSystems IRIS. En esta parte, explicaré los pasos para migrar desde Microsoft SQL Server.

Como describí en los anteriores artículos, actualmente hay varias opciones para hacer la migración. Sin embargo, las dos opciones más populares incluyen el uso de DBeaver (https://openexchange.intersystems.com/package/DBeaver) o SQLGateway. Explicaremos la primera opción aquí. La segunda opción fue explicada por Robert Cemper en un excelente artículo: Migración de base de datos usando SQLgateway.

1 0
0 119
Artículo
· 16 nov, 2023 Lectura de 3 min
Cómo ocultar el programa fuente

Preguntas frecuentes de InterSystems

Para rutinas (*.mac)

Se puede ocultar el código fuente exportando/importando solo el *.obj que se genera después de compilar el programa fuente.

El ejemplo de ejecución de comandos especifica EX1Sample.obj y EX2Sample.obj, que se generan al compilar EX1Sample.mac y EX2Sample.mac, como destinos de exportación y los exporta al segundo archivo de argumentos.

Después de pasarlo a otro namespace, se usa el archivo XML exportado para realizar la importación.

0 0
0 73

¡Bienvenidos a todos!

En este breve artículo quería presentar un ejemplo de uso que seguramente a muchos de los que trabajéis con IRIS como backend de vuestras aplicaciones web os hayáis encontrado en más de una ocasión y sería el de la necesidad de enviar desde el frontend un archivo a vuestro servidor.

2 0
1 85

Hola comunidad,

Cuando utilizamos un Business Servicio de tipo SQL, puede suceder que necesitemos replicar ciertas filas de la tabla original.

Tomemos como ejemplo el Business Service "from customer SQL" usando la clase genérica EnsLib.SQL.Service.GenericService

0 0
0 53

Introducción

Recientemente participé en un hands-on fantásticamente organizado por @Patrick Jamieson en el que se configuraba una aplicación de Angular junto con un servidor FHIR de IRIS siguiendo los protocolos definidos por SMART On FHIR y me resultó fráncamente interesante, por lo que me puse por mi cuenta a desarrollar mi propia aplicación de Angular y así aprovechar lo aprendido para publicarlo en la comunidad.

2 0
0 126

La Inteligencia Artificial (IA) está recibiendo mucha atención últimamente porque puede cambiar muchos aspectos de nuestras vidas. Una mayor potencia informática y más datos han ayudado a la IA a hacer cosas asombrosas, como mejorar las pruebas médicas y fabricar coches que se conducen solos. La IA también puede ayudar a las empresas a tomar mejores decisiones y a trabajar de forma más eficiente, por lo que cada vez es más popular y se utiliza más. ¿Cómo se pueden integrar las llamadas a la API OpenAI en una aplicación de interoperabilidad IRIS existente?

0 0
0 135

Desde hace un tiempo tenía pendiente hacer algún tipo de prueba de concepto con la funcionalidad de Workflow, la cual, como tantas otras funcionalidades presentes en IRIS, suele pasar bastante desapercibida para nuestros clientes (y por lo cual entono el mea culpa). Por ello me decidí hace unos días a desarrollar un ejemplo de cómo configurar y explotar esta funcionalidad conectándola con una interfaz de usuario desarrollada en Angular.

1 0
0 22

Ya está disponible la edición gratuita de InterSystems IRIS (InterSystems IRIS Community Edition) en la nube de AWS

¡Hola a tod@s!,

Es muy común que gente nueva usando InterSystems IRIS quiera comenzar a experimentar y trabajar en algún proyecto personal en un entorno gratuito. Si eres uno de ellos, ¡tenemos buenas noticias para ti!! Ya puedes usar la a edición gratuita de InterSystems IRIS (InterSystems IRIS Community Edition) en la nube de AWS.

0 0
1 291
Artículo
· 17 jun, 2019 Lectura de 2 min
GitHub ahora soporta ObjectScript

¡Hola a tod@s! Hoy traigo buenas noticias para la Comunidad:

Hace unos días, GitHub se actualizó con la última versión del proyecto linguist, que se utiliza para reconocer los tipos de código fuente en los repositorios. Ayuda a determinar qué lenguaje de programación se ha utilizado en cada archivo del repositorio. La sección de estadísticas del repositorio muestra los resultados del trabajo de este módulo.

Además, se puede buscar en todos los repositorios disponibles de GitHub para cualquier idioma elegido.

0 0
0 262
Artículo
· 24 oct, 2019 Lectura de 3 min
Pruebas unitarias en Transformaciones de Datos

¡Hola!

¿Te gustaría saber si tus transformaciones de datos funcionan como tienes previsto con un solo comando? ¿Y qué te parecería poder escribir pruebas unitarias de forma fácil y simple para las transformaciones de datos que utilizas?

Al hablar de interoperabilidad, normalmente encontraremos muchas transformaciones de datos involucradas. Esas transformaciones de datos se utilizan para convertir datos entre diferentes sistemas o aplicaciones en tu código, así que realmente se encargan de un trabajo muy importante.

2 0
0 246

¡Hola Comunidad!

HealthShare utiliza muchas transformaciones XSL. Estas transformaciones se utilizan para convertir los documentos médicos de la iniciativa “Integración de las Empresas Sanitarias (IHE)” en SDA (formatos interno de HealthShare), y convertirlos nuevamente en los formatos IHE, con el fin de crear resúmenes de los informes y para lidiar con los perfiles en el IHE (por ejemplo, consultar la información de los pacientes, proporcionar documentos y registrarlos). Los clientes pueden configurar las XSLT para personalizar los informes, o para utilizarlas de alguna otra manera.

Para la depuración y el desarrollo es muy conveniente que se pueda ejecutar un XSLT desde el Terminal.

0 0
0 191
Artículo
· 10 feb, 2020 Lectura de 8 min
RESTForms - REST API para tus clases

En este artículo me gustaría presentar el proyecto RESTForms: back-end genérico REST API para aplicaciones web modernas.

La idea detrás del proyecto es simple: después de escribir varias API REST, me di cuenta de que, en general, la API REST consta de dos partes:

  • Trabajar con clases persistentes.
  • Lógica de negocio personalizada

Y, si bien tendrá que escribir su propia lógica de negocio personalizada, RESTForms proporciona todo lo relacionado con el trabajo con clases persistentes desde el primer momento.
Casos de uso

  • Ya tiene un modelo de datos en Caché y desea exponer parte (o toda) de la información en forma de API REST
  • Está desarrollando una nueva aplicación Caché y desea proporcionar una API REST
1 0
0 362
Artículo
· 16 mar, 2020 Lectura de 5 min
RESTForms - REST API para tus clases. Parte 2: Consultas

En el primer artículo empecé a analizar RESTForms - REST API para tus clases persistentes y hablamos sobre las características básicas. Ahora, me gustaría hablar sobre las características avanzadas, principalmente las capacidades de consultas:

  • Consultas básicas
  • Consultar argumentos
  • Consultas personalizadas

Consultas

Las consultas pueden obtener segmentos de datos, criterios en criterios arbitrarios. Hay dos tipos de consulta en RESTForms:

  • Las consultas básicas funcionan para todas las clases RESTForms una vez definidas y solo difieren en la lista de campos
  • Las consultas personalizadas solo funcionan para las clases en las que están especificadas y disponibles, pero el desarrollador tiene acceso completo al texto de la consulta
1 0
0 367
Artículo
· 29 ago, 2020 Lectura de 2 min
Descripción general de iris-fhir-portal

Desarrollé la solucion IRIS-FHIR-Portal como parte del concurso InterSystems IRIS for Health FHIR.

El objetivo de la aplicación es mostrar cómo de fácil es crear un repositorio FHIR de pacientes y sus datos clínicos utilizando la solucion IRIS for Health.

En conjunto, con esta solucion también estamos empoderando al paciente con sus datos clínicos y ellos los podrán usar como quieran.

2 0
0 148
Artículo
· 25 nov, 2020 Lectura de 17 min
Objetos de proxy remoto mediante despacho dinámico

Este artículo fue creado como efecto secundario de las preparaciones para un conjunto más extendido de artículos sobre la simple, pero útil, implementación de MapReduce en Caché. Estaba buscando una forma relativamente fácil de pasar argumentos a (potencialmente) múltiples objetivos mediante mecanismos de invocación remota. Y tras varios intentos, me di cuenta de que en el ObjectScript de Caché contamos con mecanismos muy potentes que podrían ser de utilidad para esto: dynamix dispatching para métodos y propiedades.

1 0
1 119
Artículo
· 2 feb, 2021 Lectura de 3 min
InterSystems IRIS y OData

¿Qué es OData?

OData (Open Data Protocol) es un estándar OASIS, con certificación ISO/IEC, que define un conjunto de prácticas recomendadas para construir y consumir APIs RESTful. OData te ayuda a enfocarte en tu lógica de negocio mientras construyes APIs RESTful, sin tener que preocuparte por los diversos enfoques para definir cabeceras de solicitud y respuesta, códigos de estado, métodos HTTP, convenciones URL, tipos de medios audiovisuales, formatos de carga, opciones de consulta, etc. OData también proporciona orientación para registrar cambios, definir funciones/acciones para llevar a cabo procedimientos reutilizables y enviar solicitudes asíncronas/por lotes (Fuente: OData.org).

0 0
0 150

¡Hola desarrolladores!

Recientemente anunciamos la versión de prueba con Python embebido en InterSystems IRIS - echad un vistazo a este vídeo en inglés de @Bob Kuszewski.

Python embebido ofrece la posibilidad de cargar y ejecutar el código Python en el servidor de InterSystems IRIS. Podéis utilizar módulos de librerías de Python instalándolos con pip, como NumPy, Pandas, etc., o podéis escribir vuestros propios módulos de Python como archivos .py independientes.

Bien, pero una vez que ya estáis satisfechos con el desarrollo de vuestra solución de Python embebida en IRIS, hay otra cuestión muy importante: cómo desplegar la solución.

Una de las opciones que podéis considerar es utilizar el Administrador de paquetes ZPM, que os voy a describir en este artículo.

0 0
0 169
Artículo
· 17 jun, 2021 Lectura de 2 min
Cómo crear un PDF a partir de un archivo de texto

Cómo utilizar Java Gateway para acelerar el desarrollo

InterSystems IRIS incluye Object Gateways dinámicos para Java, .NET y (ahora) Python. Estos gateways permiten que tu aplicación IRIS utilice bibliotecas en estos lenguajes, eliminando la necesidad de crear todo desde cero en ObjectScript.

En este ejemplo, utilizamos las bibliotecas iTextPdf y Apache PdfBox para leer un archivo de texto y producir un PDF básico a partir de él. Estas bibliotecas son controles PDF profundos y ricos, por lo que un poco de desarrollo podría producir una aplicación de ejemplo que ofrezca resultados mucho más convincentes para tus necesidades. También he incluído un archivo de clase corto el cual hace que su uso desde ObjectScript sea muy sencillo.

0 0
0 191
Artículo
· 15 sep, 2023 Lectura de 42 min
IAM (InterSystems API Manager) - de cero a cien

Este artículo ha sido actualizado con respecto al original en inglés (más antiguo). Los ejemplos que se presentan aquí han sido validados con la última versión de IAM, actualmente la 3.2.1.0-4, y la versión más reciente de InterSystems IRIS, la 2023.2, que es la primera en que ya no se instala por defecto un servidor web.

Este artículo contiene los materiales, ejemplos y ejercicios necesarios para aprender los conceptos básicos de IAM.

Todos los recursos están disponibles en este git: https://github.com/grongierisc/iam-training.

Las soluciones están en esta rama.

2 0
1 158

Como ayuda para aquellos que quieren utilizar las funciones de la Base de datos documental (DocDB) dentro de InterSystems IRIS, y específicamente la API REST que proporciona, reuní una Colección Postman que ofrece muestras para varias llamadas básicas.

Por ejemplo:

0 0
0 224
Artículo
· 24 dic, 2021 Lectura de 4 min
Probar los paquetes que desarrollamos con ZPM

¡Hola desarrolladores!

Como sabéis, es muy fácil publicar un paquete en el repositorio de la Comunidad de Desarrolladores.

Pero, ¿cómo se puede probar antes de publicarlo? ¿Cómo se puede garantizar que todo lo que se introdujo en module.xml funciona correctamente?

¡Seguid leyendo las instrucciones que os detallo a continuación!

0 0
0 129
Artículo
· 22 nov, 2021 Lectura de 3 min
CALL asíncronicas dinámicas y sentencia SYNC

En algún momento, puede surgir la necesidad de llamar (sentencia CALL en BPL) de manera dinámica, porque hay mucha lógica de negocio compartida por distintos orígenes de datos, que da pie a que esa lógica se comparta y no se individualice cada llamada (CALL).

Esto tiene ventajas a nivel de mantenimiento de la lógica definida, catch de errores y administrar los hilos de ejecución de manera centralizada.

Entonces lo normal es que se defina una sentencia FOREACH que ejecute la sentencia CALL según cada ítem que se necesite.

0 0
0 127