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 115
La Comunidad de desarrolladores de InterSystems es una comunidad de 22,454 desarrolladores increíbles
¡Somos un lugar donde los programadores de InterSystems IRIS aprenden y comparten, se mantienen actualizados, crecen juntos y se divierten!

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 152
Artículo
· 19 jun, 2023 Lectura de 9 min
Integración Open AI con IRIS

Como todos ya conocéis, el mundo de la inteligencia artificial ya está aquí y todos quieren usarlo para su beneficio.

Hay muchas plataformas que ofertan servicios de inteligencia artificial de forma gratuita, por suscripción o privadas, pero la que mas “ruido” ha hecho en el mundo de la informática es Open AI, sobre todo por sus más famosos servicios: ChatGPT y DALL-E

4 1
0 357

​El almacenamiento en columnas es una de las nuevas ofertas de InterSystems IRIS. A diferencia del almacenamiento tradicional basado en filas, optimiza el procesamiento de consultas al almacenar datos en columnas en lugar de filas, lo que permite un acceso y una recuperación más rápidos de información relevante.

Se han escrito un par de artículos sobre cuándo se debe utilizar para darle el mayor impulso a un sistema, y cómo crear tablas así usando SQL.

CREATE TABLE tabla (columna1 tipo1, columna2 tipo2, columna3 tipo3) WITH STORAGETYPE = COLUMNAR -- ex 1
CREATE TABLE tabla (columna1 tipo1, columna2 tipo2, columna3 tipo3 WITH STORAGETYPE = COLUMNAR) -- ex 2

e incluso las pruebas de rendimiento.

Como todos sabemos, InterSystems IRIS es un DBMS multimodelo y brinda acceso perfecto a los mismos datos mediante acceso relacional y de objetos. Lo primero se trata en otros artículos, pero ¿qué pasa con lo segundo?

4 0
0 144

Seguramente hayáis oído en el último año hablar continuamente de los LLM (Large Language Model) y el desarrollo asociado a los mismos de las aplicaciones RAG (Retrieval Augmented Generation), pues bien, en esta serie de artículos desgranaremos los fundamentos de cada término utilizado y veremos como desarrollar una sencilla aplicación RAG.

4 1
2 300

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 140

Hola desarrolladores,

Estamos preparando con mucho cariño nuestro primer 🏆 Concurso de Artículos Técnicos en Portugués de InterSystems 🏆.

Como el concurso se lanzará oficialmente la próxima semana, aproveche esta semana para elegir su tema o, si es nuevo en la tecnología de InterSystems, ¡aproveche la oportunidad de aprender un poco más sobre la tecnología en este período para poder participar!

4 2
0 134
Artículo
· 16 feb, 2023 Lectura de 2 min
Rompe los límites del servidor

¡Hola, desarrolladores!

Sois expertos en IRIS y conocéis todos los trucos.
Las funcionalidades $ZF() y CPIPE no son nuevas para vosotros.
Así que también conocéis los límites de estas funcionalidades.
Ambos dan acceso a su entorno de servidor local. Y este es el final.

4 1
0 138
Artículo
· 23 feb, 2023 Lectura de 3 min
Ejemplo de publicador / subscriptor en IRIS

Hola a todos!

Durante un proyecto necesitábamos poder definir temas sobre los que publicar mensajes, y crear diferentes subscriptores que recibiesen esos mensajes de forma asíncrona. Necesitábamos además que fuese lo más sencillo posible y que se pudiese utilizar directamente en InterSystems IRIS.

A modo de experimento os paso este iris-pubsub.

Infraestructura

Está construido sobre las funcionalidades de interoperabilidad de InterSystems IRIS, necesita tener una producción en marcha.

3 2
0 98

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

3 0
1 183
Artículo
· 29 mayo, 2024 Lectura de 3 min
Uso de VECTORES en ObjectScript

La mayoría de los ejemplos que he visto hasta ahora en OEX o DC dejan la impresión de que los VECTORES son sólo algo disponible con SQL con las 3 Funciones especialmente alrededor de VECTOR_Search.
* TO_VECTOR()
* VECTOR_DOT_PRODUCT ()
* VECTOR_COSINE ()

Hay un resumen muy útil escondido en el paquete de demostración iris-vector-search.
Desde allí encontraréis todo lo que necesitáis en varios enlaces y rincones.

3 0
0 74
Artículo
· 26 feb, 2020 Lectura de 1 min
Desactivación de una producción Ensemble

No pretendo decir que esto sea una guía de "buenas prácticas", pero estoy en una situación particular en la que necesito impedir que los usuarios inicien una producción de Ensemble “retirada” en un namespace renombrado. Sigue siendo un namespace activo, por lo que debemos mantenerlo disponible para acceder al visor de mensajes... afortunadamente, solo por un tiempo.

Es un truco …

3 0
0 184

¡Hola Comunidad!

Estamos encantados de invitaros a un nuevo Ideatón, el maratón más creativo e innovador, y que además no exige ninguna forma física:

🎁 2º Ideatón de InterSystems 🎁

Publicad una idea relacionada con el tema del Ideatón, entre el 1 y el 21 de agosto, y ganaréis un premio solo por participar.

Pueden participar todos los miembros de la Comunidad de Desarrolladores, incluidos los empleados de InterSystems.

3 1
0 213
Artículo
· 27 mayo, 2024 Lectura de 4 min
Unir bases de datos de excel con IRIS

¡Hola a todos!

Llevo muchos años trabajando con Excel y, últimamente, lo he enfocado al tratamiento de bases de datos.

Realmente mi experiencia con Excel ha sido para labores financieras, no tanto analíticas de datos en sí, pero en un proyecto reciente he podido trabajar mucho con SQL y me he interesado un poco por el tema (no soy para nada una experta, ¡aviso!)

