Nueva publicación

Encontrar

Anuncio
· 13 mayo, 2025

Concurso de Interoperabilidad de Salud Digital y FHIR de InterSystems 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


The topic

Develop any interoperability FHIR solution or Healthcare Interoperability solution or a solution that helps to develop or/and maintain interoperability solutions using InterSystems IRIS for Health, Health Connect, or FHIR server.  

General Requirements:

  1. An application or library must be fully functional. It should not be an import or a direct interface for an already existing library in another language (except for C++, there you really need to do a lot of work to create an interface for IRIS). It should not be a copy-paste of an existing application or library.
  2. Accepted applications: new to Open Exchange apps or existing ones, but with a significant improvement. Our team will review all applications before approving them for the contest.
  3. The application should work either on IRIS Community Edition or IRIS for Health Community Edition. Both could be downloaded as host (Mac, Windows) versions from Evaluation site, or can be used in a form of containers pulled from InterSystems Container Registry or Community Containers: intersystemsdc/iris-community:latest or intersystemsdc/irishealth-community:latest .  
  4. The application should be Open Source and published on GitHub or GitLab.  
  5. The README file to the application should be in English, contain the installation steps, and contain either the video demo or/and a description of how the application works.
  6. Only 3 submissions from one developer are allowed.

NB. Our experts will have the final say in whether the application is approved for the contest or not based on the criteria of complexity and usefulness. Their decision is final and not subject to appeal.

 

El concurso

Desarrollar cualquier solución de interoperabilidad FHIR o solución de interoperabilidad de salud, o una solución que ayude a desarrollar y/o mantener soluciones de interoperabilidad utilizando InterSystems IRIS for Health, Health Connect o el servidor FHIR.

Requisitos generales:

  1. La aplicación o biblioteca debe ser completamente funcional. No debe ser una importación ni una interfaz directa para una biblioteca ya existente en otro lenguaje (excepto en C++, donde realmente necesitaréis hacer mucho trabajo para crear una interfaz para IRIS). No debe ser una copia o pegado de una aplicación o biblioteca existente.
  2. Aplicaciones aceptadas: nuevas aplicaciones en Open Exchange o aplicaciones existentes, pero con una mejora significativa. Nuestro equipo revisará todas las aplicaciones antes de aprobarlas para el concurso.
  3. La aplicación debe funcionar en IRIS Community Edition o IRIS for Health Community Edition. Ambas pueden descargarse como versiones de host (Mac, Windows) desde el sitio de Evaluación o pueden usarse en forma de contenedores obtenidos desde el InterSystems Container Registry o Community Containers: intersystemsdc/iris-community:latest o intersystemsdc/irishealth-community:latest.
  4. La aplicación debe ser Open Source y publicada en GitHub o GitLab.
  5. El archivo README de la aplicación debe estar en inglés, contener los pasos de instalación y contener una demo en video y/o una descripción de cómo funciona la aplicación.
  6. Solo se permiten 3 envíos por desarrollador.

Nota: Nuestros expertos tendrán la última palabra sobre si la aplicación es aprobada para el concurso o no, basándose en los criterios de complejidad y utilidad. Su decisión es final y no susceptible de apelación.

Premios

1. Nominación de Expertos: un jurado especialmente seleccionado determinará a los ganadores.

🥇 1er lugar - $5,000 

🥈 2do lugar - $2,500 

🥉 3er lugar - $1,000

🏅 4to lugar - $500

🏅 5to lugar - $300

🌟 6-10 posiciones - $100

2. Ganadores de la Comunidad: aplicaciones que reciban la mayor cantidad de votos en total.

🥇 1er lugar - $1,000 

🥈 2do lugar - $600 

🥉 3er lugar - $300

🏅 4to lugar - $200

🏅 5to lugar - $100

❗ Si varios participantes obtienen la misma cantidad de votos, todos serán considerados ganadores y el premio en efectivo se dividirá entre los ganadores.
❗ Los premios en efectivo solo se otorgan a aquellos que puedan verificar su identidad. Si hay alguna duda, los organizadores se pondrán en contacto y solicitarán información adicional sobre el/los participante(s).

 

¿Quién puede participar?

Cualquier miembro de la Comunidad de Desarrolladores, excepto los empleados de InterSystems (se permiten contratistas de ISC). ¡Crea una cuenta!

Los desarrolladores pueden formar equipos para crear una aplicación colaborativa. Se permiten de 2 a 5 desarrolladores por equipo.

