Find

Announcement
· Sep 10

Concurso de .Net, Java, Python, y JavaScript de InterSystems.

Hola Desarrolladores,

Nos encanta poder anunciar el nuevo concurso de programación online de InterSystems:

🏆 InterSystems External Languages Contest 🏆

Duración: del 22 de septiembre al 12 de octubre de 2025

Bolsa de premios: $12.000

 

De qué va

Desarrollar una aplicación que muestre el uso de .Net, Java, Python, y JavaScript con InterSystems IRIS.

Requisitos generales:

  1. La aplicación o biblioteca debe ser completamente funcional. No debe ser una importación ni una interfaz directa de una biblioteca ya existente en otro lenguaje (excepto en C++, donde realmente se necesita mucho trabajo para crear una interfaz para IRIS). No debe ser un copia-pega de una aplicación o biblioteca existente.
  2. Aplicaciones aceptadas: apps nuevas para Open Exchange o 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 para host (Mac, Windows) desde el sitio de evaluación, o utilizarse en forma de contenedores extraídos de InterSystems Container Registry o Community Containers: intersystemsdc/iris-community:latest o intersystemsdc/irishealth-community:latest.
  4. La aplicación debe ser de código abierto y publicarse 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 el video de demostración 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 se aprueba para el concurso o no, basándose en los criterios de complejidad y utilidad. Su decisión es final y no está sujeta a 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-10to lugar - $100

2. Premios 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 el mismo número de votos, todos se consideran ganadores y el premio en efectivo se reparte entre ellos.
❗ Los premios en efectivo se otorgan solo a quienes puedan verificar su identidad. Si hay dudas, los organizadores se pondrán en contacto y solicitarán información adicional sobre los participantes.

¿Quién puede participar?

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

Los desarrolladores pueden formar equipo para crear una aplicación colaborativa, con un límite de 5 desarrolladores por equipo.

No olvides destacar a los miembros de tu equipo en el README de tu aplicación – perfiles de usuario de la Comunidad de Desarrolladores.

Fechas importantes

