#Concurso

0 Seguidores · 161 Publicaciones

La etiqueta del concurso une las publicaciones relacionadas con cualquier competencia de codificación que tenga lugar en la Comunidad de desarrolladores de InterSystems.

Anuncio Sergio Farago · oct 15, 2025

Hola comunidad,

Vamos a tener un encuentro online con los ganadores del concurso de InterSystems de .Net, Java, Python y JavaScript. ¡Es una gran oportunidad para charlar con el equipo de expertos de InterSystems y con nuestros concursantes!

¡Incluye la demostración de los ganadores!

Fecha y hora: viernes 17 de octubre, 12:00 p. m. EDT | 6:00 p. m. CEST

1
0 19
Anuncio Sergio Farago · sep 16, 2025

Hola Comunidad,

Estamos súper ilusionados y agradecidos a nuestros 52 compañeros de InterSystems que participaron en los 📺 Demo Games para Sales Engineers de InterSystems 📺 y crearon 19 vídeos increíbles.

Nuestros colegas de todo el mundo pusieron a prueba su creatividad, conocimientos técnicos y magia en las demos. Lo que comenzó como un concurso interno para mostrar habilidad técnica y excelencia en las demostraciones se convirtió en un auténtico escenario para la imaginación, con algunas propuestas que parecían menos demos y más cortometrajes, completos con actuación, storytelling e incluso un toque cinematográfico.

También queremos dar las gracias a todos los miembros de la Comunidad que se tomaron el tiempo de verlos y votar por vuestros favoritos. 

¡Llega la hora de anunciar a los ganadores!

0
0 25
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 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 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
Anuncio Sergio Farago · jul 10, 2025

Hola, desarrolladores:

Nos alegra anunciar un nuevo concurso de programación en línea de InterSystems, dedicado a la creación de herramientas que hagan la vida más fácil a vuestros compañeros desarrolladores:

🏆 Concurso de Herramientas para Desarrolladores de InterSystems 🏆

Duración: del 14 de julio al 3 de agosto de 2025
Premios: $12,000


0
0 38
Artículo Carlos Castro · jun 1, 2025 18m read

Buenas a todos,

en capítulos anteriores, vimos como "Proteger los datos: Se un mejor cerrajero", en el que explicábamos como proteger nuestros recursos aplicando un control extra al acceso mediante OAUTH2 que nos ofrece Intersystems. Y como no hay 2 sin 3, aquí tenemos un tercer articulo, en el cual vamos a explicar como "avisar a la policía" de que alguien malicioso está intentando acceder a nuestros datos.

4
2 92
Artículo Andre Larsen Barbosa · mayo 20, 2025 3m read
 

 

Al igual que un golpe de gracia, sin darle ninguna oportunidad al oponente, Kubernetes, como plataforma de código abierto, tiene un universo de oportunidades debido a su disponibilidad (es decir, la facilidad para encontrar soporte, servicios y herramientas). Es una plataforma que permite gestionar trabajos y servicios en contenedores, lo que simplifica enormemente la configuración y automatización de estos procesos. 

Pero justifiquemos la imagen del título y demos el nombre “correcto” a la herramienta en cuestión: InterSystems Kubernetes Operator. 

El principio

23
6 253
Artículo Katherine Duran · mayo 27, 2025 7m read

InterSystems IRIS permite ejecutar consultas SQL directamente desde ObjectScript mediante:

  • SQL Embebido (Embedded SQL): consultas SQL compiladas en tiempo de desarrollo, con chequeo de tipos y mayor eficiencia.
  • SQL Dinámico (Dynamic SQL): permite construir y ejecutar sentencias SQL en tiempo de ejecución, ideal para casos flexibles o condicionales.

Que es SQL (Structured Query Language) es un lenguaje estándar utilizado para interactuar con bases de datos relacionales. Permite realizar operaciones como:

3
7 180
Artículo Alessandra Carena · jun 6, 2025 6m read

​En el artículo anterior, Generación de Especificaciones OpenAPI, vimos qué es OpenAPI, por qué es útil para documentar los servicios REST y cómo generar un archivo de especificación en formato .yaml o .json. También exploramos cómo IRIS permite crear automáticamente esta documentación a partir del código existente, siguiendo el enfoque code-first.

0
4 84
Artículo Julio Esquerdo · jun 5, 2025 18m read

Uso de Python en InterSystems Iris

Hola

En este artículo veremos el uso de python como lenguaje de programación en InterSystems Iris. Para ello, utilizaremos como referencia la versión de Community 2025.1 que está disponible para ser descargada en https:// download.intersystems.com iniciando sesión en el entorno. Para obtener más información sobre cómo descargar e instalar Iris, consulte el enlace de la comunidad https://community.intersystems.com/post/how-download-and-install-intersystems-iris

0
0 49
Artículo Daniela Echenique · jun 2, 2025 5m read

Objetivo

Explorar un enfoque de validación estructural adaptativa para mantener estables las pruebas automatizadas frente a cambios en la estructura del JSON generado a partir de datos expuestos desde una base de datos InterSystems IRIS.

