Nova postagem

検索

InterSystems Oficial
· Mar. 10

Utilisation d'OpenEHR avec InterSystems IRIS

Utilisation d'OpenEHR avec InterSystems IRIS

Parfois, nous recevons des questions sur l'utilisation d'OpenEHR avec InterSystems. En général, ces discussions portent sur les raisons et la manière dont une organisation souhaite mettre en œuvre OpenEHR dans la création d'applications. Voici un bref guide :

  • InterSystems se concentre sur l'interopérabilité : nous accordons la priorité à l'interopérabilité via des normes telles que HL7, IHE, DICOM et ISO. D'après notre expérience, aucune norme ne répond à tous les besoins des données de santé complexes. Ainsi, nous recommandons que toute mise en œuvre d'OpenEHR soit évaluée en conjonction avec ces normes et qu'une analyse des scénarios les mieux pris en charge par chaque norme soit réalisée.
  • OpenEHR sur InterSystems IRIS : pour les organisations qui créent des applications ou des produits de données à l'aide du modèle OpenEHR, InterSystems IRIS est une plateforme idéale. Elle offre des capacités multi-modèles, une évolutivité, des performances élevées et une fiabilité. InterSystems IRIS for Health ajoute la flexibilité d'utiliser de nombreuses autres normes de santé, notamment HL7 FHIR, dans la même application.
  • Interopérabilité avec OpenEHR : OpenEHR a été lancé avant HL7 FHIR, mais FHIR couvre désormais de nombreux cas d'utilisation originaux d'OpenEHR. FHIR a une large implémentation, y compris l'utilisation par les principaux systèmes EHR. Par conséquent, le besoin de connexion entre les systèmes basés sur OpenEHR et ceux non basés sur OpenEHR augmente ; la technologie InterSystems excelle dans le mappage de données vers et depuis OpenEHR.

En résumé, si vous envisagez d'utiliser OpenEHR, envisagez InterSystems IRIS for Health comme plateforme. Définissez d'abord vos scénarios pour décider où OpenEHR s'adapte le mieux.

 
Discussão (0)0
Entre ou crie uma conta para continuar
InterSystems Oficial
· Mar. 10

Using OpenEHR with InterSystems IRIS

Using OpenEHR with InterSystems IRIS

Occasionally. we get questions about using OpenEHR with InterSystems.   Typically, these discussions focus on why and how an organization wants to implement OpenEHR in building applications. Here’s a brief guide:

  • InterSystems is focused on interoperability:  we prioritize interoperability through standards such as HL7, IHE, DICOM, and ISO. In our experience, no single standard addresses all the needs of complex healthcare data. Thus, we recommend that any implementation of OpenEHR be evaluated in conjunction with these standards and an analysis of which of your scenarios are best addressed by each standard.
  • OpenEHR on InterSystems IRIS: for organizations building applications or data products using the OpenEHR model, InterSystems IRIS is an ideal platform. It offers multi-model capabilities, scalability, high performance, and reliability. InterSystems IRIS for Health adds the flexibility to use many other healthcare standards including HL7 FHIR in the same application.
  • Interoperabiilty with OpenEHR: OpenEHR began before HL7 FHIR, but FHIR now covers many of the original OpenEHR use cases. FHIR has broad implementation, including use by major EHR systems.  Therefore the need to connect between OpenEHR-based  and non-OpenEHR-based systems is increasing; InterSystems technology excels at data mapping to and from OpenEHR. 

In summary, if you plan to use OpenEHR, consider InterSystems IRIS for Health as your platform. Define your scenarios first to decide where OpenEHR fits best.

 
2 Comments
Discussão (2)2
Entre ou crie uma conta para continuar
InterSystems Oficial
· Mar. 10

Atualização das Plataformas InterSystems Q1-2025

Bem-vindos à primeira atualização trimestral de 2025 das plataformas InterSystems.

Se você é novo nessas atualizações, seja bem-vindo! A grande novidade deste trimestre é o próximo lançamento do Red Hat Enterprise Linux 10. Continue lendo para saber mais sobre isso. Esta atualização tem como objetivo compartilhar mudanças recentes, bem como nosso melhor conhecimento atual sobre as próximas mudanças, mas prever o futuro é um negócio complicado e isso não deve ser considerado um roteiro comprometido.
  

Dito isto, vamos à atualização ... 

Sistemas Operacionais de Produção e Arquiteturas de CPU para InterSystems IRIS

