Encontrar

Announcement
· Jan 13

Global Masters: puntos y una insignia por convertir ideas en realidad

¡Hola, comunidad!

A partir de enero de 2026, los desarrolladores que conviertan ideas de producto del Portal de Ideas en soluciones reales y funcionales serán premiados con 7.000 puntos en Global Masters y una insignia.

Lo que obtenéis:
🧙‍♂️ Insignia Idea to Reality Wizard
— otorgada una sola vez a los miembros de la comunidad que implementen una idea de producto propuesta en el Portal de Ideas.
7.000 puntos de Global Masters — otorgados por cada idea implementada de la lista «Community Opportunity».


 

Detalles: 

Como quizá ya sabéis, cualquiera puede enviar ideas o sugerencias de producto en el Portal de Ideas de InterSystems (y ganar puntos e insignias por ello; ved esta publicación relacionada).
Cualquiera puede sumarse, tomar una idea y ayudar a toda la comunidad haciéndola realidad.
Ahora, cuando una idea sea implementada por un miembro de la comunidad, queremos agradecéroslo reconociendo vuestra contribución y otorgándoos puntos de Global Masters y una insignia.

🤝 ¿Trabajáis en equipo?
Si una idea se implementa junto con otros desarrolladores, los 7.000 puntos se reparten a partes iguales entre todos los colaboradores.

La insignia se otorga una sola vez, pero los puntos pueden ganarse una y otra vez a medida que implementáis más ideas.

Gracias a todos los que construís, contribuís y ayudáis a convertir ideas en realidad. Estamos deseando ver en qué trabajáis a continuación 💡

Si aún no sois miembros del Global Masters Advocacy Hub, uníos ahora para manteneros al día, conseguir premios interesantes y dejarnos reconocer vuestra contribución a la comunidad de desarrolladores. 👍

Discussion (0)1
Log in or sign up to continue
Question
· Jan 13

Creating an Analytics Dashboard from SQL Query

New to using Analytics and using Dashboards. We have this Report, SQL Query that lists out the Activity per Data Source in Health Share Provider Directory. Instead of running it as a report, because it takes a while to run, was wondering if there is a way to do this as a Dashboard instead.

How can I take the SQL from this report and create a Dashboard instead?

3 new Comments
Discussion (3)3
Log in or sign up to continue
Announcement
· Jan 13

InterSystems Community Annual Recap 2025

Hello and welcome to the 2025 Annual Developer Community Recap.
General Stats
2,889 posts published in 2025:
  – 1,123 articles
  – 955 announcements
  – 755 questions
  – 56 discussions
4,592 members joined the Developer Community in 2025
25,158 posts published in total
25,553 members joined in total
Most Popular Articles
633
By Alessandra Carena
571
By Andre Larsen Barbosa
Most Discussed Articles 
Most Liked Articles
76
By Alessandra Carena
69
By Andre Larsen Barbosa
Most Popular Authors 
Authors with the Most Articles
2025 at a GlanceInterSystems Developer Community
Discussion (0)1
Log in or sign up to continue
Digest
· Jan 13

InterSystems Community Annual Newsletter 2025

Hello and welcome to the 2025 Annual Developer Community Newsletter.
General Stats
2,889 posts published in 2025:
  – 1,123 articles
  – 955 announcements
  – 755 questions
  – 56 discussions
4,592 members joined the Developer Community in 2025
25,158 posts published in total
25,553 members joined in total
Most Popular Articles
633
By Alessandra Carena
571
By Andre Larsen Barbosa
Most Discussed Articles 
Most Liked Articles
76
By Alessandra Carena
69
By Andre Larsen Barbosa
Most Popular Authors
Authors with the Most Articles
2025 at a GlanceInterSystems Developer Community
Article
· Jan 13 7m read

Aspectos destacados de la búsqueda FHIR 2025.1 - Soporte de búsqueda relacionado con listas (_List, $find, Listas funcionales/"Actuales")

A veces es más conveniente, más eficiente y más seguro limitar las búsquedas FHIR a "listas" de recursos predefinidas.

Desde la versión v2025.1, soportamos varias funcionalidades relacionadas con listas en nuestro servidor FHIR.

Aquí las destacaré y os proporcionaré algunos ejemplos.

En general, podéis consultar los detalles sobre el recurso List en la documentación oficial de FHIR. 

Pero aquí tenéis una breve descripción basada en lo anterior:

El recurso List de FHIR representa una colección plana (opcionalmente ordenada) de registros utilizada para listas clínicas (por ejemplo, alergias, medicación, alertas, historiales) y para la gestión de flujos de trabajo (por ejemplo, seguimiento de pacientes, casos de enseñanza).
Las listas pueden ser homogéneas (un único tipo de recurso) o heterogéneas (tipos mezclados, por ejemplo, una lista de problemas que abarque Conditions, AllergyIntolerances y Procedures).
Usad List cuando necesitéis un conjunto seleccionado/filtrado que no pueda obtenerse mediante una consulta simple (por ejemplo, “alergias actuales” frente a todas las alergias registradas).
Consultar una List devuelve una instantánea curada por humanos en un momento determinado, mientras que consultar el endpoint del recurso normalmente devuelve un conjunto de datos más amplio, no curado, “tal como está ahora”.

En nuestras versiones más recientes (2025.1+) podéis encontrar un nuevo soporte para trabajar con Lists:

  • El parámetro de búsqueda _list

