Anuncio Kevin Kindschuh · sep 3, 2025

Participación en #InterSystems Demo Games


⏯️ AI Smart Data Fabric

Muestra cómo IRIS for Health puede potenciar el desarrollo de la IA con un Smart Data Fabric para entrenar y alimentar vuestros modelos de IA.

Ponentes:
🗣 @Kevin Kindschuh, Senior Sales Engineer, InterSystems
🗣 @Jeffrey Semmens, Sales Engineer, InterSystems

0
0 17
Anuncio Tani Frankel · sep 2, 2025

Participación para #InterSystems Demo Games


⏯️ Estar LISTOS para afrontar los retos de la empresa sanitaria en unos pocos clics

Soluciones en la nube gestionadas para ayudar a optimizar vuestros servicios de salud.

Esta demo muestra cómo componer varios servicios en la nube gestionados de InterSystems para resolver diferentes casos de uso.

El vídeo está formado por 6 capítulos cortos (cada uno de unos 2,5 minutos) que muestran cada parte de la historia, demostrando un servicio diferente.

Podéis ver cada “capítulo” de forma individual si os interesa un servicio concreto, pero también tiene valor ver toda la composición y observar el flujo completo.

  • 0:00Health Connect Cloud - Dispositivo médico MQTT - HL7v2 para sistemas operativos hospitalarios
  • 2:29Servidor FHIR y servicio de transformación FHIR - HL7v2 a FHIR y repositorio para regulación e intercambio
  • 5:21FHIR SQL Builder - Proporcionando acceso relacional estándar a los datos FHIR
  • 7:22"FHIR IntelliChat" (ver nota abajo) - Chat en lenguaje humano natural con el servidor FHIR
  • 9:37Solución OMOP - Transformación de FHIR a OMOP y base de datos OMOP con cumplimiento de herramientas OHDSI
  • 12:54InterSystems Data Fabric Studio for Health -Creando un tejido de múltiples fuentes de datos/aplicaciones

[Nota: la parte de "FHIR IntelliChat" no es un servicio formal de InterSystems, solo es una demostración de una posibilidad (basada en esta solución de @José Pereira)]

Ponentes:
🗣 @Tani Frankel, Sales Engineer Manager, InterSystems
🗣 @Keren Skubach, Senior Sales Engineer, InterSystems
🗣 @Ariel Glikman, Sales Engineer, InterSystems

0
0 24
Artículo Alberto Fuentes · sep 1, 2025 7m read

Las preguntas de atención al cliente pueden abarcar datos estructurados (pedidos, productos 🗃️), conocimiento no estructurado (docs/FAQs 📚) y otros sistemas integrados (actualizaciones de envío 🚚). En este post vamos a construir un agente de IA compacto que cubre los tres—usando:

  • 🧠 Python + smolagents para orquestar el “cerebro” del agente
  • 🧰 InterSystems IRIS para SQL, Búsqueda Semántica (RAG) e Interoperabilidad (una API de seguimiento de envío simulada)

⚡ TL;DR (versión express)

  • Construye un Agente de Atención al Cliente funcional con Python + smolagents orquestando herramientas sobre InterSystems IRIS (SQL, Búsqueda Semántica/RAG, Interoperabilidad con una API simulada).
  • Responde preguntas reales (p. ej., “¿Se entregó el pedido #1001?”“¿Cuál es el plazo de devolución?”) combinando tablas, documentos y llamadas de interoperabilidad.
  • Inicia IRIS en Docker, carga el esquema y datos de ejemplo, prepara los embeddings de los documentos para RAG, registra herramientas (SQL/RAG/API) y ejecuta el agente por línea de comando o interfaz gráfica.

image


🧭 Lo que vas a construir

Un Agente de Atención al Cliente capaz de:

  • 🔎 Consultar datos estructurados (clientes, pedidos, productos, envíos) vía SQL
  • 📚 Recuperar conocimiento no estructurado (FAQs y documentos) con RAG sobre IRIS Vector Search (Búsqueda Vectorial)
  • 🔌 Llamar a una API de seguimiento envío (simulada) mediante el framework de Interoperabilidad de IRIS, con Visual Trace para inspeccionar cada llamada

Arquitectura (resumida)

Usuario ➜ Agente (smolagents CodeAgent)
               ├─ Herramienta SQL ➜ Tablas en IRIS
               ├─ Herramienta RAG ➜ Búsqueda Vectorial en IRIS (embeddings + chunks)
               └─ Herramienta Seguimiento Envío ➜ Interoperabilidad IRIS (simulada) ➜ Visual Trace

¿Conoces smolagents? Es un framework ligero de agentes de Hugging Face en el que el modelo planifica y utiliza tus herramientas; como alternativas, puedes considerar LangGraph y LlamaIndex.


🧱 Prerrequisitos

  • 🐍 Python 3.9+
  • 🐳 Docker para ejecutar IRIS en un contenedor
  • 🧑‍💻 VS Code para revisar el código
  • 🔑 Clave de API de OpenAI (para el LLM y los embeddings) — o ejecútalo localmente con Ollama si lo prefieres

1) 🧩 Clona el repositorio y prepara un entorno Python

