csp-log-tutorial

Requisitos previos

Aseguraos de tener git instalado.

Creé una carpeta git dentro del directorio mgr de IRIS. Hice clic derecho en la carpeta git y elegí "Git Bash Here" en el menú contextual.

git clone https://github.com/oliverwilms/csp-log-tutorial.git

Clonad mi repositorio de GitHub csp-log-tutorial si queréis probarlo vosotros mismos.

1 0
0 48
Artículo
· 25 nov, 2023 Lectura de 1 min
Como reducir la base de datos IRISTemp

Preguntas frecuentes de InterSystems

Puedes establecer el tamaño máximo de la base de datos IRISTemp en el arranque de IRIS configurando el parámetro MaxIRISTempSizeAtStart.

Después de configurarlo, el sistema truncará IRISTemp al valor establecido (MB) en el siguiente inicio de IRIS. Si el tamaño actual es inferior al especificado MaxIRISTempSizeAtStart, no realizará el truncado. Si se especifica el valor 0 no se realizará el truncado nunca.

Puedes configurarlo en el siguiente menú.

1 1
0 52
Artículo
· 26 abr, 2024 Lectura de 4 min
Comprobación de Versión en objetos. "ERROR:5800"

Si tenéis tablas de sistema que implementan la funcionalidad "VERSIONPROPERTY", podéis encontraros con el error 5800. Este artículo explica cómo se produce este error y proporciona soluciones para resolver el problema.

Cuando se implementa la comprobación de versiones, la propiedad especificada por VERSIONPROPERTY se incrementa automáticamente cada vez que se actualiza una instancia de la clase (ya sea mediante objetos o SQL).

Por ejemplo:

1 0
0 26

En la primera parte de esta serie de artículos hablamos sobre cómo leer un gran fragmento de datos del cuerpo sin procesar de un método HTTP POST y guardarlo en una base de datos como una propiedad stream de una clase. En la segunda parte comentamos cómo enviar archivos y sus nombres envueltos en un formato JSON.

Ahora analizaremos más de cerca la idea de enviar al servidor grandes archivos por partes. Para ello, podemos utilizar varios enfoques. En este artículo se analiza el uso del encabezado Transfer-Encoding para indicar una transferencia fragmentada. La especificación HTTP/1.1 introdujo el encabezado Transfer-Encoding, y la sección 4.1 RFC 7230 lo describió, pero está ausente en la especificación HTTP/2.

1 0
0 116
Artículo
· 27 jun, 2023 Lectura de 12 min
Predicciones con IntegratedML e IRIS

Como sabréis, si leeis habitualmente los artículos que se publican en la Comunidad, el pasado mes de mayo InterSystems organizó el Hackaton del JOnTheBeach2023 celebrado en Málaga. El tema que se propuso fue el del uso de las herramientas de análisis predictivo que InterSystems IRIS pone a disposición de todos los desarrolladores con IntegratedML.

1 0
0 100

Hice una pregunta por correo electrónico y obtuve algunas respuestas de colegas.

Pergunta:

No he podido cambiar la zona horaria en el ultimo container (Ubuntu) de IRIS. Motivos:

  • Soy irisowner y no root

  • No dispongo del comando sudo

En mi Dockerfile he usado los comandos en adjunto de manera a cambiar la zona horaria - a la hora de crearme un nuevo image docker. Sin embargo, estos comandos no me funcionan con un usuario no root.

1 0
0 90

La invención y popularización de LLMs (Large Language Models) como GPT-4 de OpenAI ha desencadenado una ola de soluciones innovadoras que permiten aprovechar grandes volúmenes de datos no estructurados, que eran prácticamente imposibles de procesar manualmente hasta hace poco. Estas aplicaciones pueden incluir la recuperación de datos (echad un vistazo al curso sobre ML301 de Don Woodlock, con una excelente introducción a la Generación Aumentada de Recuperación), el análisis de sentimientos, e incluso agentes de IA totalmente autónomos, por nombrar sólo algunos ejemplos!

En este artículo, quiero demostrar cómo la funcionalidad de Python Embebido de IRIS puede ser utilizada para interactuar directamente con la librería Python de OpenAI, a través de la creación de una sencilla aplicación de etiquetado de datos que asignará automáticamente palabras clave a los registros que metamos en una tabla de IRIS. Estas palabras clave pueden después ser usadas para buscar y categorizar los datos, así como para analítica de datos. Utilizaré reseñas de productos realizadas por clientes como ejemplo de caso de uso.

1 0
0 73