Red Hat Enterprise Linux

  • Próximas Mudanças 
    • Esperamos que a Red Hat lance o RHEL 10 no final de Maio ou início de Junho e seja adicionado suporte para ele logo depois no IRIS 2025.1
    • O RHEL 9.5 passou por uma pequena certificação de sistema operacional sem incidentes.
  • Leitura Adicional: RHEL Release Page

Ubuntu

  • Atualizações Anteriores
    • We’ve completed minor OS certification for Ubuntu 24.04.01 and 22.04.3 on IRIS 2024.1 without incident
    • Concluímos a certificação secundária do sistema operacional para Ubuntu 24.04.01 e 22.04.3 no IRIS 2024.1 sem incidentes
  • Próximas Mudanças 
    • O Ubuntu 24.04.2 acaba de ser lançado e a certificação secundária do sistema operacional começará em breve.
  • Leitura Adicional: Ubuntu Releases Page

SUSE Linux

  • Atualizações Recentes
    • Concluímos a certificação secundária do sistema operacional SUSE Linux Enterprise Server 15 SP6 sem incidentes.
    • Estamos planejando mudar a forma como expressamos o suporte ao SUSE Service Pack para dizer apenas "Qualquer Service Pack que o SUSE suporte publicamente" em vez de listar SPs específicos na documentação. Fizemos essa alteração para o RHEL e está funcionando bem lá, então faremos a mesma alteração com o SUSE.
  • Atualizações Anteriores 
    • O Suporte Geral da SUSE para o Linux Enterprise Server 15 SP3 terminou em 31/12/2022, mas o suporte de segurança estendido continuará até dezembro de 2025.  

Leitura Adicional: SUSE lifecycle

Oracle Linux

  • Próximas Mudanças
    • Esperamos que o Oracle Linux 10 seja lançado na mesma época que o RHEL 10. Como oferecemos suporte ao Oracle Linux por meio do kit IRIS RHEL, esperamos que o suporte ao Oracle Linux 10 seja lançado ao mesmo tempo que o suporte ao RHEL 10.
  • Leitura Adicional: Oracle Linux Support Policy

Microsoft Windows

  • Atualizações Recentes
    • O Windows Server 2025 foi lançado em novembro e estamos ativamente adicionando suporte para a plataforma. Esperamos que nossos testes terminem em breve e, se tudo correr bem, ele será adicionado como uma plataforma com suporte.
  • Próximas Mudanças 
    • A Microsoft adiou a data de lançamento prevista para o Windows 12 para o outono de 2025. Iniciaremos o processo de suporte ao novo sistema operacional após seu lançamento.  
  • Leitura Adicional: Microsoft Lifecycle

AIX

  • Atualizações Recentes
    • O IRIS 2024.3 e versões posteriores oferecerão suporte apenas ao OpenSSL 3. OBSERVAÇÃO: Isso significa que a versão 2024.2 é a última versão do IRIS que tem os kits OpenSSL 1 e OpenSSL 3. No IRIS 2023.3, 2024.1 e 2024.2, fornecemos dois kits IRIS separados: um que oferece suporte ao OpenSSL 1 e outro que oferece suporte ao OpenSSL 3. Dada a importância do OpenSSL 3 para a segurança geral do sistema, ouvimos de muitos de vocês que já migraram para o OpenSSL 3.  
  • Leitura Adicional: AIX Lifecycle

Containers

  • Atualizações Anteriores
    • Alteramos a imagem base do contêiner do Ubuntu 22.04 para o Ubuntu 24.04 com IRIS 2024.2
    • Estamos considerando mudanças no contêiner IRIS padrão para, por padrão, ter tráfego interno (ECP, espelhamento, etc.) em uma porta diferente do tráfego potencialmente voltado para o exterior (ODBC, JDBC, etc.). Se você tiver necessidades nessa área, entre em contato e me avise.

Sistemas Operacionais e Arquiteturas de CPU para Desenvolvimento InterSystems IRIS 

MacOS

  • Próximas Mudanças 
    • A Apple lançou o MacOS 15 e estamos planejando suporte para ele no IRIS 2025.1

Componentes InterSystems 

Sistemas Operacionais de Produção e Arquiteturas de CPU para Caché & Ensemble

  • Atualizações Anteriores 
    • Um lembrete de que as versões finais de manutenção do Caché e do Ensemble estão programadas para o primeiro trimestre de 2027, o que está chegando mais cedo do que você imagina. Veja o excelente artigo do Jeff na comunidade para mais informações. 