git clone https://github.com/intersystems-ib/customer-support-agent-demo
cd customer-support-agent-demo

python -m venv .venv
# macOS/Linux
source .venv/bin/activate
# Windows (PowerShell)
# .venv\Scripts\Activate.ps1

pip install -r requirements.txt
cp .env.example .env   # añade tu clave de OpenAI

2) 🐳 Arranca InterSystems IRIS (Docker)

docker compose build
docker compose up -d

Abre el Management Portal (http://localhost:52773 en esta demo).


3) 🗃️ Carga los datos estructurados (SQL)

Desde el SQL Explorer de IRIS o tu cliente SQL favorito:

LOAD SQL FROM FILE '/app/iris/sql/schema.sql' DIALECT 'IRIS' DELIMITER ';';
LOAD SQL FROM FILE '/app/iris/sql/load_data.sql' DIALECT 'IRIS' DELIMITER ';';

Este es el esquema que acabas de cargar: image

Ejecuta algunas consultas para familiarizarte con los datos. El agente usará estas tablas para resolver preguntas:

-- Listado de clientes
SELECT * FROM Agent_Data.Customers;

-- Pedidos de un cliente
SELECT o.OrderID, o.OrderDate, o.Status, p.Name AS Product
FROM Agent_Data.Orders o
JOIN Agent_Data.Products p ON o.ProductID = p.ProductID
WHERE o.CustomerID = 1;

-- Info de envío de un pedido
SELECT * FROM Agent_Data.Shipments WHERE OrderID = 1001;

✅ Si ves filas, tu parte estructurada está lista.


4) 📚 Añade conocimiento no estructurado con Vector Search (RAG)

Crea una configuración de embeddings (el ejemplo usa un modelo de OpenAI; ajústalo a tu gusto):

INSERT INTO %Embedding.Config
  (Name, Configuration, EmbeddingClass, VectorLength, Description)
VALUES
  ('my-openai-config',
   '{"apiKey":"YOUR_OPENAI_KEY","sslConfig":"llm_ssl","modelName":"text-embedding-3-small"}',
   '%Embedding.OpenAI',
   1536,
   'a small embedding model provided by OpenAI');

¿Quieres los pasos y opciones exactos? Consulta la documentación

Después, genera los embeddings del contenido de ejemplo:

python scripts/embed_sql.py

Comprueba que los embeddings están en las tablas:

SELECT COUNT(*) AS ProductChunks FROM Agent_Data.Products;
SELECT COUNT(*) AS DocChunks     FROM Agent_Data.DocChunks;

🔎 Bonus: Búsqueda híbrida + vectorial directamente desde SQL con EMBEDDING()

Una gran ventaja de IRIS es que puedes hacer búsqueda semántica (vectorial) dentro de SQL y mezclarla con filtros clásicos—sin microservicios extra. La función EMBEDDING() de SQL crea al vuelo el vector de tu texto de búsqueda y puedes compararlo con vectores almacenados usando operaciones como VECTOR_DOT_PRODUCT.

Ejemplo A — Búsqueda híbrida de productos (filtro por precio + ranking semántico):

SELECT TOP 3
    p.ProductID,
    p.Name,
    p.Category,
    p.Price,
    VECTOR_DOT_PRODUCT(p.Embedding, EMBEDDING('headphones with ANC', 'my-openai-config')) score
FROM Agent_Data.Products p
WHERE p.Price < 200
ORDER BY score DESC

Ejemplo B — Búsqueda semántica de fragmentos de documentos (ideal para alimentar RAG):

SELECT TOP 3
    c.ChunkID  AS chunk_id,
    c.DocID      AS doc_id,
    c.Title         AS title,
    SUBSTRING(c.ChunkText, 1, 400) AS snippet,
    VECTOR_DOT_PRODUCT(c.Embedding, EMBEDDING('warranty coverage', 'my-openai-config')) AS score
FROM Agent_Data.DocChunks c
ORDER BY score DESC

¿Por qué es potente? Puedes pre-filtrar por precio, categoría, idioma, tenant, fechas, etc., y luego ordenar por similitud semántica—todo en una sola sentencia SQL.


5) 🔌 Conecta una API de envíos (mock) con Interoperability

