New post

Find

InterSystems Official
· Apr 24

As versões de manutenção 2024.1.4 e 2023.1.6 do InterSystems IRIS, IRIS for Health e HealthShare HealthConnect já estão disponíveis

As versões de manutenção 2024.1.4 e 2023.1.6 da plataforma de dados InterSystems IRIS® , InterSystems IRIS® for HealthTM, e HealthShare® Health Connect agora estão disponíveis para o público em geral (GA). Essas versões incluem as correções para o seguinte alerta emitido recentemente - Alerta: Queries SQL retornando resultados errados | InterSystems. Compartilhe seu feedback por meio da Comunidade de Desenvolvedores e assim construímos um produto melhor juntos. 

Documentação

Você pode encontrar as listas de alterações detalhadas e listas de verificação de atualizações nestas páginas:

Programa de Acesso Antecipado(EAPs)

Há muitos EAPs disponíveis agora. Confira esta página e inscreva-se para aqueles de seu interesse.

Como obter o software? 

Pacotes de instalação completas para ambos InterSystems IRIS e InterSystems IRIS for Health estão disponíveis através da página InterSystems IRIS Data Platform Full Kits do WRC. Kits do HealthShare Health Connect estão disponíveis através da página HealthShare Full Kits do WRC. Imagens de contêiner estão disponíveis através do InterSystems Container Registry. 

Disponibilidade e Informações do Pacote 

Esta versão inclui pacotes de instalação clássicos para todas as plataformas suportadas, bem como imagens de contêiner no formato Docker. Para obter uma lista completa, consulte o documento Plataformas Suportadas. Os números de compilação dessas Versões de Manutenção são: 2024.1.4.512.0 e 2023.1.6.809.0.

Discussion (0)1
Log in or sign up to continue
Discussion
· Apr 24

What is the best way to output JSON data in a REST API GET request?

Hi devs!

What is the best way to return JSON in IRIS for a GET request in a REST app?

This is how I do it now:

ClassMethod GetAllPersons() As %Stream.Object
{
    d ..%SetContentType("application/json")
    Set rset = ##class(dc.Sample.Person).ExtentFunc()

    set stream=##class(%Stream.TmpCharacter).%New()
    d stream.Write("[")
    if rset.%Next() {
        Set person = ##class(dc.Sample.Person).%OpenId(rset.ID)
        Do person.%JSONExportToStream(.stream)
    }
    While rset.%Next() {
        d stream.Write(",")
        Set person = ##class(dc.Sample.Person).%OpenId(rset.ID)
        Do person.%JSONExportToStream(.stream)
    }
    d stream.Write("]")
    return stream
}

The query is used vs the following persistent class:

Class dc.Sample.Person Extends (%Persistent, %JSON.Adaptor, %Populate)

{



Property Name As %VarString;



Property Title As %String;



Property Company As %String;



Property Phone As %VarString;



Property DOB As %Date(MAXVAL = "$piece($horolog, "","", 1)");



Property PersonId As %Integer [ Calculated, SqlComputeCode = { set {*}={%%ID}}, SqlComputed ];



/// Index for property DOB

Index DOBIndex On DOB;



ClassMethod AddTestData(amount As %Integer = 10)

{

d ..Populate(amount)

}

}

What I don't like:

1. "Unnecessary" "manual" writes of "[]":

d stream.Write("[")

2. Code block repeat for the first segment to excuse "," :


    if rset.%Next() {
        Set person = ##class(dc.Sample.Person).%OpenId(rset.ID)
        Do person.%JSONExportToStream(.stream)
    }
    While rset.%Next() {
        d stream.Write(",")
        Set person = ##class(dc.Sample.Person).%OpenId(rset.ID)
        Do person.%JSONExportToStream(.stream)
    }

3. I should introduce an "artificial" PersonId to make the response include record ID's (thanks to @Robert Cemper):

Property PersonId As %Integer [ Calculated, SqlComputeCode = { set {*}={%%ID}}, SqlComputed ];

Your ideas?

6 new Comments
Discussion (6)2
Log in or sign up to continue
InterSystems Official
· Apr 24