Documentação das Plataformas Suportadas pela InterSystems

A documentação das plataformas suportadas pela InterSystems é a fonte definitiva de informações sobre tecnologias suportadas.

 

… e isso é tudo, pessoal. Novamente, se houver algo mais que você gostaria de saber, por favor, nos avise.
 

Discussão (0)1
Entre ou crie uma conta para continuar
Artigo
· Mar. 10 5min de leitura

Presentación del adaptador UDP

Hola

Este artículo es el resultado de la pregunta que había hecho a la comunidad: Adaptador UDP no funciona

En este artículo, voy a presentaros

1) ¿Qué es "UDP"?
2) El estado actual de Iris con UDP
3) Mi solución con el adaptador UDP



1) ¿Qué es "UDP"?

UDP significa User Datagram Protocol. Es uno de los protocolos fundamentales del conjunto de protocolos de Internet (IP) y se utiliza para transmitir datos a través de una red. Aquí tenéis algunas características clave de UDP:

  1. Sin conexión: UDP no establece una conexión antes de enviar datos, lo que significa que puede enviar mensajes (Datagram) sin un proceso previo de sincronización.
  2. No fiable: No hay garantía de que los mensajes enviados a través de UDP lleguen a su destino. No cuenta con mecanismos de recuperación de errores ni retransmisión de paquetes perdidos.
  3. Velocidad: Al no requerir conexión ni comprobaciones o correcciones de errores, UDP es generalmente más rápido que TCP (Protocolo de Control de Transmisión), lo que lo hace adecuado para aplicaciones en las que la velocidad es crucial.
  4. Orientado a datagramas: UDP envía mensajes en forma de paquetes discretos, que pueden tener longitudes variables. Cada paquete se trata de manera independiente.
  5. Casos de uso: Se usa comúnmente en aplicaciones donde la velocidad es más importante que la fiabilidad, como la transmisión de vídeo, los videojuegos en línea, la telefonía por Internet (VoIP) y las comunicaciones en tiempo real.

En resumen, UDP es un protocolo ligero y útil para aplicaciones específicas en las que la baja latencia es esencial.


2) El estado actual de Iris con UDP

Por supuesto, InterSystems Iris permite utilizar este protocolo para enviar y recibir datos.

Como protocolo REST, hay dos formas de hacerlo :

- con la función ##class(%Net.UDP).%New().

- con el EnsLib.UDP.OutboundAdapter y EnsLib.UDP.InboundAdapter

 

##class(%Net.UDP).%New()

Aunque la documentación de la clase es muy completa, aquí está el enlace de la documentación de InterSystems sobre cómo usarla.

Para enviar/recibir datos con ella, usamos una instancia de la clase(%Net.UDP).%New() y algún método vinculado a ella. En resumen, para enviar datos (en localhost con el puerto 3001) :

SET client = ##class(%Net.UDP).%New()
SET addrbin = ##class(%Net.UDP).GetHostAddr("127.0.0.1")
Set status = client.Send("message text", addrbin, 3001)

Para recibir datos (en localhost con el puerto 3001) :

Set sobj = ##class(%Net.UDP).%New(3001,"127.0.0.1")
Set data = sobj.Recv()

EnsLib.UDP.OutboundAdapter y EnsLib.UDP.InboundAdapter
Este es más simple : es un adaptador.
Aquí la documentación : EnsLib.UDP.OutboundAdapter et EnsLib.UDP.InboundAdapter
Para enviar datos :

Set status = ..Adapter.SendStream(stream)

Para recibir datos:

Set status = ..Adapter.Receive(stream)

Sin embargo, no funciona. Pregunté a la comunidad con mi problema «UDP Adapter not working» y creé un ticket para el WRC. Me respondieron esto :

El ejecutable subyacente ya no se instala en el producto desde Ensemble 2018.1.

Lo he comprobado internamente y se ha enviado JIRA DP-437486 para actualizar esos adaptadores y que utilicen la clase %Net.UDP, pero esto estará sujeto a la aprobación de la dirección del producto y a los recursos de desarrollo disponibles.

Lamentablemente, la única opción ahora mismo es crear su propio adaptador personalizado utilizando la clase %Net.UDP.

