Artículo
· 24 feb, 2020 Lectura de 6 min
Escribir bucles más eficientes en Caché ObjectScript

El tema del rendimiento de los bucles for/while en Caché ObjectScript surgió recientemente en una discusión, y me gustaría compartir algunas ideas/prácticas recomendadas con el resto de la comunidad. Aunque este es un tema básico por sí mismo, es útil conocer con cuales se obtiene un mayor rendimiento.

1 1
0 316

Algunos de vosotros no conoceréis esta limitación o problema conocido que se produce en los Procesos de Negocio (Business Processes) basados en BPL.

Aquellos que no estabais al tanto quizá os habéis encontrado esto:

ERROR <Ens>ErrBPTerminated: Terminating BP <my_process_name> # due to error:

ERROR #7201: Datatype value 'xxS6xxS6...xxS6' length longer than MAXLEN allowed of 5
1 0
0 76

Este artículo es una continuación de esta publicación.

En ese artículo, expliqué cómo funciona el menú de Interoperabilidad para su integración en el sistema.

En este artículo, me gustaría explicar cómo desarrollar una integración de sistemas utilizando el menú de interoperabilidad.

En primer lugar, ¿qué tipo de proceso quieres crear? Mientras piensas en ello, prepara el siguiente contenido.

1 0
1 274

Hola desarrolladores,

Estoy seguro de que os habéis encontrado esta situación: necesito autenticar los usuarios - que pueden acceder a la instancia de InterSystems IRIS (for Health) o Health Connect – mediante LDAP (Active Directory u OpenLDAP). En este artículos quiero compartir con vosotros lo sencillo que es la autenticación/integración mediante LDAP. Crearemos una configuración mínima de manera a autenticar los usuarios mediante consulta a OpenLDAP.

1 0
0 203
Artículo
· 31 ago, 2022 Lectura de 2 min
Python Embebido y tcl tkinter en Windows

Si tu código de Python Embebido llama a la librería tkinter (que es usada por muchas librerías especializadas en la creación de gráficos, como matplotlib), puede que obtengas este error:

<THROW> *%Exception.PythonException <CLASS DOES NOT EXIST> 230 ^^0^DO ##CLASS(User.Test).Test() 
<class '_tkinter.TclError'>: Can't find a usable init.tcl in the following directories:

c:/intersystems/irispy/lib/python/lib/tcl8.6
c:/intersystems/irispy/lib/tcl8.6
c:/intersystems/lib/tcl8.6
c:/intersystems/irispy/library
c:/intersystems/library
c:/intersystems/tcl8.6.9/library
c:/tcl8.6.9/library

This probably means that Tcl wasn't installed properly.

1 0
1 136
Artículo
· 16 mayo, 2023 Lectura de 7 min
¡¿Qué es HL7v2?!

HL7 (Health Level 7) es un conjunto de especificaciones técnicas para el intercambio informatizado de datos clínicos, financieros y administrativos entre Sistemas de Información Hospitalaria (HIS). Estas especificaciones se integran de diversas formas en el conjunto de Normas oficiales americanas (ANSI) e Internacionales (ISO).

La L7 de HL7 indica que es una norma que opera en la capa 7, es decir, en la capa de aplicación, del modelo OSI. Esto significa que HL7 no tiene que tener en cuenta las consideraciones de seguridad en el intercambio, ni las de transporte de mensajes (de eso se encargan capas de nivel inferior como SSL/TLS para la seguridad o TCP para el transporte de datos, por ejemplo). Para ser más precisos, la capa 7 soporta las comunicaciones para los procesos y aplicaciones de usuario final y la presentación de datos para las aplicaciones de software orientadas al usuario. Al ser la capa más alta del modelo OSI, y la más cercana al usuario final, la capa 7 proporciona funciones específicas de la aplicación, como identificar la comunicación de los partners y la calidad del servicio entre ellos, determinar la disponibilidad de recursos, considerar la privacidad y la autenticación del usuario, y sincronizar la comunicación, así como conectar la aplicación con los niveles inferiores del modelo OSI.

1 0
0 191
Artículo
· 4 ago, 2023 Lectura de 2 min
Cómo monitorizar vuestra actividad en la Comunidad

¡Hola Comunidad!

Si queréis saber cómo os va en la Comunidad y ver vuestras estadísticas, no hace falta que vayáis a vuestro perfil y os desplacéis por todas vuestras publicaciones (aunque también es posible). Para mayor comodidad, podéis utilizar el Panel de Estadísticas.

