¡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..png)
Embedded Python consiste en la integración del lenguaje de programación Python en el núcleo de InterSystems IRIS, lo que permite a los desarrolladores operar con datos y desarrollar la lógica empresarial de las aplicaciones del lado del servidor utilizando Python.
¡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..png)
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 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"
¡Hola Comunidad!
Os presentamos la 3ª mesa redonda de la Comunidad - 60 minutos de animada charla (en inglés) sobre el tema: Desarrollando con Python.
La idea es juntarse para compartir ideas, experiencias, trucos y consejos. Si tenéis alguna pregunta sobre el tema, podéis escribirla en los comentarios de esta publicación y se responderá y comentará durante la mesa redonda.
🗣 Ponentes: @Guillaume Rongier y @Eduard Lebedyuk
📅 Fecha: Miércoles 23 de noviembre
🕑 Hora: 3:00 PM (CET)

Puede que lo sepáis, pero IRIS es una base de datos con la capacidad de ejecutar código.
La parte de ejecución de código se llama Servidor de Aplicación.
Actualmente IRIS permite dos lenguajes de forma nativa: ObjectScript y Python.
Ejecutar código está bien, pero saber cómo organizarlo es aún mejor.
Para editar producciones programáticamente (interfaces) puedes usar una combinación de APIs de Interoperabilidad y consultas SQL.
Es importante conocer el namespace y la producción en la que estás trabajando.
// Object script
// El namespace activo se guarda en esta variable
$$$NAMESPACE
// Imprimir el namespace
Write $$$NAMESPACE
# Python
import iris
# Este método retorna el namespace activo
iris.utils._OriginalNamespace()
# Imprimir el namespace
print(iris.utils._OriginalNamespace())
>>> DEMONSTRACIÓN
Me gustaría compartir un ejemplo sobre cómo la nueva funcionalidad de Python Embebido en IRIS me ha ayudado en mis rutinas diarias.
Mientras participaba en el proyecto iris-kaggle-socrata-generator con Henrique Dias, tuve que descomprimir conjuntos de datos de Kaggle para poder importarlos.
Conseguí hacerlo fácilmente mediante el uso de la librería zipfile en Python (este código se copió de este stackoverflow):
Method UnZip(pZipFileName As %String, pExtractToDir As %String) As %DynamicArray [ Language = python ]
{
import zipfile
import iris
with zipfile.ZipFile(pZipFileName, 'r') as zip_ref:
zip_ref.extractall(pExtractToDir)
fileList = zip_ref.namelist()
dynarray = iris.cls("%DynamicArray")._New()
for file in fileList:
dynarray._Push(file)
return dynarray
}
Empezamos a usar Azure Service Bus (ASB) como solución de mensajería empresarial hace tres años. La hemos usado para publicar y consumir datos entre muchas aplicaciones de la organización. Como el flujo de datos es complejo, y normalmente se necesitan los datos de una aplicación en muchas otras aplicaciones, el modelo publicador -> múltiples subscriptores resultó muy adecuado. El uso de ASB en la organización es de docenas de millones de mensajes por día, mientras que la plataforma IRIS tiene unos 2-3 millones de mensajes/día.
Cuando empezamos con la integración de ASB, encontramos que el protocolo AMQP no tiene la configuración predeterminada para la implementación de IRIS, por lo que estuvimos buscando una solución alternativa para poder comunicar con ASB.
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.Gracias a las últimas mejoras al soporte de Python en IRIS y al continuo trabajo en el soporte a la DB-API de Python por parte de InterSystems, he implementado el soporte de IRIS en el proyecto Django, en el que la DB-API de Python se usa para trabajar con otras bases de datos.
Vamos a probar una sencilla aplicación en Django, que almacena sus datos en IRIS.

