Os traemos un resumen de todo: lo más visto, lo más comentado, lo más votado...
Echadle un vistazo y no os quedéis con ganas de aprender
Hola a todos,
Tengo una operación de API que llama a un proceso externo. La respuesta es un gran json, pero solo quiero una parte del contenido completo.
Mi primer intento es:
.....
// Se omite el código de preparación de la solicitud.
establecer tSC = ..Adapter.SendFormDataArray (.tHttpResponse, "POST", tHttpRequest ,,, tURL)
si $$$ ISERR (tSC) $$$ ThrowStatus (tSC)
// Obtén la respuesta directamente
establecer respuesta = ""
while (tHttpResponse.Data.AtEnd = 0) {
establecer respuesta = respuesta_tHttpResponse.Data.Read ()
}
¡Hola Comunidad!
Hace unas semanas os mostramos una demo de PEX (Production Extension Framework) en InterSystems IRIS, que utiliza una integración con Kafka como ejemplo. Ahora, os traemos el mismo vídeo, pero con subtítulos en español, para una mejor comprensión para toda la Comunidad hispanohablante:
Nota (junio de 2019): han cambiado muchas cosas para obtener los detalles más recientes, haz clic aquí Nota (septiembre de 2018): ha habido grandes cambios desde que esta publicación apareció por primera vez; sugiero que utilices la versión del contenedor en Docker dado que el proyecto y la información para que se ejecute como un contenedor sigue publicada en GitHub, en el mismo lugar, para que puedas descargarlo, ejecutarlo y modificarlo, si lo necesitas.
Cuando trabajo con clientes en revisiones de rendimiento, planificaciones de capacidad y resolución de problemas, con frecuencia tengo que descomprimir y revisar las métricas del sistema operativo y de caché desde pButtons. En vez de lidiar con los archivos html para cortar y pegar secciones que serán graficadas en Excel, hace algún tiempo escribí una publicación sobre una herramienta para descomprimir las métricas de pButtons, escrita con el intérprete de unix, perl y los scripts de awk. Si bien este es un valioso ahorro de tiempo, no es la historia completa…
¡Hola desarroladores!
Os traemos el noveno episodio de Data Points, el podcast de InterSystems en inglés.
Es la segunda parte de la entrevista con @Russell.Leftwich. En ella, @Adam.Coppola6950charla con Russ sobre algunas de las tecnologías de InterSystems que desempeñan un papel en los conceptos comentados en la parte 1 y también comentan las aplicaciones más modernas de FHIR.
Tras la entrevista con Russ, se une a la charla @Jenny Ames, para hablar sobre los FHIR Dev Days, el evento sobre FHIR más importante del mundo. ¡Dadle al play!
¡Hola desarrolladores!
Ya está lista la edición especial del concurso para crear soluciones de código abierto utilizando InterSystems IRIS.
🏆 Gran Premio del Concurso de Programación de InterSystems🏆
Estará activo durante cuatro semanas: del 8 de febrero al 7 de marzo de 2021.
Total en premios: $16,000

