La Comunidad de desarrolladores de InterSystems es una comunidad de 22,359 desarrolladores increíbles
¡Somos un lugar donde los programadores de InterSystems IRIS aprenden y comparten, se mantienen actualizados, crecen juntos y se divierten!
Artículo
· 2 dic, 2022 Lectura de 2 min
Entorno Virtual de Python Embebido (venv)

Si usáis Python, podéis utilizar el módulo venv para crear un entorno virtual. Este módulo es la manera recomendada de crear y gestionar entornos virtuales.

Un entorno virtual es una herramienta que ayuda a mantener separadas las dependencias requeridas por diferentes proyectos, mediante la creación de entornos virtuales aislados de Python para ellos. Resuelve el dilema “El proyecto X depende de la versión 1.x pero el proyecto Y necesita la 4.x”, y mantiene limpio y manejable el directorio site-packages global.

Así que si trabajáis mucho con Python, como yo, podéis usar el módulo venv para crear un entorno virtual para vuestro proyecto. Esto os permitirá instalar paquetes sin que afecte a la instalación de Python global.

Aquí encontraréis dos alias simples para crear y activar un entorno virtual.

Alias de Python

alias venv="python3 -m venv .venv; source .venv/bin/activate"
alias irisvenv="python3 -m venv .venv; source .venv/bin/activate; pip install https://github.com/grongierisc/iris-embedded-python-wrapper/releases/download/v0.0.1/iris-0.0.1-py3-none-any.whl"

1 0
1 234

Hace poco me di cuenta de que llevaba mucho tiempo sin comentaros las últimas novedades de la extensión de ObjectScript para Visual Studio Code.

Me complace anunciar la versión 2.12.1 de la extensión de ObjectScript, que contiene un buen número de mejoras para hacer la vida más fácil a los desarrolladores. Describo más abajo las más destacadas, incluyendo la petición nº 1 del Global Summit -- ¡Importación de XML!

Como siempre, podéis encontrar la lista completa de modificaciones en el CHANGELOG, incluyendo muchas correcciones de errores y vulnerabilidades.

0 0
0 233

¡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

En el Centro de Soporte Internacional (WRC), vemos a menudo clientes que se han encontrado un problema al visualizar las páginas de catálogos SOAP en el navegador. Estas páginas nos sirven para visualizar el WDSL y poder testear los métodos y servicios descritos en el web service. En este artículo voy a explicar por qué se encuentran este error, y también propondré una solución. Esta explicación se centra en los síntomas observados en InterSystems IRIS, pero se ha podido ver un comportamiento similar en versiones más recientes de Caché.

El problema:

Estás intentando crear nuevos Servicios Web SOAP en InterSystems IRIS. Cuando vas a visualizar el Catálogo SOAP para ver lo que has creado hasta ese momento, aparece este error en tu navegador:

0 0
0 233

Buenas desarrollador!

En este artículo te voy a contar mi experiencia y conocimientos en el poco tiempo que llevo utilizando los distintos productos de InterSystems.

A parte de contar mis vivencias también veremos como hacer una pequeña API Rest con la que poder hacer un CRUD con la base de datos SQL de InterSystems.

Mi historia:

10 2
0 191
Artículo
· 16 jun, 2020 Lectura de 9 min
Logging usando macros en InterSystems Caché

En mi anterior artículo, revisamos los posibles casos de uso para macros, así que pasemos ahora a un ejemplo más completo de usabilidad de macros. En este artículo diseñaremos y crearemos un sistema de registro.

Sistema de registro

El sistema de registro es una herramienta útil para monitorear el trabajo de una aplicación que ahorra mucho tiempo durante la depuración y el monitoreo. Nuestro sistema constaría de dos partes:

  • Clase de almacenamiento (para registros de anotaciones)
  • Conjunto de macros que agregan automáticamente un nuevo registro al registro

2 1
0 211

Hola, buenos días

Primero agradecer su tiempo al leer y responder nuestra cuestión.

Hemos estado leyendo, indagando, investigando respecto a cómo realizar múltiples envíos desde 1 proceso del tipo "DICOM.BP.QueryProcess" a varias operaciones destino

Actualmente estamos usando el ejemplo básico, el que incluye Ensemble, y este dispone de una propiedad mediante la cual desde la producción escribimos a qué operación envía nuestro proceso:

0 1
0 230
Artículo
· 29 dic, 2021 Lectura de 1 min
VSCode-ObjectScript en GitHub

No hace mucho GitHub introdujo una nueva funcionalidad que permite ejecutar muy rápidamente VSCode en el navegador para cualquier repositorio alojado allí. Haz clic en la tecla . en cualquier repositorio o pull-request, o intercambia .com con .dev en la URL, para ir directamente a un entorno VS Code en tu navegador.

github dev

Este VSCode es una versión light de la versión de escritorio, pero funciona totalmente en el navegador. Debido a esto, están limitadas las extensiones permitidas para trabajar así.