¡Hola desarrolladores!
Tenemos nuevos artículos súper interesantes para leer y disfrutar este verano, gracias a los maravillosos participantes del 3er Concurso de Artículos Técnicos: Edición Python. Hemos recibido
Y ya podemos anunciar los ganadores...
La fecha y la hora son factores importantes en nuestra vida. Porque todas las aplicaciones son interesantes según la fecha y la hora. Pero el mundo está dividido en múltiples zonas horarias. Si nuestro producto se lanza al mundo, para mantener el historial de eventos, debemos convertir todas las horas a nuestra hora local o UTC (Tiempo Universal Coordinado). Por lo que sé, muchos lenguajes de programación conocidos de C#, JavaScript, Java, etc., ofrecían la librería para convertir la fecha y la hora, es decir, con un nombre de zona horaria podemos convertir sin conocer la diferencia horaria.
La base de datos TZ no existe en los productos de InterSystems. En el pasado, escribí la función en C# (C# tiene una librería para esto) y la usé dentro de InterSystems como una clase contenedora.
Pero ahora, IRIS comenzó a ser compatible con Python Embebido. Por eso, podemos usar la conversión de zona horaria de Python en InterSystems fácilmente.
¡Hola Comunidad!
Os invitamos a participar en la tercera edición del Concurso de Artículos Técnicos en Inglés:
🐍 Concurso de Artículos Técnicos de InterSystems en Inglés: Edición Python 🐍
Escribe un artículo en inglés sobre cualquier tema relacionado con el uso de Python con las tecnologías de InterSystems.
Duración: del 20 de junio al 31 de julio - ¡ampliado!
🎁 Premios para todos los participantes: Todas las personas que publiquen un artículo en inglés durante la vigencia del concurso recibirán un premio
🏆 Premios principales: Auriculares inalámbricos Apple AirPods Max; Reloj inteligente Apple Watch SE; Altavoz inteligente Apple HomePod mini / Lápiz inteligente Apple Pencil
Este artículo pretende dar una introducción a qué es gRPC y mostrar un ejemplo de cómo jugar con el Hola Mundo oficial utilizando IRIS Embedded Python.
En este repositorio puedes encontrar todo el código expuesto aquí.
El gRPC (gRPC remote procedure call) es un estilo de API arquitectural basada en el protocolo RPC. El proyecto fue creado por Google en 2015 y está licenciado bajo Apache 2.0. Actualmente el proyecto es soportado por la Cloud Native Computing Foundation (CNCF).
¡Hola Comunidad!
Este artículo muestra cómo crear Pacientes y Recursos de Observación de Pacientes mediante el uso de la aplicación iris-fhir-client.
Recomiendo leer mi primer artículo sobre esta aplicación y ver el vídeo de Youtube antes de continuar.
¡Empezamos!
¡Hola comunidad!
Esta publicación es una introducción a mi aplicación iris-fhir-client en Open Exchange.
Usando Python embebido y con la ayuda de la librería fhirpy, iris-fhir-client puede conectarse a cualquier servidor FHIR abierto.
Obten información de recursos por terminal y mediante el uso de la aplicación web CSP.
¡Hola Comunidad!
Hemos grabado el webinar que hicimos ayer y lo hemos subido al canal de YouTube de la Comunidad de Desarrolladores en español. Si os perdisteis el webinar o lo queréis volver a ver con más detalle, ya está disponible la grabación!
Eduardo Anglada mostró toda la potencia de Python, el nuevo lenguaje de programación añadido a IRIS. Explicó cómo crear datos anónimos, desarrollar cuadros de mando interactivos... ¡y muchas cosas más! Por eso, si queréis conocer la nueva funcionalidad de InterSystems IRIS, ¡no os perdáis el vídeo!
⏯ Explorando las nuevas funcionalidades de IRIS: Python Embebido
¡Hola desarrolladores!
Os invitamos a un nuevo webinar en español: "Explorando las nuevas funcionalidades de IRIS: Python Embebido", el miércoles 30 de marzo, a las 4:00 PM (CEST).
El webinar está dirigido a cualquier desarrollador Python o científico de datos.
Durante el webinar, descubriremos la potencia de Python, el nuevo lenguaje de programación añadido a IRIS. Python es un lenguaje en auge, cuya popularidad aumenta año tras año y que ya cuenta con más de un millón y medio de programadores en el mundo y con miles de librerías a su disposición.
¡Hola comunidad!
En esta publicación voy a explicar cómo mostrar datos en internet usando Python embebido, Marco web Python Flask y jQuery DataTable.
Mostraré los procesos desde la tabla %SYS.ProcessQuery.
<table id="myTable" class="table table-bordered table-striped">
</table> <script>
$(document).ready(function() {
// parse the data to local variable passed from app.py file
let my_data = JSON.parse('{{ my_data | tojson }}');
let my_cols = JSON.parse('{{ my_cols | tojson }}');
$('#myTable').DataTable( {
"data": my_data,
"columns": my_cols,"} );
} );
¡Hola Comunidad!
Esta publicación es una introducción a mi aplicación iris-python-apps, disponible en Open Exchange y creada usando Embedded Python y Python Flask Web Framework. La aplicación muestra algunas de las funcionalidades de Python, como la ciencia de datos, el trazado de datos, la visualización de datos y la generación de códigos QR.

Creo que es por todos conocido que Populate Utility es bastante simple y para muchos casos puede tener una funcionalidad limitada. Solo admite un lenguaje y un país. La lista de valores posibles no tiene muchas opciones.
Hay un tipo de herramienta que puede ayudar con esto, se llama Faker. Se puede implementar en distintos lenguajes, incluido Python. Como IRIS ahora tiene la funcionalidad de Python Embebido (Embedded Python), Python faker se puede implementar en IRIS.