El proyecto expone un pequeño endpoint /api/shipping/status a través de la Interoperabilidad de IRIS — perfecto para simular llamadas “del mundo real”:

curl -H "Content-Type: application/json" \
  -X POST \
  -d '{"orderStatus":"Processing","trackingNumber":"DHL7788"}' \
  http://localhost:52773/api/shipping/status

Ahora abre Visual Trace en el Portal para ver el flujo de mensajes paso a paso (como el radar de un aeropuerto ✈️).


6) 🤖 Conoce al agente (smolagents + tools)

Echa un vistazo a estos archivos:

  • agent/customer_support_agent.py — inicia un CodeAgent y registra las herramientas
  • agent/tools/sql_tool.py — utilidades SQL parametrizadas
  • agent/tools/rag_tool.py — búsqueda vectorial + recuperación de documentos
  • agent/tools/shipping_tool.py — llamadas al endpoint de Interoperability

El CodeAgent planifica qué pasos dar y genera código que llama a tus herramientas. Tú pones las herramientas; él pone el cerebro con un modelo LLM.


7) ▶️ Ejecútalo

Modo one-shot (pruebas rápidas)

python -m cli.run --email alice@example.com --message "Where is my order #1001?"
python -m cli.run --email alice@example.com --message "Show electronics that are good for travel"
python -m cli.run --email alice@example.com --message "Was my headphones order delivered, and what’s the return window?"

CLI interactivo

python -m cli.run --email alice@example.com

Web UI (Gradio)

python -m ui.gradio
# open http://localhost:7860

🛠️ ¿Cómo funciona?

Flujo del agente (simplificado):

  1. 🧭 Planifica cómo resolver la pregunta y qué herramientas usar: p. ej., “comprobar estado del pedido → buscar política de devoluciones”.

  2. 🛤️ Llama a las herramientas según se necesite

    • 🗃️ SQL para clientes/pedidos/productos
    • 📚 RAG sobre embeddings para FAQs/docs (recuerda que puedes prototipar RAG directamente en SQL con EMBEDDING() + operaciones vectoriales como arriba)
    • 🔌 Interoperability API para estado de envíos
  3. 🧩 Sintetiza: compone una respuesta clara y precisa.

Añade o cambia herramientas según crezca tu caso de uso: promociones, garantías, inventario, etc.


🎁 Resumen

Ya tienes un Agente de Atención al Cliente compacto que combina:

  • 🧠 Razonamiento LLM (smolagents CodeAgent)
  • 🗃️ Datos estructurados (IRIS SQL)
  • 📚 Conocimiento no estructurado (IRIS Vector Search + RAG) — con el plus de que EMBEDDING() te permite búsqueda híbrida + vectorial directamente desde SQL
  • 🔌 Llamadas a sistemas en vivo (IRIS Interoperability + Visual Trace)
1
1 60
Artículo Ricardo Paiva · sep 1, 2025 3m read

Al comenzar con InterSystems IRIS o Caché, los desarrolladores a menudo se encuentran con tres conceptos fundamentales: Dynamic Objects, Globals y Relational Table. Cada uno tiene su papel en la construcción de soluciones escalables y mantenibles. En este artículo recorreremos ejemplos prácticos de código, destacaremos buenas prácticas y mostraremos cómo estos conceptos se relacionan entre sí.

1. Trabajando con Dynamic Objects:

0
0 37
Artículo Iryna Mykhailova · ago 28, 2025 4m read

El artículo de la August Article Bounty en Global Masters llamó mi atención, y uno de los temas propuestos me pareció bastante interesante para tratarlo. Así que esto es lo que me gustaría contarles a mis estudiantes sobre las tablas en IRIS y cómo se relacionan con el modelo de objetos.

Ante todo, InterSystems IRIS cuenta con un modelo de datos unificado. Esto significa que, cuando trabajáis con datos, no estáis atados a un único paradigma. Los mismos datos pueden ser accedidos y manipulados como una tabla SQL tradicional, como un objeto nativo o incluso como un array multidimensional (un global).

Esto quiere decir que, cuando creáis una tabla en SQL, IRIS genera automáticamente una clase de objeto correspondiente. Y, cuando definís una clase de objeto, IRIS la pone automáticamente a disposición como una tabla SQL. Los datos en sí mismos se almacenan una sola vez en el motor de almacenamiento multidimensional de IRIS, que es muy eficiente. El motor SQL y el motor de objetos son simplemente diferentes “lentes” para ver y trabajar con los mismos datos.

Primero, veamos la correlación entre el modelo relacional y el modelo de objetos:

Relacional Objeto
Tabla Clase
Columna Propiedad
Fila Objeto
Clave primaria Identificador de objeto