Las dos diferencias principales entre la clase(%Net.UDP) y el EnsLib.UDP.OutboundAdapter son

  • La clase %Net.UDP utiliza la clase de sistema $System.UDP, por lo que utiliza código del núcleo de Cache/IRIS para enviar/recibir los mensajes UDP, mientras que el adaptador UDP utiliza un pipeline de comandos para llamar a ejecutables externos para enviar/recibir el mensaje UDP.
  • La clase %Net.UDP envía/lee una cadena mientras que el adaptador UDP utiliza un stream para enviar/leer mensajes.

 

3) Mi solución con el adaptador UDP

Por lo tanto, escribí la mía propia (aprobado por el support team) para enviar datos :

/// Adapter to send data with UDP Connection
Class USER.UDP.OutboundAdapter Extends Ens.Adapter
{

/// Host of the UDP server
Property Host As %String [ Required ];
/// Port of the UDP server
Property Port As %Integer [ Required ];
/// if 1, show the text that will be sent
Property UDPTrace As %Integer(VALUELIST = ",0,1") [ InitialExpression = 0, Required ];
Parameter SETTINGS = "Host:Basic,Port:Basic,UDPTrace:Basic";
/// Send "text" throught the UDP connection
Method SendDataText(text As %String) As %Status
{
    Try {
        Set status = $$$OK
        If ..UDPTrace=1
        {
            Do ..ShowText(text)
        }
        
        Set udpClient = ##class(%Net.UDP).%New()
        Set addrbin = ##class(%Net.UDP).GetHostAddr(..Host)

        Set sentBytes = udpClient.Send(text, addrbin, ..Port)
    }
    Catch exception {
        Set status = exception.AsStatus()
    }    
    Return status
}

/// Convert "stream" into text and send it throught the UDP connection
Method SendDataStream(stream As %Stream.Object) As %Status
{
    Try {
        Do stream.Rewind()
        Set text = ""
        While 'stream.AtEnd{
            Set text = text _ stream.Read()
        }

        Set status = ..SendDataText(text)
    }
    Catch exception {
        Set status = exception.AsStatus()
    }    
    Return status
}

/// Convert "object" into json and send it throught the UDP connection
Method SendDataJSONObject(object As %RegisteredObject, format As %String = "iw") As %Status
{
    Try {
        Set status = ##class(%ZEN.Auxiliary.jsonProvider).%WriteJSONStreamFromObject(.stream,object,,,,format)
        $$$ThrowOnError(status)
        
        Set status = ..SendDataStream(stream)
    }
    Catch exception {
        Set status = exception.AsStatus()
    }    
    Return status
}

/// Takes a text as input,
/// Displays the traces of the associated object
Method ShowText(text As %String)
{
    Set nbParty = $SYSTEM.SQL.CEILING($LENGTH(text)/1100)
    For ii=1:1:nbParty
    {
        $$$TRACE($EXTRACT(text,ii,ii+1100))
    }
}

}

 

Espero que este artículo haya sido, si no útil, interesante.

No he probado el EnsLib.UDP.InboundAdapter, así que sentíos libres de añadir más información en los comentarios.


Corentin

Discussão (0)1
Entre ou crie uma conta para continuar
Anúncio
· Mar. 10

Winners of the InterSystems Technical Article Contest 2025

Hi Community!

It's time to celebrate our 25 fellow members who took part in the latest InterSystems Technical Article Contest and wrote

🌟 38 AMAZING ARTICLES 🌟

The competition was filled with outstanding articles, each showcasing innovation and expertise. With so many high-quality submissions, selecting the best was no easy task for the judges.

Let's meet the winners and look at their articles:

⭐️ Expert Awards – winners selected by InterSystems experts:

🥇 1st place: Creating FHIR responses with IRIS Interoperability production by @Laura Blázquez García

🥈 2nd place: Monitoring InterSystems IRIS with Prometheus and Grafana by @Stav Bendarsky 

🥉 3rd place: SQLAchemy-iris with the latest version Python driver by @Dmitry Maslennikov

⭐️ Community Award – winner selected by Community members:

🏆 Generation of OpenAPI Specifications by @Alessandra Carena

And...

⭐️ We'd like to highlight the author who submitted 8 articles for the contest@Julio Esquerdo

Let's congratulate all our heroes who took part in the Tech Article contest #6:

THANK YOU ALL! You have made an incredible contribution to our Dev Community! 


The prizes are in production now. We will contact all the participants when they are ready to ship.

21 Comments
Discussão (21)13
Entre ou crie uma conta para continuar