New post

Find

Question
· Mar 10

Can %Net.HttpRequest objects get reused (behind our back)?

We are calling a REST web-service from Ensemble using EnsLib.HTTP.OutboundAdapter and redefining the adapter class to set custom headers as described by @Eduard Lebedyuk here: How to set Content-Type

During development we accidentally stumbled across puzzling behaviour - we now suspect that the %Net.HttpRequest object created in the linked example is being reused in the following scenario:

  1. request is created as described and sent to web-service, so an instance of a %Net.HttpRequest object exists and is known to the EnsLib.HTTP.OutboundAdapter
  2. we modify our code to test what happens if headers are not set - eg changing the "GetRequest()" method in the above example to return "" rather than a new %Net.HttpRequest object
  3. but in a subsequent call the headers set in step 1 above arrive in the web-service, even though they were not set (unset?) at step 2...

After really scratching our heads our suspicion is that the %Net.HttpRequest object created in step 1 is not thrown away after use, but "remembered"/re-used by the OutboundAdapter. Are we correct?

Is this what stands behind the "In normal use you create a single %Net.HttpRequest object and use it to issue as many requests as you need to the web server, each %Net.HttpRequest object can be thought of as a single instance of an internet browser" and "Reset the %Net.HttpRequest class so that it can issue another request. This is much faster than closing this object and creating a new %Net.HttpRequest object" in the class documentation? And if we are correct, is there documentation or good practice guidelines on how long it is wise to keep reusing such a request object? Or is it so situation dependent its impossible to say?

(Our situation is a passing a feed of healthcare data to a downstream system within our internal network; headers to contain content type and Basic Authentication headers - will only change a couple of times a year if the password is changed - and sent over the wire using SSL. We'll process several hundred, perhaps a few thousand, messages per day, mostly during working hours, with significant spikes of activity at certain points in the day.)

2 Comments
Discussion (2)1
Log in or sign up to continue
Question
· Mar 10

Creating indexes on a SDA field

Hi all,

I'm working on a requirement to loop through all encounter streamlets(SDA) to identify specific encounters based on an encounter extension property for a patient fetch request. However, this current process is time-consuming, and we need to create indexes for that property to quickly retrieve the expected results without going through all the encounter streamlets of a patient.

I would appreciate help on how to achieve this, as I couldn't find any documentation explaining how to create indexes on a SDA element.

Thanks in advance.

1 Comment
Discussion (1)2
Log in or sign up to continue
Digest
· Mar 10

Publicações Desenvolvedores InterSystems, Março 03 - 09, 2025, Resumo

Março 03 - 09, 2025Week at a GlanceInterSystems Developer Community
Digest
· Mar 10

InterSystems Developers Publications, Week March 03 - 09, 2025, Digest

Articles
Announcements
#InterSystems IRIS
#IRIS contest
#Other
#Learning Portal
#Developer Community Official
Questions
#InterSystems IRIS
#Caché
#InterSystems IRIS for Health
#Ensemble
March 03 - 09, 2025Week at a GlanceInterSystems Developer Community
Article
· Mar 10 2m read

Construyendo agentes de IA con InterSystems IRIS: ¿Qué queremos decir?

¡Hola, colegas!

Como podéis ver, el nuevo tema del concurso de programación es Agentes de IA.

Recientemente, este tema ha sido muy mencionado en Internet y tiene diferentes significados. Es posible que tengáis curiosidad sobre qué queremos decir con Agentes de IA en el contexto del concurso de programación de InterSystems.

En efecto, creemos que los agentes de IA pueden cambiar radicalmente el panorama de las soluciones de TI en casi todos los ámbitos, aumentando significativamente su eficiencia y, a menudo, transformando la gestión, el consumo y la operación.

En términos generales, los agentes de IA permiten la automatización de diferentes procesos empresariales, incluyendo la toma de decisiones basada en cualquiera de los motores de GenAI disponibles en el mercado, como OpenAI, Claude o Grok, que pueden utilizarse junto con IRIS Vector Search en soluciones RAG.

Por lo general, la construcción de agentes de IA implica el uso de motores de automatización de escenarios, como Zapier, Make, N8N y/o la interoperabilidad de InterSystems IRIS.

¿Qué pueden hacer los agentes de IA? Bueno, podemos preguntarle a ChatGPT ahora mismo, pero algunas de las prácticas más habituales son:

  • Revisar, filtrar y responder correos electrónicos.
  • Buscar eventos de un tipo específico y reservar entradas.
  • Responder tickets de soporte.
  • Monitorizar bases de datos/servicios y realizar tareas de limpieza o mantenimiento operativo.

Así que, en este concurso, consideraremos como Agente de IA una solución que utilice:

- Cualquier motor LLM para la toma de decisiones (por ejemplo, OpenAI, Anthropic, Grok).

- Cualquier motor de automatización o interoperabilidad (por ejemplo, Zapier, Make, N8N, IRIS Interoperability).

- El uso obligatorio de IRIS Database, IRIS Interoperability o IRIS Vector Search.

¡Buena suerte! Estoy deseando ver más agentes de IA útiles de cualquier tipo, impulsados por InterSystems IRIS.

Discussion (0)1
Log in or sign up to continue