No siempre hay una correlación 1:1, ya que podéis tener varias tablas que representen una misma clase, por ejemplo. Pero es una regla general.

0
1 28
Job Sergio Farago · ago 27, 2025

Hola a todos:

Compartimos esta fantástica oferta de prácticas que llega desde InterSystems Iberia.

InterSystems Iberia, S.L. pone a disposición 1 plaza de prácticas de 12 meses a partir de septiembre de 2025 en Madrid, con bolsa de ayuda de 1.150€ brutos/mes y jornada completa. La beca incluye además la matrícula en el Máster de Formación Permanente en Gestión Organizacional, Competencias Clave y Analítica de Datos (MFPGO) de la Universidad Camilo José Cela.

0
0 61
Anuncio Sergio Farago · ago 25, 2025

Hola Comunidad,

Tenemos algo emocionante para vosotros, ha llegado el momento de un nuevo concurso de vídeos demo y esta vez vosotros sois los jueces.

📺 Demo Games para Sales Engineers InterSystems 📺

En este concurso, Sales Engineers de InterSystems de todo el mundo han enviado breves vídeos demo que muestran casos de uso únicos, soluciones inteligentes y potentes capacidades de las tecnologías de InterSystems.

Ahora os toca a vosotros, hemos abierto la votación a toda la Comunidad de Desarrolladores. Vuestra visión y perspectiva como desarrolladores os convierten en los expertos perfectos.

0
0 34
Artículo Sergio Farago · ago 22, 2025 3m read

Entre los muchos colaboradores que dan forma a la Comunidad de Desarrolladores de InterSystems, algunos aportan no solo un profundo conocimiento técnico, sino también una visión a largo plazo y una gran pasión por empoderar a los demás. Una de estas voces excepcionales pertenece a @John Murray, veterano en las tecnologías de InterSystems, defensor del código abierto y miembro fundador de la Comunidad de Desarrolladores.

👏 Echemos un vistazo más de cerca al extraordinario recorrido de John y a su legado en el ecosistema de InterSystems.

0
0 24
Anuncio Sergio Farago · ago 22, 2025

Hola Comunidad,

Os presentamos una nueva función en la Comunidad de Desarrolladores: la posibilidad de añadir un enlace a la Documentación oficial de InterSystems directamente al final de vuestro post.

Cómo funciona
Al publicar un artículo, pegad la URL correspondiente de docs.intersystems.com en el campo Enlace a la Documentación de InterSystems.

0
0 26
Artículo Luis Angel Pérez Ramos · ago 21, 2025 3m read

ObjectScript puede parecer solo otro lenguaje de programación, pero aquí está el giro:

Vuestro código aquí puede vivir para siempre (sí, incluso después de que os hayáis pasado a otro proyecto). Por eso es importante mantenerlo ordenado, fácil de leer y a salvo de errores misteriosos.

(Una guía para principiantes para mantener vuestro código ordenado, amigable y preparado para el futuro)

Bienvenidos a la jungla de ObjectScript, donde vuestro código puede tener un alcance global y ser persistente por naturaleza.
Mantengamos las cosas limpias, legibles y resistentes a errores.

0
0 39
InterSystems Official Jose-Tomas Salvador · ago 20, 2025

Versión 2025.1.0.1.24372U.f00326d.

Resumen

Esta versión ofrece un soporte ampliado para Azure en InterSystems Data Fabric Studio, mayor flexibilidad en suscripciones, actualizaciones importantes de módulos y múltiples mejoras en redes, seguridad y capacidad de respuesta de las API.

Nuevas funciones y mejoras

0
0 38
InterSystems Official Jose-Tomas Salvador · ago 20, 2025

Bienvenidos a la actualización del tercer trimestre de 2025.

En el trimestre pasado tuvimos algunos anuncios importantes que vale la pena reiterar en este trimestre.

  • Se añadió compatibilidad con RHEL 10 en IRIS 2025.1
  • La versión 2025.3 usará OpenSSL 3 en todos los sistemas operativos → SUSE 15 sp6 será el sistema operativo mínimo para las organizaciones que usen SUSE
  • Los requisitos mínimos de CPU aumentarán en 2025.3
  • Las versiones antiguas de Windows Server dejarán de ser compatibles en 2025.
0
0 33
Artículo Sergio Farago · ago 20, 2025 2m read

Hola Comunidad,

A veces puede que necesitéis fusionar varias cuentas o simplemente actualizar la dirección de correo electrónico que usáis en los distintos portales del Ecosistema de Desarrolladores de InterSystems. Dado que cada portal funciona un poco diferente, aquí tenéis una guía para ayudaros en el proceso.

Cambiar vuestro email