Aquí podemos utilizar la flamante nueva versión 1.2.1 de la extensión VSCode-ObjectScript , que ahora puede ser ejecutada en modo Navegador.

0 1
0 210
Artículo
· 22 nov, 2021 Lectura de 4 min
Streams en trazas de interoperabilidad

Hace algún tiempo, empecé a recibir alertas de consumo excesivo de espacio en el sistema de archivos (filesystem) de un cliente, cuya solución utiliza la capa de interoperabilidad (IRIS / Ensemble) de manera masiva.

Me percaté que las bases de datos que crecían eran las dedicadas a la interoperabilidad, mas no la base de datos operacional de la solución, por tanto había que revisar los mensajes de las diferentes integraciones presentes.

1 0
1 230

Buenos días,

Primero, ante todo, muchas gracias de antemano por leernos y responder

Además, agradecer cualquier apoyo, porque es un alivio, apoyo, aporte, auxilio contar con personas con más entendimiento, conocimiento y práctica.

Existe la siguiente necesidad:

Se dispone de 2 circuitos:

1º Circuito DICOM de "Studio" ( Servicio clásico )

Servicio: clase: DICOM.BS.QueryService

Proceso: clase: DICOM.BP.QueryProcess

Operacion: clase: EnsLib.DICOM.Operation.TCP

0 3
0 226

En nuestro artículo anterior vimos como podíamos capturar ficheros de tipo DICOM ubicados en una carpeta de nuestro servidor y como los enviábamos a un PACS (en nuestro caso la solución open source ORTHANC) para su almacenamiento y consulta. Pues bien, en este artículo vamos a tratar el movimiento opuesto.

2 1
0 208
Pregunta
· 14 jun, 2024
Webterminal bloqueado
Buenos dias
Cuando ejecuto algun comando en el webterminal que tiene mucha salida (por ejemplo zw ^IRIS.Msg), el comando se ejecuta bien pero el webterminal se queda en negro durante mucho rato (15 minutos) hasta que me da la salida.
Supongo que es algo de que le cuesta dar todo el texto a traves de la web, ya que el comando en sí tarda muy poco en ejecutarse.

¿Alguien más con este problema, alguna solucion?

Gracias

0 4
0 223
¡Hola Comunidad!
Esta es una explicación acerca de:
  • por qué es importante obtener el $zv (el POR QUÉ),
  • qué significan los componentes de $zv (el QUE),
  • y cómo recopilar $zv (el CÓMO).

(La guía definitiva sobre $zv para la galaxia ISC en palabras sencillas y entendibles).

0 0
0 227

Hola a todos,

Estoy intentado eliminar un item de una producción a través de una rutina que instala y deshabilita items.

Para añadir no tengo problemas, incluso para habilitar y deshabilitar algunos items en particular.

El problema me surge cuando intento eliminar el item de la producción, porque cuando lo hace, la producción se queda inestable y solo vuelve a funcionar cuando se añade nuevamente este item en la colección (o se elimina de forma manual el item en el fichero produccion.cls

Este es mi intento de código:

1 5
0 222

Aquí estamos nuevamente con una nueva jornada de la Quiniela, jornada 34ª de Primera División y 38ª de Segunda. La pasada jornada nos quedamos con la miel en los labios con 9 aciertos, así que habrá que resarcirse esta jornada. Estos son los partidos que entran para esta jornada:

Estás son las predicciones para la Primera División:

1 2
0 186
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 185

¡Hola Comunidad!

En este artículo voy a explicar cómo acceder a la información y a las tablas del dashboard (cuadro de mando) del sistema del Portal de Administración mediante el uso de Python Embebido.

0 1
0 205

¡Hola a tod@s!

En esta serie de artículos me gustaría presentar y discutir varios enfoques posibles para desarrollar software mediante las tecnologías de InterSystems y GitLab. Abordaré temas como:

0 0
0 225

Hola a todos,

Como sabéis, es muy complicado depurar una API Rest de Business Service porque el objeto se crea cuando las aplicaciones reciben una solicitud, por lo que no podemos tener el JobId que podemos usar para depurar.

https://docs.intersystems.com/iris20211/csp/docbook/DocBook.UI.Page.cls?...

Entonces, estoy tratando de obtener el JobId cuando se crea la clase, escribir una traza en el método OnInit() y escribir el JobId en es traza.

0 2
0 222
Artículo
· 28 abr, 2021 Lectura de 8 min
Consejos para depurar con %Status

Introducción

Si resuelves problemas complejos en ObjectScript, probablemente tienes mucho código que funciona con los valores de %Status. Si has interactuado con clases persistentes desde una perspectiva de objetos (%Save, %OpenId, etc.), casi seguro que las ha visto.

Un %Status proporciona una envoltura alrededor de un mensaje de error localizable en las plataformas de InterSystems. Un estado OK ($$$OK) simplemente es igual a 1, mientras que un mal estado ($$$ERROR(errorcode,arguments...)) se representa como un 0 seguido de un espacio seguido de una lista $ListBuild con información estructurada sobre el error.

0 1
1 204