En él podéis ver las estadísticas detalladas de vuestras publicaciones, para los últimos 7 días (pestaña "Semana"), los últimos 30 días (pestaña "Mes") y desde siempre (pestaña "Siempre"), incluyendo:

  • número de visualizaciones, likes, comentarios y seguidores conseguidos
  • gráficos temporales con el número de visualizaciones, likes, acciones en vuestras publicaciones y comentarios
  • una tabla con información sobre visualizaciones, comentarios y likes de cada una de vuestras publicaciones

      1 0
      0 59

      En este artículo, analizaremos las complejidades de configurar tablas y gráficos para mejorar la legibilidad de los datos.

      Logi ofrece una amplia gama de herramientas de visualización de datos. Se puuede encontrar de todo, desde una amplia variedad de plantillas de gráficos hasta estilos CSS personalizados. Comprender la variedad de configuraciones y opciones puede resultar bastante difícil. Primero, crearemos un gráfico y una tabla con la configuración predeterminada y les daremos un aspecto presentable utilizando InterSystems Reports (basado en tecnología de Logi Report).

      1 0
      0 64

      Volvemos al ataque con nuestro ejemplo de uso de FHIR Adapter, en este artículo vamos a revisar como podemos configurarlo en nuestras instancias de IRIS y cual es el resultado de la instalación.

      Los pasos realizados para la configuración del proyecto son los mismos que indica la documentación oficial, podéis revisarlos directamente aquí. Pues bien, ¡manos a la obra!

      1 0
      1 54
      Artículo
      · 29 jul, 2019 Lectura de 4 min
      Búsquedas en campos de texto libre de forma rápida

      ¡Hola a tod@s!

      Hoy os traigo un artículo de Kyle Baxter sobre búsquedas de texto libre que vale la pena guardar como referencia :)

      ¿Os gustaría buscar de forma eficiente campos de texto libres almacenados en vuestra aplicación? ¿Lo habéis intentado alguna vez pero no habéis encontrado una manera que os ofrezca un buen rendimiento? Hay un truco especial que resuelve el problema :)

      0 1
      0 261

      ¡Hola desarrolladores!

      El desarrollo de una aplicación web Full-Stack en JavaScript con Caché requiere que juntes los bloques correctos para construirla. En la primera parte de este artículo, creamos una aplicación básica para desarrollar el frontal de usuario (front-end) en React. En esta segunda parte, mostraré cómo elegir la tecnología más adecuada para desarrollar la parte servidora (back-end) de tu aplicación. Verás que Caché te permite utilizar diferentes enfoques para vincular tu front-end con tu servidor de Caché, dependiendo de las necesidades de tu aplicación. También configuraremos un back-end mediante Node.js/QEWD y CSP/REST. En la siguiente parte, vamos a mejorar nuestra aplicación básica web y la conectaremos a Caché usando estas tecnologías.

      0 0
      0 1.7K
      Artículo
      · 13 mayo, 2021 Lectura de 13 min
      Compilaciones en InterSystems IRIS

      El orden es una necesidad para todos, pero no todos lo entienden de la misma manera (Fausto Cercignani)

      Nota de traducción: este articulo se publicó originalmente basado en Caché. Para esta traducción se revisó todo el contenido usando InterSystems IRIS.

      Descargo de responsabilidad: En este artículo se utilizan el ruso y el alfabeto cirílico como ejemplos, pero esto solamente es importante para las personas que utilizan InterSystems IRIS en lugares en los que no se habla inglés. Ten en cuenta que este artículo se refiere principalmente a las compilaciones de NLS, que son diferentes a las compilaciones de SQL. Las compilaciones en SQL (por ejemplo, SQLUPPER, SQLSTRING, EXACT que significa que no hay compilación, TRUNCATE, etc.) son funciones reales que se aplican de manera explícita a algunos valores, y cuyos resultados a veces se almacenan explícitamente en los subíndices de los *globals. De hecho, cuando se almacenan en subíndices, de forma natural estos valores seguirían la compilación de NLS (“Compilaciones de SQL y NLS”).*

      0 0
      0 122

      Hola a todos,

      Compartimos hoy un truco que quizá le resulte útil a aquellos que tienen que trabajar con JavaScript embebido.

      Si tienes que trabajar con CSP o Zen probablemente más de una vez has necesitado utilizar JavaScript embebido. Supón que tienes que programar algunos bucles, que utilizan los caracteres < o > en alguna expresión, por ejemplo:

      0 0
      0 86

      ¡Hola, desarrolladores!

      En este artículo mostraré cómo configurar un repositorio FHIR + configuración del servidor de autorización/de recursos OAuth2 en IRIS for Health, como continuación del artículo anterior.

      En la Parte 1, presentamos los preparativos preliminares, configuramos el servidor de autorización OAuth2 y obtuvimos el token de acceso.
      En la Parte 2, mostraremos cómo crear un repositorio FHIR y cómo configurar un servidor de recursos/cliente OAuth2.

      0 0
      0 194

      ¡Hola desarrolladores!

      A menudo, tenemos que implementar algunos datos junto con código de aplicación.

      Y para los desarrolladores de InterSystems IRIS, la pregunta podría ser: "¿Cómo puedo desplegar los datos que tengo en globals?"

      InterSystems IRIS Globals Model QuickStart | InterSystems

      En este artículo, os propongo uno de los métodos - desplegar los datos de los globals utilizando el ZPM package manager.

      0 0
      0 82
      Artículo
      · 29 jul, 2021 Lectura de 2 min
      Condiciones WHERE estáticas

      En SQL, la condición más frecuente WHERE se relaciona principalmente con el contenido de las filas en las que trabajas.
      Por lo tanto, debe calcularse y verificarse para cada fila a la que accedas.
      Distinto es el caso (y por eso la llamé ESTÁTICA) de una condición WHERE independiente de las filas a las que accedes.

      0 0
      0 144
      Artículo
      · 31 ago, 2021 Lectura de 2 min
      FOREACH para ObjectScript

      Como sabes, ObjectScript no tiene un comando o función de sistema FOREACH.
      Pero tiene un amplio margen para la creatividad.

      Pero la tarea es recorrer una matriz global o local y hacer algo PARA CADA elemento.

      Hay dos posibles soluciones:

      • Crear una macro que genere las secuencias de código requeridas
      • Crear un comando extendido para realizar la acción.

      0 0
      0 110
      Artículo
      · 18 nov, 2021 Lectura de 2 min
      Descripción de la aplicación fhir-integratedml-example

      Hablando con mi amigo @Renato Banzai, especialista en Machine Learning, me expuso uno de los mayores retos a los que se enfrentan actualmente las empresas: la implementación del Machine Learning (ML) y la Inteligencia Artificial (IA) en entornos reales.

      Intersystems IRIS ofrece IntegratedML. IntegratedML es una excelente herramienta para practicar, probar y realizar implementaciones de modelos de ML e IA.

      0 0
      0 70

      ¡Hola desarrolladores!

      Hace un tiempo lanzamos InterSystems Package Manager - ZPM. Uno de los objetivos de ZPM es permitir empaquetar soluciones y enviarlas al registro de ZPM para que su implementación sea tan sencilla como el comando "install tu-paquete".

      Para ello es necesario introducir el archivo module.xml en tu repositorio, que describe en qué consiste tu paquete de InterSystems IRIS.

      En este artículo se describen las diferentes partes de module.xml, que te ayudarán a configurar el tuyo.

      Comenzaré por el paquete samples-objectscript, que instala en IRIS la aplicación Sample ObjectScript y se puede instalar mediante:

      zpm: USER>install samples-objectscript

      Este es probablemente el paquete más sencillo y aquí está el archivo module.xml, que describe el paquete:

      <?xml version="1.0" encoding="UTF-8"?>
      <Export generator="Cache" version="25">
        <Document name="samples-objectscript.ZPM">
          <Module>
            <Name>samples-objectscript</Name>
            <Version>1.0.0</Version>
            <Packaging>module</Packaging>
            <SourcesRoot>src</SourcesRoot>
            <Resource Name="ObjectScript.PKG"/>
          </Module>
      
        </Document>
      </Export>
      
      0 0
      0 143

      A veces es necesario ejecutar comandos desde la consola del sistema operativo del servidor, en el que se localiza tu programa ObjectScript, para lanzar programas, servicios de sistema operativo, programar tareas cron... entre otras actividades. Para ello, el lenguaje tiene una función llamada $ZF(-100). Se usa así:

      0 0
      0 124
      Artículo
      · 16 mayo, 2022 Lectura de 3 min
      ¿Cómo de segura es una contraseña?

      ¿Cómo podemos comprobar si una contraseña es suficientemente segura, para evitar que sea descifrada? ¿Y cómo podemos crear una contraseña segura?

      He desarrollado una herramienta que puede ayudar con esto. Puedes encontrarla en OpenExchange. Instálala con zpm

      zpm "install passwords-tool"

      Este módulo instalará solo una clase caretdev.Passwords, que contiene algunos métodos que pueden ayudarte.

      0 0
      0 211
      Artículo
      · 8 jun, 2022 Lectura de 4 min
      Cómo hacer que Github ejecute tus pruebas unitarias

      Hola desarrolladores!

      Este es otro artículo para simplificar la vida de los desarrolladores. Hablamos de hacer que GitHub ejecute tus pruebas unitarias (unittest) con cada push que hagas a tu repositorio simplemente añadiendo un fichero. Gratis :). En GitHub Cloud. Suena genial, ¿no?

      Es factible, y además muy sencillo. El mérito es para @Dmitry Maslennikov (y su repo), el gestor de paquetes ZPM y las GitHub Actions. Vamos a ver cómo funciona todo en conjunto.

      Something for Nothing by Robert Sheckley - YouTube

      0 0
      0 283