Si queréis usar un correo diferente (por ejemplo, usar un correo laboral en lugar de uno personal, o viceversa), así es como podéis actualizarlo en los portales:

1. Actualizad vuestro correo electrónico en InterSystems SSO. Para ello:

  • Seguid las indicaciones en pantalla para cambiar vuestro correo electrónico.
0
0 18
Artículo Alberto Fuentes · ago 20, 2025 6m read

artisan cover

Si alguna vez habéis observado a un verdadero artesano—ya sea un alfarero que convierte barro en una obra maestra o un luthier que transforma madera en una guitarra maravillosa—sabéis que la magia no está en los materiales, sino en el cuidado, el oficio y el proceso. Lo sé por experiencia propia: mi guitarra eléctrica hecha a mano es una fuente diaria de inspiración, pero lo admito—crear algo así es un talento que no poseo.

Sin embargo, en el mundo digital, veo a menudo gente que espera “magia” de la IA generativa escribiendo prompts vagos y sin contexto como “crea una app”. Los resultados suelen ser frustrantemente superficiales—sin arte ni delicadeza. Demasiados esperan milagros de la IA sin aportar contexto ni estructura alguna.

Esa frustración fue lo que nos motivó a crear dc-artisan—una herramienta para artesanos digitales del prompt. Nuestro objetivo: permitir que cualquiera transforme ideas vagas y soñadoras en obras maestras eficientes, funcionales y ricas en contexto.

Como cuando se observa a un maestro artesano convertir materiales brutos en arte, crear con IA generativa trata de intención, preparación y elaboración cuidadosa. El problema no es la IA en sí—es cómo la utilizamos. Así como un lutier debe elegir y moldear cuidadosamente cada pieza de madera, la ingeniería de prompts eficaz exige contexto claro, estructura e intención.

Creemos que el mundo merece más que “prompts mágicos” que acaban en decepción. Una IA generativa potente surge de una guía humana reflexiva: contexto preciso, objetivos reales y una estructura deliberada. Ningún artesano crea belleza por accidente—los resultados fiables de la IA requieren cuidado y preparación.

dc-artisan aborda la ingeniería de prompts como un verdadero oficio—sistemático, enseñable y comprobable. Ofrece un conjunto completo de herramientas para ir más allá del ensayo, error y conjeturas.

Lo primero que hace dc-artisan es tratar de comprender vuestro prompt como lo haría un colaborador atento. Cuando empezáis a redactar, la herramienta interactúa directamente con vuestra entrada:

  • Preguntas aclaratorias: dc-artisan analiza vuestro prompt inicial y formula preguntas concretas para descubrir vuestro objetivo principal, público objetivo, formato esperado y cualquier contexto faltante. Por ejemplo:

    • “¿Qué tipo de resultado esperáis—resumen de texto, código o datos estructurados?”
    • “¿Quién es el público objetivo?”
    • “¿Con qué tipo de entrada o datos se usará este prompt?”

prompt enhance

Estas interacciones os ayudan a aclarar no solo qué queréis que diga el prompt, sino también por qué.

Una vez que vuestra intención está clara, dc-artisan revisa la estructura y ofrece sugerencias personalizadas—mejorando la claridad, el tono y completando detalles esenciales para obtener resultados ricos en contexto y prácticos.

¿Y lo mejor? Podéis usar todas estas funciones directamente dentro de vuestro editor favorito, ¡VS Code! Podéis insertar variables en vuestro prompt (como {task} o {audience}) para mayor flexibilidad y reutilización, y ver al instante cómo quedan los prompts finales con diferentes sustituciones—así sabéis exactamente cómo funcionará en la práctica.

Pero eso no es todo. dc-artisan también permite afinar los prompts para un rendimiento óptimo. Podéis subir un CSV con casos de prueba para evaluar automáticamente la consistencia, calidad de salida y el impacto de la estructura del prompt en diferentes entradas. dc-artisan evalúa cada respuesta y genera informes completos con puntuaciones de calidad y métricas de similitud—para que podáis medir y optimizar la eficacia de vuestros prompts con total confianza.

testing

Crear prompts sin contexto no es arte — es caos

La ingeniería de prompts sin estructura es como tallar madera con los ojos vendados. Podríais crear algo, pero probablemente no tocará ninguna melodía.

Muchos recurren a prompts vagos o sobrecargados—órdenes cortas y ambiguas o páginas de contenido sin estructura. O el modelo no sabe realmente qué queréis, o se pierde en un mar de ruido.