Se busca minimizar falsos positivos ante cambios no críticos, siempre que la respuesta siga siendo coherente con la estructura real de la base. En estos casos, la ejecución continúa y se deja registro del evento en un archivo estructurado, que permite trazabilidad y análisis evolutivo.

Además de validar la idea central, este proyecto abre camino a posibles extensiones técnicas, como la validación dinámica contra el esquema real de la base, el seguimiento histórico de cambios estructurales, y el uso de técnicas de machine learning para distinguir entre ajustes legítimos y errores funcionales, comprendiendo no solo el cambio, sino también su intención.

Desafíos actuales

Diseñar una Arquitectura de Automatización de Pruebas sólida es fundamental para garantizar la calidad en entornos donde las APIs son el nexo entre sistemas.

Un desafío que enfrentan los equipos de testing es la fragilidad de las pruebas automatizadas ante cambios menores en la estructura del JSON que devuelven los endpoints.

Estos cambios, aunque no afecten el comportamiento funcional de la API, pueden romper los tests al no coincidir con las estructuras esperadas, lo que genera:

  • Tiempo y esfuerzo en mantenimiento.
  • Interrupciones de pipelines CI/CD.
  • Dificultad para identificar defectos reales.
  • Desconfianza en la suite de regresión.

La fragilidad estructural no es un detalle técnico: es un obstáculo estratégico, el avance es hacia resiliencia estructural, con pruebas que evolucionen con el sistema, no que se quiebren con él.

Enfoque propuesto

Frente a estos desafíos, se propone una estrategia de validación estructural adaptativa, que incorpora una capa intermedia entre la respuesta de la API y la lógica del test, capaz de detectar diferencias estructurales y responder de manera flexible según el tipo de cambio.

Cuando se detecta una discrepancia entre el esquema recibido y el esperado, el sistema debería poder:

  1. Identificar la diferencia estructural (claves nuevas o faltantes).
  2. Validar si el cambio es coherente con la evolución del modelo de datos, utilizando una fuente confiable como la base de datos real.
  3. Clasificar según reglas predefinidas
    • Si es aceptable, continuar la ejecución y registrar un warning.
    • Si es crítico, detener la prueba.
  4. Dejar registro del evento en un archivo .ndjson, lo que habilita posibles evoluciones:
    • Dashboards de trazabilidad.
    • Entrenamiento de modelos para anticipar cambios.
    • Pull requests automáticos para adaptar tests validados.

MVP

Se desarrolló un MVP funcional que implementa este enfoque y permite validar la adaptación estructural ante cambios en la respuesta JSON generada desde InterSystems IRIS.

Componentes principales

  • Base de datos: InterSystems IRIS Community Edition ejecutada en contenedor Docker.
  • Exposición de datos: Clase ObjectScript que expone información como JSON.
  • Cliente de validacion: Python 3.10 con el módulo irisnative.
  • Pruebas: Pytest
  • Lógica de validación:
    • Modo estricto: falla ante cualquier discrepancia.
    • Modo adaptativo: acepta campos adicionales no esperados y emite un warning si no faltan campos críticos.
  • Trazabilidad: eventos estructurales detectados se almacenan en formato .ndjson.
  • IDE: Visual Studio Code (Ubuntu)
  • Repositorio: https://github.com/danielaeche/resilient-api-test.git

Limitación del MVP

La validación estructural no se hace contra el esquema activo de la base en tiempo real, sino contra una clase intermediaria. Esto significa que si la base cambia, se debe actualizar manualmente la clase.

Escalar esta solución requiere usar la Python DB API de InterSystems para consultar directamente la estructura actual de la base de datos, permitiendo una validación verdaderamente dinámica y autónoma, sin necesidad de actualizar manualmente la clase que expone los datos.

Ejecución de prueba

  1. Estructura esperada: Se entrega este JSON desde IRIS:
[
  { "id": 1, "name": "Virginia", "age": 38 },
  { "id": 2, "name": "Daniela", "age": 17 }
]
  • Test estricto (test_api_strict.py) : ✅ Resultado: la prueba pasa.
  1. Cambio estructural simulado : Se agrega un campo nuevo (coverage):
[
  { "id": 1, "name": "Virginia", "age": 38, "coverage": "premium" },
  { "id": 2, "name": "Daniela", "age": 17, "coverage": "basic" }
]
  • Test estricto: 🛑 Resultado: la prueba falla por estructura inesperada.
  • Test adaptativo (test_api_adaptive.py) : ⚠️ Resultado: la prueba pasa con warning[WARNING] Nuevos campos detectados: {'coverage'}

Conclusión

Este artículo propone un enfoque frente a un problema: cómo evitar que pequeños cambios estructurales rompan pruebas que no deberían fallar.

El MVP demuestra que es posible incorporar tolerancia estructural sin perder capacidad de detección. La solución es escalable y propone una evolución hacia modelos donde la calidad de la prueba no dependa exclusivamente del script, sino que sea respaldada por una capa de validación contextual que no solo detecta un cambio, sino que evalúa su impacto antes de decidir.