.png)
In 2017, Forbes publicó un artículo en el que hablaba sobre la "Economía de las APIs": https://www.forbes.com/sites/louiscolumbus/2017/01/29/2017-is-quickly-becoming-the-year-of-the-api-economy/.
Ese artículo fue el detonante que popularizó el uso de las APIs y la Gestión de APIs por las grandes compañías. En el artículo, se mostraba un Modelo de Madurez. Yo creo que Intersystems IRIS permite alcanzar la cima de la pirámide con tus tecnologías actuales. Mira la figura arriba. Por ello, es importante combinar el paquete % CSP.
¡Hola Comunidad!
Una función útil de nuestra estructura REST es la capacidad que tienen las clases de Dispatch para identificar los prefijos de una solicitud y redireccionarlos a otra clase de Dispatch. Este enfoque permite mejorar el orden y la lectura del código, permite mantener separadas las versiones de una interfaz fácilmente y ofrece una forma de proteger llamadas a APIs a las que solo ciertos usuarios podrán acceder.
Hola a todos! Os comparto hoy un artículo sobre la utilización del procesamiento de lenguaje natural y su combinación con FHIR donde se muestra un chatbot que interactúa con FHIR desarrollado por Renato Banzai.
PLN significa Procesamiento del Lenguaje Natural (NLP en inglés) y es un campo de la Inteligencia Artificial muy complejo que utiliza técnicas para, en pocas palabras, “entender de qué se está hablando”.
Si está buscando una forma ingeniosa para integrar su solución de IRIS en el ecosistema de Amazon Web Services, en una aplicación sin servidor o en Boto3 (un potente script de Python), usar la API nativa de IRIS para Python podría ser el camino a seguir. No es necesario que invierta demasiado tiempo en la implementación de una producción hasta que deba acercarse y obtener algo o establecer algo en IRIS para hacer que su aplicación ejecute su característica más sobresaliente, así que esperamos este artículo sea útil y desarrolle algo aunque solamente usted pueda usarlo, ya que eso también es importante.

