Artículo Daniel Aguilar · jun 12, 2023 3m read

ZPM está diseñado para funcionar con aplicaciones y módulos de InterSystems IRIS. Está formado por dos  componentes: el Cliente ZPM, que es un CLI para gestionar módulos; y El Registro, que es una base de datos de módulos y meta-información. Podemos utilizar ZPM para buscar, instalar, actualizar, eliminar y publicar módulos. Con ZPM se pueden instalar clases de ObjectScript, aplicaciones Frontend, producciones de Interoperabilidad, soluciones de BI de IRIS, conjuntos de datos de IRIS o cualquier otro archivo, como paquetes wheel de Python Embebido. 

En este artículo repasaremos tres secciones:

  1. Instalación de ZPM
  2. Generación del Módulo
  3. Búsqueda, Instalación y Publicación de módulos dentro del Registro
2
0 318
Artículo Pietro Montorfano · jun 16, 2023 3m read

Introducción

Si alguna vez os habéis preguntado cómo depurar algunas solicitudes que se realizan hacia o desde IRIS, este es un pequeño tutorial sobre cómo se hace.

Durante un proyecto complejo, normalmente se obtienen las especificaciones y se implementa la comunicación entre IRIS y otros sistemas basándose en eso. Pero del papel al mundo real normalmente hay un gran trecho y hay que saber por qué se recibe un error en un parámetro o en una cabecera, por qué no se reciben los datos, etc.

Si la conexión es una conexión http sencilla, no hay problema, siempre se puede iniciar tcpdump y capturar el tráfico, pero ¿qué pasa con la comunicación https?

¿Qué tal tener una interfaz web limpia, algo que iniciáis y después el desarrollador puede mirar ese portal cuando quiera?

Si alguna vez habéis estado en esta situación, una solución sencilla es mitm proxy ( https://mitmproxy.org/ ).

Este programa tiene la capacidad de actuar como un proxy (se puede configurar en el Business Operation, por ejemplo), un proxy transparente (lo que me gusta), proxy upstream (proxy transparente que envía la conexión a otro proxy), etc.

0
0 116
InterSystems Official Mario Sanchez Macias · jun 15, 2023

13 de junio de 2023

InterSystems ha corregido un defecto que causaba un aumento en el uso de la memoria de proceso.

Específicamente, el aumento de consumo de la partición de memoria local de proceso occurre cuando se ejecutan $Order, $Query, o Merge en variables locales. Aunque esto no tiene un impacto perjudicial en la mayoría de los entornos en ejecución, entornos que soportan un gran número de procesos o limitan la Memoria Máxima Por Proceso de forma muy ajustada, podrían verse afectados. Algunos procesos podrían sufrir errores de tipo <STORE>.

0
0 131
Artículo Alberto Fuentes · jun 14, 2023 11m read

Qué es el Web Scraping:

En términos sencillos, el Web scraping, también conocido como recolección de datos de sitios web o extracción de datos de sitios web es un proceso automatizado que permite la recopilación de grandes volúmenes de datos (no estructurados) de los sitios web. El usuario puede extraer datos de sitios web específicos, según sus necesidades. Los datos recopilados se pueden almacenar en un formato estructurado para su posterior análisis.

¿Qué es el Web Scraping? — James Le

0
0 540
Pregunta Lorenzo Scalese · jun 14, 2023

¡Hola!

Me gustaría encontrar programáticamente todas las clases que no están actualizadas en un namespace.

Con IRIS Studio, podemos ver el signo "+", pero no sé cómo hacerlo con un script.

Set sql = "SELECT ID, Name FROM %Dictionary.ClassDefinition WHERE NOT ID %STARTSWITH ?"
Set params($Increment(params)) = "%"
Set tResult = ##class(%SQL.Statement).%ExecDirect(, sql, params...)

If (tResult.%SQLCODE'=0)&&(tResult.%SQLCODE'=100) Set sc = $$$ERROR($$$SQLError, tResult.%SQLCODE, tResult.%Message) Quit sc

While tResult.%Next() {
    // if class not up to date ??
}

¿Alguien tiene alguna idea?

1
0 103
Anuncio Esther Sanchez · mayo 31, 2023

¡Hola Comunidad!

Ya está en marcha el concurso anual para desarrolladores de InterSystems IRIS! 

Os invitamos a todos a participar en el 3er Gran Premio (Grand Prix) de programación, para crear soluciones open-source utilizando InterSystems IRIS! 

🏆 3er Gran Premio de Programación de InterSystems 🏆

Duración: 12 junio - 9 julio [¡ampliado!]

Dotación en premios: $26,000


1
0 197
Artículo Luis Angel Pérez Ramos · jun 13, 2023 8m read

Experiencia & comentarios del curso online "Hands-On with InterSystems API Manager for Developers

Con mis conocimientos básicos de contenedores Docker y API REST, me gustaría probar el uso del administrador de APIs de InterSystems para gestionar las API y los microservicios. Completé este curso en línea utilizando mi instancia local de IRIS como host (sistema operativo Windows) e IAM ejecutándose en una máquina virtual Linux.

0
0 204
Artículo Eduardo Anglada · sep 24, 2021 2m read

Ejecuto la mayoría de mis revisiones con Docker Desktop en Windows 10. Según las recomendaciones, limpio Docker y los repositorios descargados después de las pruebas:
Los repositorios son sencillos, pero Docker se resiste un poco a liberar el espacio consumido en el disco. Los pasos que ejecuté inicialmente son:

  • eliminar los contenedores pendientes  docker rm -f container . . .
  • eliminar las imágenes descargadas   docker rmi image  . . .
  • limpiar cachés y redes  docker system prune

Pero el espacio que consumió mi disco no se redujo.

Así que buscando en Google, encontré un método muy útil para reducir el consumo en disco de Docker. Y me gustaría compartir esta experiencia con vosotros.

2
0 2796
Artículo Luis Angel Pérez Ramos · jun 9, 2023 16m read

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 159
InterSystems Official Jose-Tomas Salvador · jun 9, 2023

Traducción del artículo originalmente publicado el 27 de Febrero de 2023

Me complace anunciar la versión 2.6.0 de la extensión VS Code ObjectScript, que contiene un buen número de mejoras para hacer más fácil la vida de los desarrolladores. Describo más abajo las más destacadas. Como siempre, podéis encontrar la lista de modificaciones en el CHANGELOG, incluyendo muchas correcciones de errores y vulnerabilidades.

Cambio rápido de namespaces

Gracias a @Olli Tanskanen de nuestro partner JediSoft Oy por esta mejora!

0
0 188
Artículo Esther Sanchez · jun 7, 2023 1m read

¡Hola Comunidad!

Continúo con mi crónica del Global Summit y os doy la bienvenida al segundo día.

Las presentaciones de la mañana estaban dedicadas a IRIS Data Platform (oh yeah!).

Scott Gnau empezó su ponencia explicando por qué IRIS se llama IRIS. ¡Yo no lo sabía!

0
0 126
InterSystems Official Jose-Tomas Salvador · jun 5, 2023

InterSystems anuncia que el componente central de InterSystems Supply Chain Orchestrator™, la versión 2023.1 de InterSystems IRIS for Supply Chain, está disponible de manera general (GA).

InterSystems Supply Chain Orchestrator está construido sobre InterSystems IRIS®, nuestra plataforma de datos más completa para entornos on-premise, en nube e híbridos, que posibilita una arquitectura de smart data fabric para hacer más fácil la creación e implementación de aplicaciones de alto rendimiento, que hacen uso de técnicas de machine learning y que permiten conectar silos de aplicaciones y datos. Combina la potencia de InterSystems IRIS con aceleradores y frameworks específicos de la cadena de suministro, para ofrecer soluciones optimizadas para la orquestación de la cadena de suministro, percepción de demanda y previsión, compleción de ordenes y reempaquetado de productos que han de moverse rápidamente.

0
0 139
Artículo Luis Angel Pérez Ramos · jun 1, 2023 10m read

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).

0
0 194
Pregunta Kurro Lopez · jun 1, 2023

Hola a todos,

Me pregunto si es posible llamar a un BO desde una enrutador HL7 de acuerdo con un parámetro del mensaje HL7

Quiero decir,

De acuerdo con la identidad del laboratorio, quiero llamar a otro proceso TCP para recuperar información sobre análisis de sangre.

Estamos creando el BO usando este patrón.

LAB.BO.TCP. + nombre del laboratorio.

El nombre del laboratorio se almacena en la tabla de consulta T_LABORATORIOS

Intenté asignar el nombre a una variable y ponerlo en la instrucción "send", pero no funciona.

1
0 150
Anuncio Esther Sanchez · jun 1, 2023
¿No habéis podido entrar en la Comunidad todo lo que os gustaría? ¡No os preocupéis! Os traemos un resumen de todo lo que hemos publicado en el mes de mayo: lo más visto, lo más comentado, lo más votado... Seguid leyendo y no os lo perdáis ⬇️⬇️
Estadísticas generales
31 publicaciones nuevas:
    – 15 artículos
    – 13 anuncios
    –  2 preguntas
    –  1 debate
0
0 88
Artículo Heloisa Paiva · jun 1, 2023 5m read

Introducción

Entre las diversas soluciones que desarrollamos en Innovatium, un desafío habitual es la necesidad de acceder al tamaño de las bases de datos. Entonces me di cuenta de que eso no es algo tan trivial en IRIS. Ese tipo de información es importante para mantener un control del flujo de datos y del coste en gigabytes de un sistema para implementar. Sin embargo, lo que realmente me llamó la atención fue la necesidad de eso para algo muy importante: la migración a la nube. Al final, ¿quién no quiere migrar sus sistemas a la nube hoy en día? 