Cuando el contexto de un prompt se vuelve demasiado largo o desordenado, incluso los modelos avanzados de lenguaje pueden perder el foco. En vez de razonar o generar nuevas estrategias, a menudo se distraen, repitiendo contenido anterior o aferrándose a patrones familiares del inicio de la historia del prompt. Irónicamente, los modelos más grandes con ventanas de contexto más amplias (como 32k tokens) son aún más susceptibles a esto. Simplemente proporcionar más contexto (más documentos, prompts más largos, bases de conocimiento enteras) suele ser contraproducente, causando sobrecarga de contexto, objetivos perdidos y resultados confusos.

Precisamente para cubrir esa brecha está diseñado RAG (Generación aumentada por recuperación): no para dar a los LLMs más información, sino para ofrecerles el conocimiento más relevante en el momento adecuado.

Cómo ayudan dc-artisan y el modo RAG Pipeline

dc-artisan unifica la creación de prompts y la gestión del contexto. No solo os ayuda a escribir mejores prompts; también garantiza que vuestra IA reciba información seleccionada y relevante, no una avalancha de datos sin valor.

Con el modo RAG Pipeline, podéis:

  • 📄 Subir y dividir documentos: PDF, DOCX, Markdown, TXT—fácilmente integrables en vuestra base de datos vectorial.
  • 🧬 Inspeccionar fragmentos: Ver cada unidad atómica de texto incrustado con precisión.
  • 🗑️ Limpieza inteligente: Eliminar contenido no deseado o desactualizado directamente desde la extensión, manteniendo la base de conocimientos de vuestra IA bien cuidada y pertinente.

rag

Este flujo de trabajo está inspirado en el Portal de Ideas de InterSystems (ver DPI-I-557)

Así es como podéis integrar sin problemas una nueva sección sobre la arquitectura del backend de dc-artisan justo antes de “Reflexiones finales”, destacando la integración con InterSystems IRIS Interoperability y nuestro adaptador personalizado liteLLM.

Lo que realmente distingue a dc-artisan es su backend robusto, diseñado para ofrecer tanto interoperabilidad como flexibilidad. El motor de la extensión se ejecuta sobre InterSystems IRIS Interoperability, utilizando un adaptador liteLLM desarrollado por nosotros.

Esta arquitectura significa que no estáis atados a un único proveedor de modelos de lenguaje (LLM). En su lugar, podéis conectaros y cambiar sin interrupciones entre una amplia variedad de plataformas líderes de LLM—incluyendo OpenAI, Gemini, Claude, Azure OpenAI, y otras—todo gestionado desde un backend unificado con calidad empresarial.

Conclusiones Finales

Cada vez más desarrolladores descubren que crear prompts no va de adivinar las “palabras mágicas”. Se trata de tener objetivos bien pensados, lenguaje claro y un contexto potente—escribir prompts como ingenieros, no como magos. Así como los lutieres dan forma a la madera para crear instrumentos con alma, vosotros podéis dar forma a prompts que construyan flujos de trabajo con IA fiables y enriquecidos con contexto, utilizando herramientas creadas para vuestro oficio.

dc-artisan es más que una herramienta—es un cambio de mentalidad, del “vibe coding” hacia la claridad, la precisión y una auténtica artesanía digital.

🎸 ¿Listos para construir prompts con vuestras propias manos? ⚙️ Abrid VS Code, instalad dc-artisan y empezad a crear vuestra IA como artesanos—no como magos. 🗳️ Y si os gusta lo que hemos creado, votad por nosotros en el concurso InterSystems IRIS Dev Tools—¡vuestro apoyo significa mucho!

dc-artisan

0
0 30
Artículo Ricardo Paiva · ago 11, 2025 6m read

Resumen

El proyecto typeorm-iris ofrece soporte experimental para integrar TypeORM con InterSystems IRIS, permitiendo a los desarrolladores interactuar con IRIS usando los conocidos decoradores y abstracciones de repositorio de TypeORM. Esto ofrece una experiencia de desarrollo más familiar para los desarrolladores de JavaScript y TypeScript que crean aplicaciones Node.js con IRIS como base de datos backend.

TypeORM MongoDB Review. I recently started using TypeORM in a… | by Eliezer  Steinbock | Medium

Aunque el proyecto implementa los puntos clave de integración con TypeORM y soporta operaciones básicas con entidades, aún no está probado a fondo ni es adecuado para entornos de producción.

0
0 34
Artículo Ricardo Paiva · ago 7, 2025 1m read

Aquí tenéis un ejemplo práctico de cómo importar datos desde un archivo CSV a InterSystems CACHÉ utilizando ObjectScript.
Suponiendo que vuestro archivo CSV sea simple (por ejemplo, separado por comas y con encabezados), podéis usar `%Stream.FileCharacter` para leerlo línea por línea y analizar los datos.
 