🛠 Fase de desarrollo y registro de aplicaciones:

  • 22 de septiembre de 2025 (00:00 EST): comienza el concurso.
  • 5 de octubre de 2025 (23:59 EST): fecha límite para envíos.

 Período de votación

  • 6 de octubre de 2025 (00:00 EST): Empieza la votación
  • 12 de octubre de 2025 (23:59 EST): Termina la votación

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

    Recursos útiles

    ✓ Documentación:

    ✓ Aplicaciones de ejemplo:

    ✓ Para principiantes con IRIS:

    ✓ Para principiantes con ObjectScript Package Manager (IPM):

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

    ¿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 los términos de la competición aquí establecidos. Por favor, leedlos atentamente antes de continuar.

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

    Introduction to New Memebers

    Hello Everyone,

    I’m excited to join the InterSystems Developer Community, a place where IRIS, Caché, Ensemble, HealthShare, and all things InterSystems come alive through shared knowledge and collaboration.

    A little about me,

    • I’m passionate about building efficient, integration-driven solutions, exploring ObjectScript, working with REST APIs, and diving into analytics tools like DeepSee and IntegratedML.
    • I’m here to learn from your real-world experiences, whether it’s tips on interoperability, performance tuning, or best practices across IRIS and HealthShare ecosystems.
    • I also look forward to contributing back through questions, articles, and discussions.

    I didn’t find any dedicated introduction thread, so I thought of starting this one. Hopefully this doesn’t go against any guidelines. 😊

    Looking forward to connecting, solving problems together, and growing within this amazing global developer community!

    - Rajesh

    3 Comments
    Discussion (3)4
    Log in or sign up to continue
    Discussion (0)0
    Log in or sign up to continue
    Question
    · Sep 9

    Creating a lookup table with Data from ADT message to reference later in business rule

    I have a vendor that only wants results on patients that arrive to the ED via EMS/Ambulance.  The value I need for filtering is in the PV2;38. Some of the results requested do not allow the PV2 segment to be added to the schema in the EMR.  I was told that other orgs have used a lookup table that is populated with the PV1;19 value when an ADT messages that meets the criteria is sent in.  This table is then referenced in the business rule for the results that do not have PV2;38 and if Encounter number from result message exists on the Table, the result is sent.  Has anyone done this before?  

    Documentation I found suggests copying the EnsLib.Hl7.SearchTable.  Is this the correct route to take?  

    Appreciate any feedback or instructions.  

    Thanks!

    Gigi La Course

    1 Comment
    Discussion (1)2
    Log in or sign up to continue
    Article
    · Sep 9 3m read

    Como usar a query FreeSpace da classe SYS.Database para checar o espaço disponível no disco onde a base de dados está

    Rubrica InterSystems FAQ

    Você pode verificar o espaço em disco a qualquer momento usando a classe utilitária do sistema: SYS.Database e a consulta: FreeSpace.

    Aqui está como testar no terminal IRIS (vá para o namespace %SYS e então execute):

    zn "%SYS"
    set stmt=##class(%SQL.Statement).%New()
    set st=stmt.%PrepareClassQuery("SYS.Database","FreeSpace")
    set rset=stmt.%Execute()
    do rset.%Display()

    O exemplo de resultado de saída é o seguinte:

    *No exemplo de execução do comando, todos os bancos de dados estão localizados no mesmo disco, então o espaço livre em disco (DiskFreeSpace) retorna o mesmo valor.

    Dumping result #1
    DatabaseName    Directory       MaxSize Size    ExpansionSize   AvailableFreeDiskFreeSpace      Status  SizeInt AvailableNum    DiskFreeSpaceNum        ReadOnly
    IRISSYS c:\intersystems\irishealth3\mgr\        無制限  159MB   システムデフォル           ト      18MB    11.32   245.81GB        マウント/RW     159     18      2517050
    ENSLIB  c:\intersystems\irishealth3\mgr\enslib\ 無制限  226MB   システムデフォル           ト      19MB    8.4     245.81GB        マウント/R      226     19      2517051
          <一部省略>
    IRISTEMP        c:\intersystems\irishealth3\mgr\iristemp\       無制限  51MBシス     テムデフォルト  49MB    96.07   245.81GB        マウント/RW     51      49251705           0
    USER    c:\intersystems\irishealth3\mgr\user\   無制限  31MB    システムデフォル           ト      8.5MB   27.41   245.81GB        マウント/RW     31      8.5     2517050

    Se você quiser especificar o diretório do banco de dados ao qual se referir, execute o seguinte:

    // Use a função $LISTBUILD() para o obter o caminho completo do diretório da base de dados que deseja visualizar.
    set dbdir=$LISTBUILD("c:\intersystems\irishealth3\mgr","c:\intersystems\irishealth3\mgr\user")
    set rset=stmt.%Execute(dbdir)
    do rset.%Display()

    Para obter apenas o nome do banco de dados (DatabaseName),o tamanho atual (Size) em MB, o espaço disponível (Available) em MB, o espaço livre (Free), e  e o espaço livre em disco (DiskFreeSpace) em um diretório de banco de dados especificado, siga os passos abaixo (crie uma rotina/classe no VSCode ou Studio enquanto conectado ao namespace %SYS e escreva o código).

    Class ZMyClass.Utils
    {
    ClassMethod GetDiskFreeSpace()
    {
        set dbdir=$LISTBUILD("c:\intersystems\irishealth3\mgr","c:\intersystems\irishealth3\mgr\user")
        set stmt=##class(%SQL.Statement).%New()
        set st=stmt.%PrepareClassQuery("SYS.Database","FreeSpace")
        set rset=stmt.%Execute(dbdir)
        while(rset.%Next()) {
            write rset.%Get("DatabaseName")," - ",
            rset.%Get("Size")," - ",rset.%Get("Available")," - ",
            rset.%Get("Free"),"% - ",rset.%Get("DiskFreeSpace"),!
        }
    }
    }

     

    NOTA: Se você colocar rotinas ou classes definidas pelo usuário no namespace %SYS, criá-las com nomes que comecem com Z garante que o código-fonte definido pelo usuário permaneça disponível após uma instalação de atualização.

    Um exemplo de execução é o seguinte.

    USER>zn "%SYS"
    %SYS>do ##class(ZMyClass.Utils).GetDiskFreeSpace()
    
    IRISSYS - 159MB - 18MB - 11.32% - 245.81GB
    USER - 31MB - 8.5MB - 27.41% - 245.81GB
    
    %SYS>
    
    Discussion (0)1
    Log in or sign up to continue