0
0 113
Artículo Jose-Tomas Salvador · mayo 31, 2023 2m read

Este es un artículo de la página de "Preguntas frecuentes" (FAQ) de InterSystems.

 1. Exportar API

a. Usa $system.OBJ.Export() para especificar rutinas individuales para exportar. Por ejemplo:

do $system.OBJ.Export("TEST1.mac,TEST2.mac","c:\temp\routines.xml",,.errors)

El formato que debes especificar es: NombreDeLaRutina.extension, y la extensión puede ser: mac, bas, int, inc, obj.

Los errores durante la exportación se almacenan en la variable "errors".

Echa un vistazo a la referencia de clase %SYSTEM.OBJ para más detalles sobre $system.OBJ.Export().

b. Usa $system.OBJ.

0
0 118
Artículo Luis Angel Pérez Ramos · mayo 25, 2023 4m read

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 378
Artículo Luis Angel Pérez Ramos · mayo 25, 2023 9m read

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.

Por último, en artículos posteriores explicaré algunas características de la aplicación iris-on-fhir.

0
0 85
Artículo Ricardo Paiva · mayo 25, 2023 1m read

Cuando se desarrollan producciones de interoperabilidad, puede ser útil tener configuraciones fuera de un Business Host. La razón principal es cuando necesitas una configuración que afecte a varios Business Hosts diferentes y quieres garantizar que el valor es el mismo. Aunque las Configuraciones Predeterminadas del Sistema (CPS) pueden ser usadas para propagar configuraciones para Business Hosts, pueden ser cambiadas al anular el valor a nivel de BH (aunque la ventaja de las configuraciones del Business Host definidas a través de las CPS es que no requieren código personalizado, que sí es requerido por nuestro enfoque actual).
Otra razón es cuando necesitas afectar partes no configuradas de la configuración del Business Host (PoolSize, Enabled, etc.)

Añadiremos una configuración env a una producción.

0
0 103
InterSystems Official Mario Sanchez Macias · mayo 25, 2023

InterSystems anuncia la finalización del mantenimiento de Zen Reports, empezando en InterSystems IRIS e IRIS for Health 2025.1. Esto se deriva del aviso de discontinuación realizado cuando InterSystems IRIS fue presentado en 2018 y de la posterior inclusión de InterSystems Reports en 2020 para ofrecer un reemplazo a la funcionalidad de informes. Este es un repaso a la cronología:


Marzo 2018 InterSystems IRIS 2018.1: Anuncio de la discontinuación de Zen Reports, se mantiene en los kits para ofrecer continuidad a las aplicaciones existentes
Abril 2020 InterSystems IRIS 2020.
0
0 86
Artículo Esther Sanchez · mayo 24, 2023 2m read

¡Hola Comunidad!

A veces nos gustaría contactar con algún miembro de la Comunidad de Desarrolladores (por ejemplo, con el autor/la autora de una publicación o con el desarrollador de un proyecto en particular), para comentarle algo, preguntarle una duda, etc. Y para esas ocasiones tenemos la funcionalidad de Mensajes Directos, con la que se pueden enviar mensajes solo a una persona y también se pueden mantener chats en grupo.

0
0 111
Artículo Luis Angel Pérez Ramos · mayo 22, 2023 6m read

¡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?

0
0 224
Artículo Alberto Fuentes · mayo 22, 2023 2m read

¡Hola Comunidad!

A menudo, las soluciones con InterSystems IRIS BI pueden convertirse en soluciones bastante grandes con docenas de tablas dinámicas y cuadros de mando.

Con cada nueva versión de IRIS BI podemos añadir cambios que pueden influir en el comportamiento de las tablas dinámicas y cuadros de mando existentes y que dejen de funcionar. Por ejemplo, si cambiamos el nombre de una medida o dimensión, olvidamos desplegar cubos o realizamos reestructuraciones con cambios masivos del nombre de los cubos y sus elementos, algunos widgets podrían dejar de funcionar.

La solución es probar (¿manualmente?) cada widget en cada cuadro de mando para asegurarnos de que las consultas MDX están funcionando.

Hoy quiero presentaros una herramienta para probar automáticamente todas las tablas dinámicas y los cuadros de mando.

0
0 110
Artículo Mathew Lambert · mar 25, 2020 6m read

¡Hola Comunidad!

Creo que hoy en día todo el mundo guarda el código fuente de sus proyectos en repositorios como Github, GitLab, bitbucket, etc. Lo mismo sucede con proyectos de InterSystems IRIS, se pueden ver algunos ejemplos en Open Exchange.

¿Qué hacemos cada vez que empezamos o continuamos nuestro trabajo con un repositorio en particular con la plataforma de datos InterSystems?

1
1 927
Artículo Luis Angel Pérez Ramos · mayo 19, 2023 1m read

¡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:

0
0 86