Preguntas frecuentes de InterSystems

Se pueden configurar páginas de error individuales para los siguientes mensajes de error/respuestas del Web Gateway:

  • Error del servidor
  • Servidor ocupado
  • Servidor no disponible
  • Tiempo límite de espera del servidor
  • Conexión cerrada

Los ajustes se realizan en la pantalla Administración del Portal de Gestión ([Administración] > [Configuración] > [Gestión del Web Gateway] > [Configuración] > [Parámetros predeterminados]).

1 0
0 58
Artículo
· 25 jul, 2023 Lectura de 9 min
Modelos de datos en InterSystems IRIS

Antes de empezar a hablar de bases de datos y de los distintos modelos de datos que existen, primero explicaré qué es una base de datos y cómo se utiliza.

Una base de datos es una colección organizada de datos, almacenados y accesibles de forma electrónica. Se utiliza para almacenar y recuperar datos estructurados, semiestructurados o sin procesar, que normalmente están relacionados con un tema o una actividad.

En el corazón de toda base de datos hay al menos un modelo utilizado para describir sus datos. Y según el modelo que utilice, una base de datos puede tener características ligeramente diferentes y almacenar distintos tipos de datos.

Para escribir, recuperar, modificar, ordenar, transformar o imprimir la información de la base de datos, se utiliza un software llamado Sistema de Gestión de Bases de Datos (DBMS, por sus siglas en inglés).

El tamaño, la capacidad y el rendimiento de las bases de datos y sus respectivos DBMS ha aumentado de forma significativa. Esto ha sido posible gracias a los avances tecnológicos en varios ámbitos, como los procesadores, la memoria y almacenamiento de los ordenadores y las redes informáticas. En general, el desarrollo de la tecnología de bases de datos puede dividirse en cuatro generaciones basadas en los modelos o la estructura de los datos: navegacional, relacional, de objetos y post-relacionales.

1 2
0 182

¡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 1
0 134
Artículo
· 11 jul, 2023 Lectura de 3 min
Utilizando JSON en IRIS

¡Hola Comunidad!

El otro día vi un artículo sobre el uso del paquete %ZEN cuando se trabaja con JSON y he decidido escribir un artículo para describir un enfoque más actualizado. Hace no mucho se dio el paso de usar %ZEN.Auxiliary.* a clases JSON dedicadas. Esto permite trabajar con JSONs de forma más orgánica.

Llegados a este punto hay básicamente 3 clases principales para trabajar con JSON:

  • %Library.DynamicObject - proporciona una manera simple y eficiente de encapsular y trabajar con documentos JSON estándar. También nos da la posibilidad de, en vez de escribir el código habitual para crear la instancia de una clase como
set obj = ##class(%Library.DynamicObject).%New()

usar la siguiente sintaxis

set obj = {}
  • %Library.DynamicArray - proporciona una manera simple y eficiente de encapsular y trabajar con matrices JSON estándar. Con los arrays se puede usar el mismo enfoque que con los objetos, lo que significa que o bien se puede crear una instancia de la clase
set array = ##class(%DynamicArray).%New()

o se puede hacer usando corchetes []

set array = []
  • %JSON.Adaptor es una utilidad para mapear objetos de ObjectScript (registrados, serial o persistentes) a textos JSON o entidades dinámicas.
1 1
0 113

La versión 2023.2 de InterSystems IRIS Data Platform, InterSystems IRIS for Health e InterSystems IRIS Studio ya está disponible de manera general (GA).

ASPECTOS DESTACADOS DE LA NUEVA VERSIÓN

2023.2 es una versión CD (Continuous Delivery). Se han añadido muchas actualizaciones y mejoras:

Servidor Web Privado

Empezando en esta versión:

1 0
0 69

¡Volvemos al ataque con la Quiniela! 8ª jornada en Primera y Segunda División y con la QuinielaML deseando resarcirse de los 4 aciertos del pasado fin de semana. Aquí tenemos el boleto de esta jornada:

Y estas son las predicciones para Primera División:

Y ahora para Segunda División:

1 1
0 118
InterSystems Official
· 26 oct, 2023
Finaliza el soporte a CentOS

CentOS dejará de ser una plataforma de desarrollo soportada desde la versión 2023.3 de InterSystems IRIS.

CentOS ha sido una plataforma de desarrollo soportada para que todos los desarrolladores tengan un equivalente de uso gratuito a Red Hat Enterprise Linux (RHEL) al programar con IRIS. Como seguramente sabréis, Red Hat ha realizado cambios significativos en CentOS, que ha pasado a ser la "fuente" de RHEL. Esto significa que tiene errores y funcionalidades aún no incluidas en RHEL, lo que puede provocar problemas de desarrollo en dicha plataforma.