Hola a todos!
Comparto una pequeña utilidad (servicio REST) para descargar mensajes de una producción de interoperabilidad como ficheros.
Sólo necesitas:
/downloadmsg) que tenga configurado DispatchClass=Util.DownloadMsg.///
/// Util to download messages given a message header id
///
/// Setup:
/// 1. Create a webapplication (e.g. /downloadmsg) and set DispatchClass=Util.DownloadMsg
/// 2. Go to http://localhost:52773/downloadmsg/ns/user/msgid/19 to download the message reference by header 19
Class Util.DownloadMsg Extends %CSP.REST
{
XData UrlMap [ XMLNamespace = "http://www.intersystems.com/urlmap" ]
{
<Routes>
<Route Url="/ns/:ns/msgid/:msgId" Method="GET" Call="DownloadMessage"/>
</Routes>
}
/// Download a message given a Ens.MessageHeader id
ClassMethod DownloadMessage(ns As %String, msgId As %String = "") As %Status
{
set ret = $$$OK
set currentNs = $namespace
try {
set $namespace = ns
$$$ThrowOnError(..ExportMsgToStream(msgId, .stream, .filename))
// set headers to download stream as filename
do %response.SetHeader("Content-Type", "application/octet-stream")
do %response.SetHeader("Content-Disposition", "attachment; filename="""_filename_"""")
do %response.SetHeader("Content-Length", stream.Size)
do stream.Rewind()
do stream.OutputToDevice()
} catch ex {
set ret = ex.AsStatus()
}
// restore namespace
set $namespace = currentNs
quit ret
}
/// Export a message to stream given a Ens.MessageHeader id
ClassMethod ExportMsgToStream(msgId As %String, Output stream As %Stream.Object, Output filename As %String) As %Status
{
set ret = $$$OK
try {
// stream
set stream = ##class(%Stream.GlobalCharacter).%New()
set filename = ""
// message header
set headerObj = ##class(Ens.MessageHeader).%OpenId(msgId,,.sc)
$$$ThrowOnError(sc)
// message body
set obj = $classmethod(headerObj.MessageBodyClassName, "%OpenId", headerObj.MessageBodyId)
set classname = $classname(obj)
// output to stream
if classname="EnsLib.HL7.Message" {
set sc = $method(obj, "OutputToLibraryStream", .stream)
$$$ThrowOnError(sc)
set filename = msgId_".hl7"
}
else {
set writer = ##class(%XML.Writer).%New()
set writer.Indent=1
set writer.NoXMLDeclaration=1
$$$ThrowOnError(writer.OutputToStream(.stream))
$$$ThrowOnError(writer.RootObject(obj))
set filename = msgId_".xml"
}
} catch ex {
set ret = ex.AsStatus()
}
quit ret
}
}
Se acaba de liberar la versión 1.5 del InterSystems API Manager (IAM)
El contenedor para IAM, incluyendo todo lo necesario para actualizar desde versiones anteriores de AIM, puede descargarse desde la Página de distribución de software del Centro de Soporte Internacional (WRC) en el área de Components.
El número de compilación de esta versión es IAM 1.5.0.9-4.
A la Comunidad,
He descargado e instalado Interystems Iris desde Docker Hub, en un MAC que no es mi sistema habitual, yo utilizo habitualmente Windows.
Yo soy nativo de MUMPS, por ello mi primera dificultad para seguir utilizando IRIS es poder utilizar un TERMINAL más potente (por ejemplo, Wrq Reflection), u otro de licencia libre. Es posible?
Para migrar mis Rutinas y Globales solo existe el camino de ^%RO-->%RI y %GO-->%GI, dado que vienen de Cache 5.2
En mis preguntas anteriores ya he comentado que en mi situación de jubilado mis inquietudes son meramente personales.
Gracias
Hola de nuevo a todos!
Cuando hacemos una instalación por defecto de VS Code, nos podemos encontrar que al crear un nuevo archivo, el lenguaje que tiene cargado por defecto es "Plain Text":
.png)
Debemos hacer click ahí para cambiar el lenguaje cargado para el archivo.
Por suerte, hay una configuración del VS Code que podemos utilizar para ajustar este comportamiento, se llama files.defaultLanguage.
Aquí podemos indicar el ID del lenguaje que queramos o incluso podemos configurarlo para que utilice el mismo lenguaje que tenemos cargado en el contexto en el que estamos trabajando actualmente:
"files.defaultLanguage": "${activeEditorLanguage}"
11 de febrero, 2021 – Aviso: Resultados de búsqueda incompletos con ‘ORDER BY <row ID field> DESC’
InterSystems ha corregido un fallo que puede producir resultados de búsquedas incompletos. Este fallo afecta a:
(En HealthShare y HealthShare Health Connect, este fallo solo afecta a Personal Community con 64000 proxies de paciente y posiblemente a consultas personalizadas
11 de febrero, 2021 – Aviso: Resultados de búsqueda incompletos con ‘ORDER BY <row ID field> DESC’ – HealthShare
InterSystems ha corregido un fallo que puede producir resultados de búsqueda incompletos. Este fallo afecta a las plataformas que son la base de HealthShare y HealthShare Health Connect:
Ya hace algunos meses que publicamos cómo realizar un análisis automatizado de los proyectos en Github en vuestro propio servidor de análisis de código.
Ahora ofrecemos la posibilidad de realizar el análisis automatizado de forma totalmente gratuita para los proyecto de código abierto que residen en Github. Si tienes un proyecto en Github, lo único que tienes que hacer es crear el archivo ".github/workflows/objectscript-quality.
He recogido unos datos sobre los ocho primeros concursos para desarrolladores de InterSystems, realizados en 2020:
Resumen:
| Concurso | Apps ganadoras | Total Apps | Beneficios para la Comunidad |
| InterSystems IRIS, Docker y ObjectScript | BlocksExplorer, ISC DEV, sql-builder, isc-generate-db, declarative-objectscript | 20 | Nuevas utilidades de código abierto para mantener y desarrollar SQL y administrar Caché e IRIS |
| InterSystems IRIS con REST API |
Querido desarrollador,
¡tenemos muy buenas noticias! Estamos encantados de invitarte a unirte a nuestra competición anual para crear soluciones open-source utilizando InterSystems IRIS.
Demos la bienvenida a:
🏆 InterSystems Grand Prix Programming Contest 🏆
Duración: February 8 - March 8, 2021
Dotación en Premios: $16,000

Hola a todos,
Compartimos hoy un truco que quizá le resulte útil a aquellos que tienen que trabajar con JavaScript embebido.
Si tienes que trabajar con CSP o Zen probablemente más de una vez has necesitado utilizar JavaScript embebido. Supón que tienes que programar algunos bucles, que utilizan los caracteres <` o `> en alguna expresión, por ejemplo:
&js<
var test = document.getElementById('seTest');
for (var i = 0; i < test.options.length; i++) {
// hacer algo con test.options[i]...
}
>
La pandemia que afectó al mundo en 2020 hizo a todo el mundo seguir las noticias y los datos relacionados con la COVID-19. ¿Por qué no aprovechar la oportunidad para crear algo sencillo y fácil de usar, para seguir el número de vacunaciones a nivel mundial?
Para afrontar este reto, estoy usando los datos proporcionados por Our World in Data- Investigación y datos para progresar antes los mayores problemas del mundo. Han dedicado un repositorio en GitHub con los datos de la COVID-19, y he tomado los datos de vacunación para ayudarme con mi rastreador.
Hay tres aspectos muy importantes en cualquier conversación sobre el rendimiento de SQL: los Índices, el TuneTable, y el Plan de ejecución. En los PDFs adjuntos a este artículo se incluyen presentaciones antiguas sobre estos temas. En los enlaces a nuestra documentación debajo, se ofrece más información sobre estos y otros asuntos relacionados con el rendimiento de SQL. La formación online también refuerza varios de estos temas. Además, hay varios artículos de la Comunidad de Desarrolladores que están relacionados con el rendimiento de SQL y que mostramos a continuación.
Hay bastantes repeticiones en la información que se muestra a continuación. Los aspectos más importantes a considerar sobre el rendimiento de SQL son:
¡Hola Comunidad!
¿No pudistéis ver el webinar que hicimos la semana pasada? Por si os lo perdisteis o lo queréis volver a ver, ya está disponible la grabación completa.
⏯ Webinar: Desarrolla un chatbot con Google DialogFlow, Telegram e InterSystems IRIS
Con https://openexchange.intersystems.com/package/IRIS-Publisher puedes documentar tu IRIS Application y generar el Portal Web con Documentación de la Aplicación (responsive). Mira los resultados:
Página principal:
.png)
Menú "Clases" y página "Clase": La página "clase" con documentación de la clase, la lista de métodos y propiedades.
| Navigation and Search bar: |
Cuadro de búsqueda:
Página "Sobre nosotros": tus contactos
Cambia el tema:
OData (Open Data Protocol) es un estándar OASIS, con certificación ISO/IEC, que define un conjunto de prácticas recomendadas para construir y consumir APIs RESTful. OData te ayuda a enfocarte en tu lógica de negocio mientras construyes APIs RESTful, sin tener que preocuparte por los diversos enfoques para definir cabeceras de solicitud y respuesta, códigos de estado, métodos HTTP, convenciones URL, tipos de medios audiovisuales, formatos de carga, opciones de consulta, etc. OData también proporciona orientación para registrar cambios, definir funciones/acciones para llevar a cabo procedimientos reutilizables y enviar solicitudes asíncronas/por lotes (Fuente: OData.org).
¡Hola desarrolladores!
Os invitamos a un nuevo webinar en español: "Desarrolla un chatbot con Google Dialogflow, Telegram e InterSystems IRIS", el martes 2 de febrero, a las 4:00 PM (CET).
.png)
En este webinar:
¡Hola desarrolladores!
Lo habéis pedido – ¡y ya está aquí! ¡Ha llegado el turno de los usuarios de habla china de nuestra Comunidad!
Estamos encantados de anunciar el lanzamiento oficial de la Comunidad de Desarrolladores de InterSystems en chino!
.png)
InterSystems IRIS es una excelente opción para desarrollar proyectos de aprendizaje automático (Machine Learning, ML), en escenarios de operaciones con datos masivos, debido a las siguientes razones:
¡Hola desarrolladores!
El noveno concurso para desarrolladores de InterSystems ha terminado. ¡Muchas gracias a todos los participantes!
Así que ya podemos anunciar los ganadores...

Un fuerte aplauso para estos desarrolladores y sus aplicaciones: