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 198
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 186
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 57

      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 61

      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 51
      Artículo
      · 29 feb, 2024 Lectura de 5 min
      Poniendo a prueba el Columnar Storage

      Como seguramente ya sabréis la mayoría de vosotros, desde aproximadamente finales de 2022 InterSystems IRIS incluyo la funcionalidad de almacenamiento columnar a su base de datos, pues bien, en el artículo de hoy vamos a ponerla a prueba en comparación con el almacenamiento en filas habitual.

      1 2
      0 87
      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 259

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

      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 192

      ¡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 109
      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 69

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

      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 123
      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 209
      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 279
      Artículo
      · 14 dic, 2022 Lectura de 2 min
      Log de datos de un servidor web real

      Me gustaría compartir con la comunidad un log de datos de un servidor web de un cliente nuestro desde hace muchos años, una compañia operadora.

      Su servidor web funciona sobre Apache y contiene datos útiles para analizar la carga y la actividad de los motores de búsqueda.

      Tras instalar el proyecto, podrás ver los datos generados durante unos cuantos meses y que muestran la carga y la actividad típica de clientes, bots... también podrás ver cómo dicha carga depende del día de la semana, si son vacaciones o no, así como del momento del día.

      0 0
      0 67

      La Función como Servicio (FaaS) es un modelo de computación en la nube que proporciona una plataforma que permite a los clientes desarrollar, ejecutar y gestionar funcionalidades de aplicaciones sin la complejidad de crear y mantener la infraestructura típicamente asociada con el desarrollo y lanzamiento de una app. Crear una aplicación siguiendo este modelo es una forma de conseguir una "arquitectura sin servidor ", y se suele utilizar cuando se crean aplicaciones basadas en microservicios.

      Wikipedia

      FaaS es un enfoque muy popular para ejecutar cargas de trabajo en la nube, permitiendo a los desarrolladores centrarse en escribir código.

      Este artículo muestra cómo desplegar métodos de InterSystems IRIS con un modelo FaaS.

      0 0
      0 106

      YASPE es el sucesor de YAPE (Yet Another pButtons Extractor). YASPE ha sido escrito desde cero con muchos cambios internos para facilitar el mantenimiento y añadir mejoras.

      Funcionalidades de YASPE:

      • Analizar y representar gráficamente los archivos de InterSystems Caché pButtons e InterSystems IRIS SystemPerformance para un rápido análisis de rendimiento de las métricas de IRIS y del Sistema Operativo.
      • Facilitar un análisis profundo, creando gráficos tanto ad-hoc como combinando métricas de IRIS y del Sistema Operativo con la opción "Pretty Performance".
      • La opción "System Overview" te ahorra tener que buscar en los archivos SystemPerformance detalles del sistema u opciones de configuración comunes.

      YASPE está escrito en Python y está disponible en GitHub como código fuente o para contenedores Docker en:


      0 0
      0 49
      Artículo
      · 14 dic, 2022 Lectura de 1 min
      Rutinas con privilegios y $Roles

      Las rutinas con privilegios te permiten elevar los roles de un usuario mientras las utiliza. Estas rutinas con privilegios (Privileged Routine Application) pueden utilizarse con rutinas y también con clases / métodos.

      Cuando las utilices, es importante asegurarse de incluir new $ROLES, antes de elevar los privilegios con AddRoles(). Por ejemplo:

       new $ROLES
       set status=$System.Security.AddRoles("MyPrivilegedRoutineApplication")

      0 0
      0 92