No olvidéis resaltar a los miembros de vuestro equipo en el archivo README de vuestra aplicación – perfiles de usuario de DC.

Fechas importantes:
🛠 Fase de desarrollo y registro de la aplicación:

  • 12 de mayo de 2025 (00:00 EST): Comienza el concurso.
  • 25 de mayo de 2025 (23:59 EST): Fecha límite para enviar aplicaciones.

✅ Período de votación:

  • 26 de mayo de 2025 (00:00 EST): Comienza la votación.
  • 1 de junio de 2025 (23:59 EST): Fin de la votación.

Nota: Los desarrolladores pueden mejorar sus aplicaciones durante todo el período de registro y votación.

    Recursos útiles

    ✓ Documentación:

    ✓ Herramientas:

    • Clinfhir - Herramienta de visualización y desarrollo FHIR.

    ✓ Ejemplos de aplicaciones:

    ✓ Cursos online:

    ✓ Vídeos:

    ✓ Para principiantes en IRIS:

    ✓ Para principiantes en ObjectScript Package Manager (IPM):

    ✓ Cómo enviar vuestra aplicación al concuso:

    ¿Necesitáis ayuda?

    Uníos al canal del concurso en el servidor de Discord de InterSystems o hablad con nosotros en los comentarios de esta publicación.

    Estamos esperando VUESTRO proyecto – ¡uníos a nuestro maratón de código para ganar!


    Al participar en este concurso, aceptáis las condiciones del mismo que se detallan aquí. Leedlas con atención antes de continuar.

    Comentarios (0)1
    Inicie sesión o regístrese para continuar
    Artículo
    · 13 mayo, 2025 Lectura de 2 min

    Contenedor de IRIS con una huella mínima

    A veces, los clientes necesitan una instancia pequeña de IRIS para hacer algo en la nube y luego apagarla, o necesitan cientos de contenedores (es decir, uno por usuario final o uno por interfaz) con cargas de trabajo pequeñas. Este ejercicio surgió para ver cuán pequeña podría ser una instancia de IRIS. Para este ejercicio, nos centramos en cuál es la menor cantidad de memoria que podemos configurar para una instancia de IRIS. ¿Conocéis todos los parámetros que afectan la memoria asignada por IRIS?

    Configuración de memoria

    Estos son los distintos bloques que afectan la asignación de memoria por parte de IRIS y sus parámetros correspondientes:

    • Buffers globales (32 MB) => El mínimo parece ser 32 MB para bases de datos de 8k
    • Buffers de rutinas (26 MB) => El mínimo teórico según la documentación es 430 buffers x 64k por buffer, lo que equivale a aproximadamente 26 MB, y en la práctica también es 26 MB
    • Buffers de journaling (16 MB) => En teoría y en la práctica, el mínimo para un sistema Unicode es 16 MB (8 MB para sistemas de 8 bits)
    • Descriptores de buffer (3 MB) => Parece ser de 3 MB, no se puede ajustar
    • gmheap (16 MB) => El mínimo es 256 páginas x 64k por página = 16 MB (configurado en bytes en el CPF = 16384)
    • ECP (1 MB) => Hay un par de parámetros en el CPF que controlan esto: MaxServerConn y MaxServers. Incluso con MaxServerConn=0 y MaxServers=0, el mínimo sigue siendo 1 MB porque IRIS asigna memoria a esas estructuras independientemente de si usas ECP o no. Con MaxServerConn=1 y MaxServers=2, el valor predeterminado es 5 MB
    • Varios (15 MB) => Según mis pruebas, el mínimo parece ser 15 MB. No pude reducirlo más.

    Con todos estos ajustes configurados de esta manera, los parámetros del CPF se verían de la siguiente forma:

    globals=0,0,32,0,0,0
    routines=0,0,0,0,0,26
    jrnbufs=16
    gmheap=16384
    MaxServerConn=0
    MaxServers=0

    Entonces, si configuras IRIS con estos parámetros (yo usé IRIS 2024.1) en el archivo CPF, se puede esperar que el total mínimo de memoria asignada por IRIS al iniciar (excluyendo los procesos de usuario) sea de 111 MB. Podéis ver la memoria asignada por IRIS en el archivo messages.log.

     

     

    Bueno, lo sé, debe haber algún redondeo involucrado porque si sumas todos los valores individuales obtienes 109 MB, pero en el archivo messages.log se informa como 111 MB.

    Durante este proceso, también descubrimos que los contenedores de IRIS no podían asignar páginas grandes (Huge Pages), lo cual fue reportado y corregido en versiones posteriores por InterSystems.

    Por cierto, este artículo también puede servir como una guía general para aprender sobre los diferentes parámetros de memoria que se pueden ajustar dentro de IRIS para obtener un mejor rendimiento.

    ¡Espero que os haya gustado!

    Comentarios (0)1
    Inicie sesión o regístrese para continuar
    Artículo
    · 13 mayo, 2025 Lectura de 2 min

    Using %System.Monitor.LineByLine together with %SYS.MONLBL to analyze your code

    I'm sure most of you are familiar with utility %SYS.MONLBL that is crucial when analysing code performance bottlenecks. It allows you to select a number of routines that you want to monitor at runtime and also specify what process(es) you want to watch. BUT, what if you do not know exactly, what process would execute your code? This is true with many web based (CSP/REST) applications today. You want to minimize the resource utilization on your production system that needs analysis. So, how about doing a small tweak?

    1. Define an INC file with these macros:

    #define START(%level) try { ##continue 
    s zzroutine=$p($view(-1,-3),"^",6) ##continue 
    if ##class(%Monitor.System.LineByLine).IsActive(zzroutine)=0 { ##continue $$$ThrowOnError(##class(%Monitor.System.LineByLine).Start($lfs(zzroutine),$lfs(##class(%Monitor.System.LineByLine).GetMetrics(%level)),$lb($job))) ##continue } ##continue 
    h 1 ##continue 
    } catch (e) { ##continue
     d BACK^%ETN ##continue 
    } 
    
    #define PAUSE s sc=##class(%Monitor.System.LineByLine).Pause()

    2. in your class, or routine, identify a place you want to monitor and put these two macros to start collecting data and pausing collection, like in this example:

    $$$START(2)   // use 1 or 2 here
    
    // code of your application here
    
    $$$PAUSE

    Whenever you run this code (method of a class or routine) this would try to start %SYS.MONLBL for this particular class or routine and process.

    Once your code is finished, you can simply go to terminal in the namespace where your application runs and call d ^%SYS.MONLBL. As START macro started monitor, it is still running and you can easily collect your performance data, optionally together with source code. Do not forget to stop monitor, once you have collected your data!

    If you need to collect data for more routines, you can easily modify  the START macro to allow for manual entry of routines list to analyze.

    Hope you find this little tweak useful!

    2 comentarios
    Comentarios (2)2
    Inicie sesión o regístrese para continuar
    Anuncio
    · 13 mayo, 2025

    FHIR France Meetup #13

    Hello Community!

    We're excited to announce that the FHIR France Meetup is making a comeback... in person at SantExpo 2025!

    📅 Dates: May 21, 2025, starting at 7:00 PM

    📌 Location: Halles d'Issy - Biltoki, 1 Rue Rouget de Lisle, Issy-les-Moulineaux, Paris, France

    Meetup FHIR France #13 : PARIS

    Program:

    • 7:00 p.m.: Welcome of participants
    • 7:30 p.m. – 9:00 p.m.: Presentations and discussions:
      • "How do the FHIR APIs of the ANS Multi-Terminology Server (SMT) help manage Europe's terminological artifacts?" by Abdelali BOUSSADI and Yohann POIRON (Agence du Numérique en Santé)
      • "The Advantages and Benefits of the Toulouse University Hospital's FHIR Platform: From Frameworks to Architecture" by Paul ORTEGA and Christian COUDER (CHU de Toulouse)
      • "Intelligent Querying with FHIR – OWL – LLM" by @Yann de Cambourg (Synodis), Guillaume POULERIGUEN (ftprod), Vincent HENRY (Jarod Knowledge Science)
      • "Predicting and Preventing Life-Saving Emergencies with HL7 FHIR" by Quentin FRANCOIS (PREVIA MEDICAL)
    • after 9:00 p.m.: Cocktail and Networking

    Registration

    The event is free, but places are limited. Please register via the official Meetup page:

    👉 Register here 👈

    This meetup is an excellent opportunity to discover concrete FHIR use cases, connect with experts, and strengthen the French-speaking community around healthcare interoperability.

    We hope to see you there!

    Comentarios (0)1
    Inicie sesión o regístrese para continuar
    Anuncio
    · 13 mayo, 2025

    Fourth Spanish Technical Article Contest – Prizes for Everyone!

    Hello Community!

    The big challenge you've all been waiting for is finally here: The fourth InterSystems technical article writing contest in Spanish is here!

    🏆 4th Spanish Technical Article Contest 🏆

    Contest description: Write an article in Spanish in the Developer Community on any topic related to InterSystems technology.

    Duration: May 12 – June 8, 2025.

    Prizes for all participants: Everyone who publishes an article in Spanish during the contest period will receive a prize.

    Main prize: Apple Watch SE / 10th generation iPad

     

    Take part in the contest and share your knowledge with hundreds of users! It’s one of the best opportunities to publish that trick, discovery, or potential you see in InterSystems technology (Newcomers are very welcome in these contests!)

    Prizes

    1. Everyone wins in the InterSystems technical article contest → Any Community member who participates in the contest will receive a gift from InterSystems for taking part.
    2. Expert Awards – The winning articles in this category will be selected by InterSystems experts, and for each position, the winner may choose one of the following:

    🥇 1st place: Apple Watch SE or 10th generation iPad
    🥈 2nd place: Insta360 Link 2 or Nintendo Switch Lite
    🥉 3rd place: Samsonite backpack

    Alternatively, any winner may choose a prize from a lower category.

    Note: Prizes are subject to change if availability in the country prevents delivery.

    1. Developer Community Award – Article with the most "Likes". The winner will receive:

    🎁 Samsonite Backpack

    Note: Each author can only win one prize per category (in total, an author can win two prizes: one in the Experts category and one in the Community category).

    Who can participate?
    Anyone registered in the Developer Community, except InterSystems employees. Register here in the Community if you don't have an account yet.

    Contest Duration
    📝  May 12 to June 8: Article submission period.

    📝 June 9 to June 15: Voting phase.

    Publish your article(s) during this period. Members of the Developer Community can vote for the articles they like by clicking "Like" under each article.

    Tip: The earlier you publish your article(s), the more time you'll have to get votes from both the Experts and the Community.

    🎉 Once the voting is complete, we will announce the winners in the Developer Community.

    Requirements
    ❗️ Any article written during the contest period that meets the following requirements will automatically be entered into the competition ❗️:

    • The article must be directly or indirectly related to InterSystems technology (specific features of InterSystems products or complementary tools, architectural solutions, development best practices, etc.).
    • The article must be written in Spanish.
    • The article must be 100% new (it can be a continuation of a previously published article).
    • The article cannot be a copy or translation of another article already published in the Developer Community in Spanish or in another Community.
    • Article length: >1,000 characters (links do not count toward the character count).
    • Participation mode: individual (a participant may publish multiple articles).

    What can you write about?
    You can choose any technical topic directly or indirectly related to InterSystems technology.

    🎯 BONUS:

    Experts award 9 points to the article they consider the best, 6 points to the second-best, and 3 points to the third-best. Additionally, articles can receive more points based on the following bonuses:

    Note: the judges' decision is final.

    1. New author bonus: If this is your first time participating in the Spanish Technical Article Contest, your article will receive 4 extra points from the Experts.
    2. Topic bonus: If your article falls under the following topics, it will receive 3 extra points:

    ✔️ Use of ODBC and JDBC
    ✔️ Use of DB-API
    ✔️ Use of Dynamic SQL and Embedded SQL
    ✔️ Generation of OpenAPI Documentation
    ✔️ Authentication-related Endpoints (use of SSO, OAuth, and ZAuth)
    ✔️ Use of isc.rest for API development
    ✔️ Embedded Python in Interoperability (Operations, Services, Custom Functions)
    ✔️ Common IKO deployments
    ✔️ Adapting existing C#, Java, and Python code to IRIS and IRIS interoperability via external language gateways
    ✔️ GenAI, Vector Search, RAG
    ✔️ FHIR, EHR, OMOP
    ✔️ Data Fabric, Data Lake, Data Warehouse, Data Mesh
    ✔️ Sharding, Mirroring

    1. Video bonus: If the article is accompanied by an explanatory video, the participant will receive 2 points. Here are some tips in case you're unsure how to approach this.
    2. Tutorial bonus: You will receive 3 points if the article has tutorial characteristics, with step-by-step instructions that a developer can follow to complete one or more specific tasks.

    Do you have any questions? Feel free to write to me!

    We're really looking forward to your articles!

    And as we always say... Ready, set, code! 🔥

    Comentarios (0)1
    Inicie sesión o regístrese para continuar