Las versiones de mantenimiento 2024.1.4 y 2023.1.6 de InterSystems IRIS, IRIS for Health y HealthShare HealthConnect ya están disponibles

Las versiones de mantenimiento 2024.1.4 y 2023.1.6 de la plataforma de datos InterSystems IRIS®, InterSystems IRIS® for Health™ y HealthShare® Health Connect ya están disponibles de forma general (GA). Estas versiones incluyen las correcciones para la siguiente alerta emitida recientemente: Alerta: Consultas SQL que devuelven resultados incorrectos | InterSystems. Por favor, compartid vuestros comentarios a través de la Comunidad de Desarrolladores para que podamos construir un mejor producto juntos.

Documentación

Podéis encontrar las listas detalladas de cambios y las listas de comprobación para la actualización en estas páginas:

Programas de Acceso Anticipado (EAPs)

Hay muchos Programas de Acceso Anticipado (EAPs) disponibles ahora. Echad un vistazo a esta página y registraos en aquellos que os interesen.

¿Cómo conseguir el software?

Los paquetes de instalación completos tanto para InterSystems IRIS como para InterSystems IRIS for Health están disponibles en la página InterSystems IRIS Data Platform Full Kits del WRC. Los kits de HealthShare Health Connect están disponibles en la página HealthShare Full Kits del WRC. Las imágenes de contenedor están disponibles en el InterSystems Container Registry.

Disponibilidad e información sobre los paquetes

Esta versión incluye paquetes de instalación clásicos para todas las plataformas compatibles, así como imágenes de contenedor en formato Docker. Para consultar la lista completa, dirigíos al documento de Plataformas Compatibles. Los números de compilación de estas versiones de mantenimiento son: 2024.1.4.512.0 y 2023.1.6.809.0.

Discussion (0)1
Log in or sign up to continue
Announcement
· Apr 24

Programme d'accès anticipé : améliorations OAuth2

InterSystems IRIS 2025.2.0 introduit plusieurs fonctionnalités pour améliorer l'expérience utilisateur lors de la configuration d'OAuth2.

- OAuth2 est désormais un type d'authentification natif et peut être facilement activé pour vos services et applications web. Auparavant, OAuth2 était un type d'authentification déléguée.

- Vous pouvez désormais créer des serveurs de ressources avec la nouvelle classe OAuth2.ResourceServer, qui simplifie considérablement la configuration des serveurs de ressources. Auparavant, les serveurs de ressources étaient des instances d'OAuth2.Client.

- La classe OAuth2.ResourceServer fournit un exemple d'authentificateur pour déterminer les autorisations utilisateur. Pour les configurations simples, aucun code personnalisé n'est requis (auparavant, une implémentation ZAUTHENTICATE personnalisée était nécessaire). Cet authentificateur simple peut être étendu et personnalisé pour s'adapter à votre environnement. OAuth2.ResourceServer prend en charge plusieurs audiences.

- Vous pouvez désormais utiliser JDBC et ODBC pour vous authentifier auprès d'InterSystems IRIS avec des jetons d'accès.

Nous souhaitons connaître votre avis sur ces modifications et savoir si elles fonctionnent comme prévu.

Vous pouvez télécharger le logiciel et la nouvelle documentation relative à ces nouvelles fonctionnalités en utilisant ce lien.

Pour nous faire part de vos commentaires, veuillez utiliser cette adresse comme principale adresse de communication en vous rendant sur la page EAP et en sélectionnant le bouton de commentaires à droite.

Discussion (0)0
Log in or sign up to continue
Question
· Apr 24

Repositorio propio de IPM

Hola!

Recientemente he estado probando a crear nuestro propio repositorio de paquetes con IPM. He podido crearlo sin problemas, y he visto que, al final, nuestro repositorio IPM no deja de ser una instancia de IRIS. En el ejemplo del que he partido, utiliza la versión community. Y mi pregunta es,  para tener nuestro repositorio disponible para toda la compañía, ¿podemos seguir con la versión community, o debe ser una versión enterprise con licencia?

Y ya que estoy, ¿hay alguna forma de saber qué paquetes se han descargado, y por quién?

Muchas gracias!

3 new Comments
Discussion (3)1
Log in or sign up to continue