Animamos a los desarrolladores que usen CentOS a aprovechar el programa gratuito para desarrolladores y conseguir licencias de desarrollo gratuitas en RHEL.

IRIS 2023.2 (y anteriores) continúa siendo soportada en CentOS.

1 0
0 42

Estamos encantados de anunciar una nueva sección en la documentación de InterSystems, que hace más fácil actualizar InterSystems IRIS®, InterSystems IRIS® for Health™ y HealthShare® Health Connect. La Lista de Comprobación de Actualizaciones (en https://docs.intersystems.com/upgrade) muestra todo lo que hay que tener en cuenta - y solo lo que hay que tener en cuenta – en una actualización entre dos versiones cualquiera. La lista recopila todo el contenido de nuestro "Historial de Incompatibilidades" y añade unos filtros muy útiles, categorías de nivel superior y la posibilidad de exportar la lista como un archivo CSV, para que se pueda usar como una verdadera lista de comprobación mientras se trabaja en una actualización.

Os pongo un ejemplo inspirador:

1 1
0 45

Parece que fue ayer cuando hicimos un pequeño proyecto en Java para probar el rendimiento de IRIS, PostgreSQL y MySQL (podéis revisar el artículo que escribimos allá por Junio al final de este artículo). Si recordáis IRIS se mostró superior a PostgreSQL y claramente superior a MySQL en las inserciones, no habiendo gran diferencia en las consultas.

Poco después @Dmitry Maslennikov me dijo "¿Por qué no pruebas desde un proyecto en Python?" pues bien, aquí está la versión en Python de las pruebas que realizamos mediante las conexiones JDBC previamente.

1 2
0 82
Pregunta
· 31 ene, 2024
¿Cómo clonar un namespace?

Hola comunidad.

Hemos desarrollado una nueva versión de una producción, todo el código es nuevo y ha cambiado BP. Esta aplicación carga información para algunas marcas y la almacena en la base de datos.

El cliente quiere implementar los cambios solo para algunas marcas porque quiere verificar las marcas pequeñas antes de implementarlos para todas las marcas.

Mi propuesta es crear un nuevo namespace, con el nuevo código, y deshabilitar todas las marcas excepto la marca que quiere probar.

Me pregunto cuál es la mejor manera de clonar el namespace.

1 6
0 99
InterSystems Official
· 27 oct, 2023
Finaliza el soporte a VxFS

InterSystems finalizará el soporte al uso del sistema de archivos VxFS con InterSystems IRIS y lo marcará como deprecated (depreciado, obsoleto, en desuso) a partir del lanzamiento de InterSystems IRIS 2023.3. InterSystems seguirá dando soporte a los clientes existentes que utilicen la tecnología, pero no lo recomienda para nuevas implementaciones.

1 0
0 40
Artículo
· 7 dic, 2023 Lectura de 1 min
Cómo ejecutar comandos del SO

Preguntas frecuentes de InterSystems

Cuando ejecutéis comandos del SO, utilizad el comando $ZF(-100).

do $ZF(-100,"",program,args) // Execute the Windows command [synchronously].
do $ZF(-100,"/ASYNC",program,args) // Executes a Windows command [asynchronously].

Cuando ejecutéis comandos de la shell del SO, como mkdir o copy, hemos de especificar /SHELL.

do $zf(-100,"/shell /async","mkdir","c:\temp\x")

1 0
0 46

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 32

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 1
0 84

¿No pensaríais que nos íbamos a quedar sin predicciones de la quiniela para este fin de semana, no? ¡Y menos en la jornada del clásico! Aquí estamos una jornada más exprimiendo las capacidades de InterSystems IRIS.

Veamos cual es la quiniela de esta jornada:

Y nuestras predicciones para Primera División:

Y Segunda División:

1 3
0 71

Preguntas frecuentes de InterSystems

Si se establece una relación y hay una gran cantidad de n en una proporción de 1:n, se puede consumir una gran cantidad de memoria debido al procesamiento secuencial de la relación.

Después de hacer referencia a un objeto de muchos lados en un programa y cambiarlo internamente, simplemente liberar la variable que contiene el OREF (eliminarla, establecer otro valor, etc.) no liberará el objeto de muchos lados ni el objeto de relación. Ésta es la causa.

1 0
0 35