ClassMethod ImportCSV(filePath As %String) As %Status {
    Set stream = ##class(%Stream.FileCharacter).%New()
    Set sc = stream.LinkToFile(filePath)
    If 'sc Quit sc

0
0 21
Anuncio Sergio Farago · ago 7, 2025

Hola comunidad,

En pocos días tendremos un encuentro en línea con los ganadores del Concurso de Herramientas para Desarrolladores de InterSystems. Es una excelente oportunidad para charlar con el equipo de expertos de InterSystems y con nuestros concursantes.

¡Incluye demostración de los ganadores!

Fecha y hora: Viernes, 8 de agosto, 11:30 a. m. EDT | 5:30 p. m. CEST

0
0 20
Artículo Luis Angel Pérez Ramos · jul 21, 2025 3m read

¡Saludos estimados miembros de la comunidad!

Muchos recordaréis las capacidades NLP disponibles en IRIS con el nombre de iKnow y que fueron deprecadas hará no mucho tiempo. Pero...¿Deprecado todo? ¡NO! Una pequeña aldea resiste a la deprecación, ¡los índices iFind!

Y os preguntaréis, ¿para qué valen estos magníficos índices? Pues muy sencillo, sirven para indexar los textos presentes en las columnas de tipo String y Stream y acelerar dramáticamente la velocidad de consulta sobre las mismas.

¿Qué son los índices %iFind?

1
1 43
InterSystems Official Jose-Tomas Salvador · ago 6, 2025
La versión 25.1 de InterSystems Reports ya está disponible en el sitio de Distribución de Software de InterSystems, en la sección de Componentes. El software está etiquetado como InterSystems Reports Designer e InterSystems Reports Server y está disponible para los sistemas operativos Mac OSX, Windows y Linux.
Este nuevo lanzamiento incluye mejoras y correcciones de nuestro socio, insightsoftware. InterSystems Reports 25.1 está basado en Logi Report versión 25.1, que incluye:
- soporte para la construcción dinámica de asuntos en la distribución programada de informes por correo electrónico
0
0 19
InterSystems Official Jose-Tomas Salvador · ago 5, 2025

InterSystems se complace en anunciar la disponibilidad general (GA) de la versión 2025.2 de la plataforma de datos InterSystems IRIS®. Esta es una versión de Entrega Continua (CD). Tened en cuenta que las versiones GA de InterSystems IRIS for Health™ y HealthShare® Health Connect™ 2025.2 se han retenido temporalmente debido a limitaciones en la replicación introducidas por actualizaciones de seguridad (más detalles a continuación).

Aspectos destacados de la versión

0
0 23
Artículo Harshitha · ago 5, 2025 2m read

Trabajar en TI para el sector salud como un desarrollador joven, especialmente en InterSystems TrakCare, te hace darte cuenta rápidamente de una cosa: no se trata solo de mensajes HL7 o integraciones backend. Una gran parte de lograr que TrakCare funcione sin problemas en los hospitales depende de cómo se configura, personaliza y da soporte desde el lado de la aplicación.

Ahí es donde entramos personas como yo: desarrolladores tecno-funcionales que entendemos tanto la tecnología como su impacto en los flujos de trabajo reales del hospital.

No somos solo técnicos (ni consultores funcionales)

0
0 39
Artículo Ricardo Paiva · ago 1, 2025 3m read

La inyección SQL sigue siendo una de las vulnerabilidades más críticas en las aplicaciones basadas en bases de datos, ya que permite a los atacantes manipular consultas y, potencialmente, acceder o comprometer datos sensibles. En InterSystems IRIS, los desarrolladores tienen acceso tanto a SQL Dinámico como a SQL Embebido, cada uno con características distintas. Comprender cómo usarlos de forma segura es esencial para prevenir la inyección SQL.

El problema: SQL Dinámico y la inyección SQL

0
0 27
Anuncio Sergio Farago · jul 31, 2025

¡Hola, comunidad!

Nuestro 💡 Concurso de Ideas de InterSystems 💡 ha llegado a su fin. ¡Se aceptaron 26 nuevas ideas que siguieron la estructura pedida!

Todas están enfocadas en mejorar InterSystems IRIS y productos relacionados, destacando beneficios tangibles para los desarrolladores una vez que las ideas sean implementadas.

Y ahora, anunciemos a los ganadores...

0
0 29
Artículo John Murray · jul 30, 2025 1m read

La nueva versión de InterSystems Testing Manager, que lancé la semana pasada, trae la genial herramienta Test Coverage Tool de @Timothy Leavitt a VS Code, y es mi participación en el concurso de Herramientas para Desarrolladores 2025.

Aquí tenéis una captura de pantalla de adelanto que muestra cómo las pruebas unitarias del proyecto IPM aún no cubren una funcionalidad que aparentemente permite que un repositorio IPM sobrescriba su ordenamiento .

Fijáos cómo la línea 88 está marcada en rojo como advertencia para el desarrollador.

0
0 32
Artículo Yuri Marx · jul 28, 2025 8m read

Los documentos de Word se utilizan ampliamente en el mercado. Los usuarios crean con frecuencia contratos, memorandos, currículums, informes, análisis y otros documentos que pueden requerir datos de InterSystems IRIS o que este los capture. Sin embargo, IRIS no dispone de una API, SDK, biblioteca ni adaptador para ello. Esta limitación ya no existe.

La nueva biblioteca de Open Exchange, iris4word (https://openexchange.intersystems.com/package/iris4word), ofrece un SDK de ObjectScript donde el desarrollador pasa cualquier %DynamicObject como parámetro, una plantilla de archivo de Word y recibe un documento listo para usar, con la estructura y el formato definidos en su plantilla.


0
0 23
Artículo Guillaume Rongier · jul 24, 2025 2m read

img

Este será un artículo breve sobre PEP 8, la guía de estilo de Python.

¿Qué es PEP 8?

En pocas palabras, PEP 8 proporciona directrices y buenas prácticas sobre cómo escribir código Python.

  • los nombres de variables deben estar en snake_case

  • los nombres de clases deben estar en CamelCase

  • los nombres de funciones deben estar en snake_case

  • las constantes deben estar en UPPER_CASE

  • la indentación debe ser de 4 espacios (sin tabs)

  • las variables/funciones privadas deben comenzar con un guion bajo (_)

    • porque en Python no existen variables ni funciones privadas; es solo una convención
  • vuestro script no debería ejecutarse al ser importado

    • recuerda que al importar vuestro script, el código se ejecuta; consultad el primer artículo
  • ...

No es necesario mencionarlas todas, pero tenedlas en cuenta: os ayudarán a entender el código de otros y a que otros entiendan vuestro código ^^

También puede que hayáis oído hablar del término "pythonic". Seguir PEP 8 es una forma de escribir código Python que se considera "pythonic" (no es lo único, pero forma parte de ello).

¿Por qué PEP 8 es importante y relevante para los desarrolladores de Python en IRIS?

En IRIS, y especialmente en ObjectScript, también tenemos una guía de estilo, que se basa principalmente en camelCase para los nombres de variables y PascalCase para los nombres de clases.

Desafortunadamente, PEP 8 recomienda usar snake_case para nombres de variables y funciones.

Y como ya sabéis, en ObjectScript el guion bajo se usa para concatenar, lo cual obviamente no nos conviene.

¿Cómo superar este problema? Usad comillas dobles para llamar a nombres de variables o funciones en Python desde código ObjectScript.

Ejemplo:

Class Article.PEP8Example Extends %RegisteredObject
{

ClassMethod Run()
{
    Set sys = ##class(%SYS.Python).Import("sys")
    do sys.path.append("/irisdev/app/src/python/article")
    set pep8Example = ##class(%SYS.Python).Import("pep8_example")
    do pep8Example."my_function"() // Notice the double quotes around the function name
}

}

Esto llamará a la función my_function en el archivo pep8_example.py, que está definida de la siguiente manera:

# src/python/article/pep8_example.py
def my_function():
    print("Hello, World!")

Cuando ejecutéis el método Run de la clase Article.PEP8Example, mostrará:

iris session iris -U IRISAPP '##class(Article.PEP8Example).Run()'
Hello, World!

¡Eso es todo!

0
0 25
Artículo Dani Fibla · jun 8, 2025 6m read

¿Usas Office 365 y Teams en tu organización? 

Si es así, estás de suerte, te voy a enseñar cómo crear un agente para Copilot que te permitirá buscar información directamente en la documentación de IRIS. Es un proceso rápido y sencillo que te ayudará a agilizar tus búsquedas.

Además, la nueva versión de Office 365 incluye una versión gratuita de Copilot que puedes descargar y anclar fácilmente en Teams. 

Ve al menú Aplicaciones, busca Copilot y haz clic en Agregar. En ese momento comenzará la instalación de Copilot dentro de Teams. 

2
0 137
Artículo Sergio Farago · jul 21, 2025 1m read

Hola comunidad,

Si habéis decidido dejar la Comunidad de Desarrolladores de InterSystems, ¡sentimos veros marchar! Esta guía os mostrará los pasos para eliminar vuestra cuenta de forma permanente.

⚠️ Antes de comenzar: tened en cuenta que eliminar vuestra cuenta es irreversible. Si simplemente queréis dejar de recibir notificaciones, considerad actualizar vuestra configuración de notificaciones.

Cómo solicitar la eliminación de la cuenta:

2
0 20