También plantea una dirección de valor: mecanismos resilientes que puedan integrarse de forma nativa en herramientas como las que InterSystems desarrolla, como parte de una estrategia de calidad continua para entornos donde el cambio es constante.

El futuro de la automatización no está en tener más scripts que se ejecuten una y otra vez, sino en construir pruebas capaces de entender por qué fallan los sistemas, incluso cuando parecen funcionar.

Automatizar con resiliencia es evitar que el esfuerzo se consuma en lo repetible, y entregarle a quienes diseñan la calidad el espacio para identificar riesgos emergentes, desafiar lo previsto y diseñar validaciones con sentido estratégico.

0
0 66
Artículo Laura Blázquez García · mayo 23, 2025 1m read

 

Os presento FHIRCraft, una herramienta ligera para generar recursos FHIR sintéticos.

Quizás estéis pensando:
“Pero... ¿no existe ya Synthea, que genera un montón de recursos FHIR?”
Exactamente — y por eso mismo creé esta aplicación.

FHIRCraft está diseñada para generar recursos FHIR más simples, pequeños y enfocados. A diferencia de Synthea, no pretende simular historiales clínicos completos ni flujos asistenciales. Está pensada para quienes están empezando con FHIR, quieren hacer pruebas de forma progresiva o explorar cómo funciona un recurso específico en aislamiento.

0
0 44
Anuncio Sergio Farago · mayo 13, 2025

Hola desarrolladores,

Nos complace anunciar el nuevo concurso de programación en línea de InterSystems dedicado a todo lo relacionado con la salud:

🏆 Concurso de Interoperabilidad de Salud Digital y FHIR de InterSystems 🏆

Duración: 12 de mayo - 1 de junio de 2025

Beca total: $12,000


0
0 34
Artículo Luis Angel Pérez Ramos · mar 21, 2025 5m read

Después de tantos años de espera, por fin tenemos un controlador oficial disponible en Pypi

Además, encontré el driver JDBC finalmente disponible en Maven desde hace ya 3 meses, y el driver .Net en Nuget desde hace más de un mes.

Como autor de multitud de implementaciones de librerías de Python con soporte de IRIS, quería probarlo. La implementación de DB-API significa que debe ser reemplazable e implementar las funciones definidas en el estándar. La única diferencia entre las diferentes bases de datos debería ser únicamente el SQL.

Y la belleza de usar librerías existentes que ya implementaron la conectividad con otras bases de datos usando el estándar DB-API, es que estas librerías deberían ser totalmente compatibles con el controlador.

Decidí probar el driver oficial de InterSystems implementando su soporte en la librería SQLAlchemy-iris.

0
0 40
Anuncio Sergio Farago · mar 12, 2025

¡Hola Comunidad!

Es hora de celebrar a nuestros 25 compañeros que participaron en el último Concurso de Artículos Técnicos de InterSystems y escribieron

🌟 38 ARTÍCULOS INCREÍBLES 🌟

El concurso estuvo repleto de artículos excepcionales, cada uno de los cuales mostraba innovación y experiencia. Con tantas propuestas de alta calidad, seleccionar a los mejores no fue tarea fácil para los jueces.

Conozcamos a los ganadores y sus artículos:

2
0 58
Artículo Jose-Tomas Salvador · mar 10, 2025 5m read

Hola

Este artículo es el resultado de la pregunta que había hecho a la comunidad: Adaptador UDP no funciona

En este artículo, voy a presentaros

1) ¿Qué es "UDP"?
2) El estado actual de Iris con UDP
3) Mi solución con el adaptador UDP


1) ¿Qué es "UDP"?

UDP significa User Datagram Protocol. Es uno de los protocolos fundamentales del conjunto de protocolos de Internet (IP) y se utiliza para transmitir datos a través de una red. Aquí tenéis algunas características clave de UDP:

0
0 76
Artículo Andre Larsen Barbosa · feb 13, 2025 3m read

   

A diferencia de la película mencionada en la imagen (para quienes no lo sepan, Matrix, 1999), la elección entre SQL Dinámico y SQL Embebido no es una elección entre la verdad y la fantasía, pero sigue siendo una decisión que debéis tomar. A continuación, intentaré hacer que vuestra elección sea más sencilla.

Si vuestra necesidad es la interacción entre el cliente y la aplicación (y, por lo tanto, la base de datos), SQL Dinámico puede ser más adecuado, ya que se "adapta" fácilmente a los cambios en las consultas. Sin embargo, este dinamismo tiene un costo: con cada nueva consulta, se remodela, lo que puede hacer que su ejecución sea más costosa. A continuación, se muestra un ejemplo sencillo de un fragmento de código en Python.

0
0 77
Anuncio Anastasia Dyubaylo · ene 28, 2025

Hola Comunidad,

¡Tenemos noticias emocionantes! Es hora del próximo concurso de artículos técnicos de InterSystems:

✍️ Concurso de Artículos Técnicos de InterSystems 2025 (En Inglés)✍️

Escribe un artículo sobre cualquier tema relacionado con los productos y servicios de InterSystems.

🎁 ¡Premios para todos! Un premio especial para cada autor que participe en el concurso.

0
0 117