Me he preguntado cómo podría unir varios excels en uno para, por ejemplo, entregárselo al Data Análisis utilizando la tecnología InterSystems. He recopilado la información en un pequeño artículo. Espero que sea útil y por supuesto estoy abierta a correcciones.

Vamos a utilizar InterSystems IRIS. Lo que buscaremos es leer los archivos Excel, procesarlos y por último fusionarlos.

3 1
0 197

¡Hola Comunidad!

ObjectScript tiene al menos tres formas de manejar errores (códigos de estado, excepciones, SQLCODE, etc...). La mayor parte del código del sistema usa estados, pero las excepciones son más fáciles de manejar por varias razones. Al trabajar con código heredado, se invierte un tiempo en traducir las distintas técnicas. Yo uso mucho estos fragmentos de código como referencia. Espero que también os sean útiles.

3 4
1 393

¡Hola a tod@s!

En las partes anteriores (1, 2) de este artículo, hablamos de Globals como árboles. En esta tercera parte, los veremos como matrices dispersas.

Una matriz dispersa es un tipo de matriz donde la mayoría de los valores asumen un valor idéntico.

En la práctica, a menudo veréis matrices dispersas tan grandes que no tiene sentido ocupar memoria con elementos idénticos. Por lo tanto, tiene sentido organizar matrices dispersas de tal manera que no se desperdicie memoria al almacenar valores duplicados.

En algunos lenguajes de programación, las matrices dispersas son parte del lenguaje (por ejemplo, en J, MATLAB). En otros lenguajes, hay bibliotecas especiales que permiten usarlas. Para C ++, esos serían Eigen y similares.

Los Globals son buenos candidatos para implementar matrices dispersas por las siguientes razones:

3 0
0 594
Artículo
· 21 dic, 2019 Lectura de 2 min
Demo de SUDOKU

Para aquellos expertos que no pueden parar después del concurso "Advent of Code" (AoC2019), he publicado un código bastante antiguo en estilo tradicional para mejorarlo.

Fue escrito en base a una prueba previa en .XLS. Está lejos de ser perfecto. Es más bien un desafío para mejora en todas las direcciones (código, interfaz, ...). Así que cualquiera está invitado a mejorarlo.

3 0
0 211

Bienvenidos estimados miembros de la Comunidad a la presentación y primera entrega de un pequeño proyecto que demostrará las capacidades de InterSystems IRIS para proporcionar funcionalidades plenas de backup para una aplicación web desarrollada en Angular. Este artículo se limitará a presentar el concepto así como las funcionalidades de InterSystems IRIS utilizadas de un modo general, entrando más en detalle en posteriores artículos.

3 2
0 496
Artículo
· 5 jun, 2024 Lectura de 4 min
Como crear tu propia searchtable para mensajería HL7.

Mi intención es mostrar lo sencillo que es generar una tabla de búsqueda teniendo en cuenta la información que llega en nuestra mensajería HL7, ciertamente la tabla de búsqueda de mensajes HL7 que proporciona IRIS es suficiente para la mayoría de las búsquedas que queremos hacer, pero siempre tenemos aquel campo especial de nuestro HIS, LIS, RIS, etc. por el que nos gustaría buscar pero que está en un segmento fuera de esa tabla de búsqueda, ese campo que nos obliga a generar una búsque

3 2
1 187
Artículo
· 29 oct, 2021 Lectura de 2 min
Trucos para gestionar errores en ObjectScript

ObjectScript tiene diferentes formas para gestionar errores (códigos %Status, %Exception, SQLCODE, etc). La mayor parte del código de sistema utiliza códigos %Status pero las %Exception son en ocasiones más fáciles de gestionar.

Si tienes que trabajar o mantener aplicaciones con cierto recorrido seguramente acabes lidiando con distintas técnicas de gestión de errores. A continuación os dejo una chuleta u hoja de trucos que puede servir como referencia. ¡Espero que os sea útil!

3 0
0 110
Artículo
· 12 ene, 2023 Lectura de 11 min
Cómo depurar el código ObjectScript con VS Code

Visual Studio Code (VS Code) es el editor de códigos más popular del mercado. Fue creado por Microsoft y distribuido como IDE gratuito. VS Code es compatible con docenas de lenguajes de programación, incluido ObjectScript.

Hasta 2018, Atelier (basado en Eclipse), se consideraba una de las principales opciones para desarrollar los productos de InterSystems. Sin embargo, en diciembre de 2018, cuando la Comunidad de Desarrolladores de InterSystems lanzó el soporte para VSCode, una parte relevante de los profesionales de InterSystems comenzaron a utilizar este editor y lo siguen haciendo desde entonces, especialmente los desarrolladores que trabajan con nuevas tecnologías (Docker, Kubernetes, NodeJS, Angular, React, DevOps, Gitlab, etc.).

Algunas de las mejores características de VSCode son las funciones de depuración. Por eso, en este artículo mostraré en detalle cómo depurar un código ObjectScript, incluido el código de clase y el código %CSP.REST.

3 0
0 314
Artículo
· 14 abr, 2025 Lectura de 15 min
InterSystems para dummies – Machine learning

Como todos sabemos, InterSystems es una gran empresa.

Sus productos pueden ser tan útiles como complejos.

Sin embargo, a veces nuestro orgullo nos impide admitir que quizá no entendamos algunos conceptos o productos que InterSystems nos ofrece.

Hoy comenzamos una serie de artículos que explican, de forma sencilla y clara, cómo funcionan algunos de los complejos productos de InterSystems.

En este ensayo, aclararé qué es el Machine Learning y cómo aprovecharlo... porque esta vez, SABRÁS con certeza de qué estoy hablando.

3 0
0 21