Consultad la documentación FHIR relacionada para una descripción completa. Consultad también nuestra documentación relacionada para conocer los detalles del soporte disponible (específicamente sobre búsquedas a nivel de tipo frente a búsquedas a nivel de sistema).

Con esta funcionalidad podéis definir, por ejemplo, una List de ciertos recursos, como Encounters o Patients, que queráis buscar según ellos, sin tener que detallar todos como múltiples parámetros de búsqueda.

Por ejemplo, podría definir una List de Patients:

 
PUT /List cURL snippet

Y luego buscarlos de esta manera:

 
GET /Patient?_list cURL snippet

Y recibir de vuelta una lista curada de los Patients que quería, en lugar de tener que “mencionar” a todos ellos en múltiples parámetros de búsqueda.

Y, por supuesto, hay muchos otros casos de uso.

  • Listas funcionales (incluida la operación personalizada $update-functional)

Un tipo especial de listas son las Listas Funcionales (o listas de “Current Resource”).

Consultad la documentación FHIR relacionada para una descripción completa.

Para vuestra comodidad, aquí tenéis una breve descripción basada en lo anterior:

Muchos sistemas clínicos mantienen listas de pacientes “actuales” (por ejemplo, una lista de problemas actuales y una lista de medicación actual), pero FHIR no puede inferir de manera fiable la “actualidad” simplemente examinando una única instancia de recurso.

Usando Condition como ejemplo, el mismo tipo de recurso puede registrarse con múltiples fines legítimos (entrada curada en la lista de problemas, queja/diagnóstico de un encuentro, contexto de flujo de trabajo diagnóstico o datos de derivación entrante), y Condition no tiene un elemento que distinga claramente estos usos.

Dado que diferenciar entre actual y pasado requeriría alteraciones retrospectivas (generando problemas de integridad y firma digital), una búsqueda normal de Condition para un paciente devolverá más que solo los “problemas actuales” curados, y limitarla a “solo actuales” ocultaría otros registros importantes de Condition.

Por lo tanto, si un Condition (o un registro similar) forma parte de la “lista actual” de un paciente podría determinarse según si está referenciado desde la List correspondiente.

A través de la API REST, esto se expresa mediante el mecanismo de búsqueda _listutilizando nombres estándar de listas funcionales (por ejemplo, GET [base]/AllergyIntolerance?patient=42&_list=$current-allergies), y el servidor puede soportarlo sin necesariamente exponer una instancia de List independiente.

Existen varios nombres “comunes” de listas funcionales, como $current-problems, $current-medications, $current-allergies y $current-drug-allergies (un subconjunto de alergias). 

Para permitir el mantenimiento de estas Listas Funcionales, hemos definido una Operación Personalizada llamada $update-functional, que permite crear y actualizar este tipo de listas. Podéis consultar más detalles en nuestra documentación.

Por ejemplo, podéis definir una lista de alergias actuales de la siguiente manera:

 
POST /List/$update-functional?for=...&name=\$current-allergies cURL snippet

Esto creará/actualizará la lista $current-allergies para un paciente específico (ID 34 en el ejemplo anterior).

Tened en cuenta que incluyo el for= en la URL apuntando al ID del paciente, y en la List tengo 'subject ' haciendo referencia al paciente.

(También observad que, para el signo de dólar ($), he usado una barra invertida () antes, es decir: \$)

Y ahora, puedo solicitar el recurso AllergyIntolerance de este paciente, y en lugar de obtener todos, puedo pedir solo los “actuales”, tal como se definen en la List anterior.

Esto se vería así:

 
GET /AllergyIntolerance?patient=...&_list=\$current-allergies cURL snippet

Y esto devolvería un subconjunto de las alergias de este paciente, según la lista de alergias actuales.

Tened en cuenta que estamos usando el mismo parámetro de búsqueda _list mencionado anteriormente, solo que esta vez, en lugar de una “Custom List”, se utiliza una “Functional List”.

Tened en cuenta que podéis controlar los nombres de las listas funcionales (y, para cada lista, su parámetro de búsquedasubjecty el tipo de recurso subject; por ejemplo, en el ejemplo anterior el parámetro de búsqueda subject era patient y el tipo de recurso subject era Patient), a través de la configuración del endpoint FHIR, específicamente en los "Interactions Strategy Settings". Consultad la documentación relacionada aquí. Esto se ve así:

  • Operación $find

Además, si simplemente queréis obtener la Lista Funcional en sí (para un subject en particular y de un tipo concreto), podéis usar la operación $find.

Consultad la documentación FHIR relacionada para una descripción completa. También consultad nuestra documentación relacionada.

Aquí tenéis un ejemplo, basado en el anterior:

 

 

 
/List/$find?patient=...&name=\$current-allergies cURL snippet

Esto devolverá la lista $current-allergies relacionada con este paciente, tal como se definió anteriormente mediante la función $update-functional.

Consultad la aplicación relacionada en Open Exchange, que incluye una colección de Postman con los ejemplos anteriores (y algunos más) e instrucciones para ejecutarlos contra el contenedor Docker de la plantilla del servidor FHIR de @Evgeny Shvarov (de hecho, el ejemplo anterior se creó a partir de este ejemplo, con un pequeño cambio… consultad los detalles en las instrucciones de uso de mi aplicación).

Una nota general: toda esta funcionalidad asume que estáis usando la estrategia de almacenamiento JsonAdvSQL, relativamente nueva y actualmente por defecto, para vuestro endpoint. (Si es relevante, consultad aquí sobre cómo migrar desde una estrategia heredada).
Discussion (0)1
Log in or sign up to continue