Artículo Ricardo Paiva · sep 6, 2024 5m read

En la sección anterior, exploramos el proceso de instalación y comenzamos a escribir el IRIS en Python nativo. Ahora procederemos a examinar el recorrido global y a interactuar con los objetos de la clase IRIS.

get: esta función se utiliza para obtener valores del nodo de recorrido

def traversal_firstlevel_subscript():
    """
    ^mygbl(235)="test66,62" and ^mygbl(912)="test118,78"
    """
    for  i in irispy.node('^mygbl'):
        print(i, gbl_node.
0
0 102
Artículo Ricardo Paiva · sep 2, 2024 4m read

Hola Comunidad

Anteriormente he experimentado con Python embebido en IRIS; sin embargo, aún no he tenido la oportunidad de implementar IRIS usando Python nativo. En este artículo, mi objetivo es esbozar los pasos que tomé para comenzar a aprender e implementar IRIS dentro de la fuente de Python. También me gustaría agradecer a @Guillaume Rongier y @LuisAngel.PérezRamos su ayuda para resolver los problemas que encontré durante mi reciente instalación PIP de IRIS en Python, lo que finalmente permitió que funcionara correctamente.

Empecemos a escribir IRIS en python.

0
0 125
Artículo Ricardo Paiva · ago 12, 2024 4m read

Una solución de control de versiones eficaz permite a las organizaciones gestionar bases de código complejas, facilitar una colaboración sin fisuras dentro de los equipos de desarrollo y agilizar los procesos de despliegue.

Sonic Healthcare, un proveedor líder de servicios médicos corporativos, de práctica general, radiología y patología, ha mejorado significativamente la visibilidad y el control sobre su entorno complejo al implementar el control de versiones de Deltanji.

0
0 94
Artículo Ricardo Paiva · ago 6, 2024 11m read

         

Hola Comunidad,
En este artículo voy a enseñar diferentes usos de InterSystems Embedded Python. Vamos a cubrir los siguientes temas:

  • 1-Visión general de Embedded Python
  • 2-Uso de Embedded Python
    • 2.1 - Uso de una biblioteca Python desde ObjectScript
    • 2.2 - Llamando a las API de InterSystems desde Python
    • 2.3 - Uso conjunto de ObjectScript y Python
  • 3-Uso de las funciones incorporadas de python
  • 4-Módulos o bibliotecas de Python 
  • 5-Casos de uso de Embedded Python
0
0 135
Artículo Ricardo Paiva · jul 26, 2024 2m read

Me encontré en la incómoda situación de trabajar con un sistema Linux en el que alguien había deshabilitado accidentalmente el acceso de los usuarios al shell de Linux. HealthConnect estaba en funcionamiento, atendiendo a cientos de interfaces. Sin embargo, para resolver el problema de acceso, necesitábamos apagar el host para aplicar una solución.

Sin el shell, el comando iris no está disponible para controlar la instancia, por lo que nos enfrentábamos a la posibilidad de apagar el servidor de manera abrupta. Queríamos evitar eso si era posible.

0
0 113
Artículo Ricardo Paiva · jul 18, 2024 8m read

image

Hola Comunidad,

En este artículo, os demostraré los siguientes pasos para crear vuestro propio chatbot utilizando spaCy (spaCy es una biblioteca de software de código abierto para el procesamiento avanzado del lenguaje natural, escrita en los lenguajes de programación Python y Cython):

  • Paso 1: Instalar las librerías necesarias

  • Paso2: Crear el archivo de patrones y respuestas

  • Paso 3: Entrenar el modelo

  • Paso 4: Crear una aplicación ChatBot basada en el modelo entrenado

Empecemos

0
0 473
Artículo Ricardo Paiva · jul 15, 2024 1m read

Hola, espero que este post ayude:

En resumen: MAXLEN es relevante sobre todo para conexiones odbc/jdbc y necesitas especificar un valor apropiado dentro de tus tablas (clases), de lo contrario los datos podrían truncarse cuando los consultes, o incluso fallar cuando intentes insertar datos.

0
0 163
Artículo Ricardo Paiva · jun 28, 2024 9m read

Integrar aplicaciones frontend de React con servicios backend como la base de datos IRIS a través de APIs REST puede ser una forma poderosa de construir aplicaciones web robustas. Sin embargo, un obstáculo común que los desarrolladores suelen encontrar es el problema de Cross-Origin Resource Sharing (CORS), que puede impedir que el frontend acceda a los recursos en el backend debido a restricciones de seguridad impuestas por los navegadores web. En este artículo, exploraremos cómo abordar los problemas de CORS al integrar aplicaciones web de React con servicios backend de IRIS.

0
0 271
Artículo Ricardo Paiva · jun 21, 2024 5m read

Estamos emocionados de seguir lanzando nuevas funciones para InterSystems IRIS Cloud SQL, como la nueva capacidad de Búsqueda Vectorial que se estrenó por primera vez con InterSystems IRIS 2024.1. Cloud SQL es un servicio en la nube que ofrece precisamente eso: acceso SQL en la nube. Esto significa que estaréis usando tecnologías de controladores estándar de la industria como JDBC, ODBC y DB-API para conectaros a este servicio y acceder a vuestros datos. La documentación describe en detalle cómo configurar los ajustes importantes a nivel de controlador, pero no cubre herramientas específicas de terceros, ya que, como podéis imaginar, hay un número infinito de ellas.

En este artículo, complementaremos esa documentación de referencia con pasos más detallados para una popular herramienta de visualización de datos de terceros que varios de nuestros clientes usan para acceder a datos basados en IRIS: Microsoft Power BI.

0
0 286
Artículo Ricardo Paiva · mayo 28, 2024 1m read

Principio: Tras dividir el artículo cargado por el usuario en frases mediante Python, se obtiene el valor incrustado y se almacena en la base de datos Iris. A continuación, la similitud entre las frases se compara a través de la búsqueda vectorial Iris, y finalmente se muestra en la página front-end.

Los pasos de instalación pueden consultarse en el archivo README o Léame. Debe tenerse en cuenta que el modelo BERT utilizado en el ejemplo tiene algunos requisitos de memoria.

0
0 99
Artículo Ricardo Paiva · mayo 15, 2024 3m read

Gitter

Configuración de producción

Esta demostración tiene una producción de interoperabilidad con 16 elementos.

Configuración de producción HL7 + Kafka Producer

La primera parte de esta demostración consiste en enviar un archivo HL7 SIU que será transmitido a los otros 2 flujos HL7 (HTTP y TCP), y transformado y transmitido al servidor Kafka. Los flujos HTTP y TCP transformarán los mensajes HL7 del mismo modo antes de enviarlos también a Kafka.

0
0 163
Artículo Ricardo Paiva · mayo 8, 2024 1m read

Preguntas Frecuentes de InterSystems

Si necesita migrar su servidor por algún motivo, se puede reducir el trabajo de configuración del nuevo entorno. Bastará copiar la información de configuración del entorno previo al nuevo entorno. 

Se puede migrar la siguiente información de configuración.

  • iris.cpf
  • configuración del SQL gateway 
  • configuración del web gateway *Nota 1
  • rutinas de usuario, etc... almacenadas en la base de datos IRISSYS *Nota 2
  • configuración de seguridad 
  • configuración de tareas
0
0 123
Artículo Ricardo Paiva · mayo 2, 2024 2m read

Preguntas frecuentes de InterSystems

Este error ocurre cuando una instancia de la clase ya está abierta en el momento de la compilación.

Hay dos formas de abordar este problema:

  1. Terminar el proceso o aplicación que tiene la instancia abierta
  2. Opciones de compilación en el menú de compilación de Studio: marque el indicador de compilación "Compilar clases en uso" y compile.

Si desea determinar qué proceso está utilizando la clase, pruebe la rutina de ejemplo siguiente.

/// Test.
0
0 116
Artículo Ricardo Paiva · abr 26, 2024 4m read

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:

ClassMethod RunVersionChange() As %Status
{
    Set sample = ##class(dado.TblSample).%OpenId("42")
    Write !,"VERSIONPROPERTY value: "_ sample.
0
0 141
Artículo Ricardo Paiva · mar 15, 2024 5m read

En este artículo, compartiré el tema que presentamos @Rochael Ribeiro y yo en la Convención Anual (Global Summit) 2023, en la sala "Tech Exchange".

En esa ocasión hablamos de los siguientes temas:

  • Herramientas de Open Exchange para Fast APIs (APIs rápidas)
  • Especificación OpenAPI
  • Desarrollo tradicional vs. Fast API
  • APIs Compuestas (Interoperabilidad)
  • Enfoque Spec-First o Api-First 
  • Gobernanza y Monitorización de APIs
  • Demo (vídeo)
0
0 246
Artículo Ricardo Paiva · feb 9, 2024 5m read

Esta es la cuarta parte de una serie de artículos sobre migración desde las principales bases de datos del mercado a InterSystems IRIS. En esta parte, explicaré los pasos para migrar desde Microsoft SQL Server.

Como describí en los anteriores artículos, actualmente hay varias opciones para hacer la migración. Sin embargo, las dos opciones más populares incluyen el uso de DBeaver (https://openexchange.intersystems.com/package/DBeaver) o SQLGateway. Explicaremos la primera opción aquí. La segunda opción fue explicada por Robert Cemper en un excelente artículo: Migración de base de datos usando SQLgateway.

0
0 254
Artículo Ricardo Paiva · ene 29, 2024 2m read

Preguntas frecuentes de InterSystems

Para resolver el error <PROTECT>, hay que eliminar el atributo de solo lectura de la base de datos de la biblioteca de todo el sistema (IRISLIB para InterSystems IRIS, CACHELIB para Caché/Ensemble/HealthShare (basado en Caché))

Una vez se haya terminado de importar la rutina, hay que acordarse de volver a cambiarla a solo lectura.
 

[Versión 2013.1 y superior]
[Portal de Gestión] > [Administración] > [Configuración] > [Configuración de Sistema] > [Bases de Datos Local] Desmarcad "Mount Read-Only" (Montar solo lectura) en el enlace del nombre de la base de datos.

0
0 125
Artículo Ricardo Paiva · ene 16, 2024 2m read

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.

0
0 85
Artículo Ricardo Paiva · dic 7, 2023 1m read

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")
0
0 95
Artículo Ricardo Paiva · dic 4, 2023 2m read

Preguntas frecuentes de InterSystems

Para crear un error definido por el usuario, hemos de preparar un XML que describa el código de error y el mensaje correspondiente que desea utilizarse como error definido por el usuario.

Hemos de establecer el código de error como un número entero negativo.

<?xml version="1.0" encoding="UTF-8" 
0
0 114
Artículo Ricardo Paiva · nov 23, 2023 2m read

Preguntas frecuentes de InterSystems

Para ejecutar un backup online desde un comando, se puede utilizar la rutina API BACKUP^DBACK.

Este es un ejemplo de realización de un backup completo.

set  status = $$ BACKUP ^DBACK( "" , "F" , "full backup" , "c:\backup\full.cbk" , "Y" , "c:\backup\full-log.log" , " NOINPUT" , "Y" , "Y" , "" , "" )

El valor de retorno es 1 si el backup se realiza con éxito, y 0 si el backup no se realiza correctamente. Por favor, consultad el fichero log para conocer más detalles sobre el fallo.

0
0 81
Artículo Ricardo Paiva · nov 16, 2023 3m read

Preguntas frecuentes de InterSystems

Para rutinas (*.mac)

Se puede ocultar el código fuente exportando/importando solo el *.obj que se genera después de compilar el programa fuente.

El ejemplo de ejecución de comandos especifica EX1Sample.obj y EX2Sample.obj, que se generan al compilar EX1Sample.mac y EX2Sample.mac, como destinos de exportación y los exporta al segundo archivo de argumentos.

Después de pasarlo a otro namespace, se usa el archivo XML exportado para realizar la importación.

0
0 124
Artículo Ricardo Paiva · nov 14, 2023 6m read

Continuamos analizando las posibilidades de Django, y su uso con IRIS. En la primera parte de esta serie, mostramos cómo definir modelos y conectarlos con tablas ya existentes en IRIS; en la segunda parte, mostramos un Portal de Administración, con la capacidad de ver qué datos tenemos en esos modelos, con filtros, edición e incluso paginación.

Ahora es el momento de pasar a la acción real - vamos a crear algunas API Rest, en Django, basadas en los mismos datos que usamos antes, del paquete posts-and-tags.

Para hacerlo, usaremos el framework Django REST

Django REST Framework

El framework Django REST es un potente y flexible kit de herramientas para generar APIs Web.

Algunas razones por las que querrías usar el framework REST:

0
0 191
Artículo Ricardo Paiva · nov 9, 2023 3m read

El problema

En un entorno clínico acelerado, en el que la toma rápida de decisiones es crucial, la falta de sistemas eficientes de almacenamiento y acceso a los documentos plantea varios obstáculos. Aunque existen soluciones de almacenamiento de documentos (por ejemplo, FHIR), el acceso y la búsqueda eficaz de datos específicos de pacientes dentro de esos documentos puede suponer todo un reto.

La motivación

La IA ha hecho que la búsqueda de documentos sea extraordinariamente potente.

0
0 142
Artículo Ricardo Paiva · nov 8, 2023 2m read

Preguntas frecuentes de InterSystems

La información sobre las propiedades definidas en una clase se puede obtener usando las siguientes clases del sistema:

%Dictionary.ClassDefinetion

%Dictionary.PropertyDefinition

El ejemplo de descripción del código es el siguiente.

0
0 154
Artículo Ricardo Paiva · nov 2, 2023 2m read

Preguntas Frecuentes de InterSystems

El significado de cada valor de tiempo de espera es el siguiente.

1. [Tiempo de espera de respuesta del servidor]

Si el procesamiento de IRIS/Caché (ejecución de rutina o consulta) no finaliza dentro de este tiempo establecido, el navegador devolverá un error.

Por ejemplo, si este valor es 60 segundos y se necesitan 90 segundos para ejecutar una rutina/método/consulta, se producirá un error.

0
0 140
Artículo Ricardo Paiva · oct 31, 2023 2m read

Preguntas frecuentes de InterSystems

Una herramienta (utilidad ^GLOBUFF) está disponible para verificar el uso de la memoria caché de la base de datos para cada global.

La utilidad se puede ejecutar directamente o mediante programación en el namespace %SYS .

Así se ejecutaría directamente:

USER>zn "%SYS"
 
%SYS>do ^GLOBUFF
 
Find which globals are using the most buffers.
 
Display the top <25>:     → Press Enter  // Default is to display top 25 globals
 
Total buffers: 102400     Buffers in use: 6926     PPG buffers: 77 (1.
0
0 129
Artículo Ricardo Paiva · oct 20, 2023 1m read

Preguntas frecuentes de InterSystems

ObjectScript permite pasar cualquier número de argumentos utilizando arrays. Se hace añadiendo ... después del nombre del argumento.

Os muestro un ejemplo. En la sentencia del ejemplo, la información del argumento se establece en una variable global (una variable almacenada en la base de datos) para que pueda ser fácilmente verificada después de que se ejecute el método.

Class TEST.ARGTEST1 Extends %RegisteredObject
{
ClassMethod
0
0 130