Nouveau
Article Guillaume Rongier · 12 h il y a 8m read

 

Quand on développe en Python avec InterSystems IRIS, on peut rapidement se retrouver avec plusieurs contextes d'exécution :

  • Python lancé directement par IRIS avec Embedded Python ;
  • un python3 classique qui charge les bibliothèques Embedded Python d'une installation IRIS locale ;
  • une application Python externe qui se connecte à IRIS via le pilote natif officiel.

Ces trois cas sont utiles, mais ils n'ont pas exactement le même comportement côté imports, configuration système, API objet et accès SQL.

0
0 1
InterSystems Developer Community is a community of 26,871 amazing developers
Ici, les programmeurs d'InterSystems IRIS apprennent et partagent, se tiennent informés, évoluent ensemble et s'amusent !
Nouveau
Article Guillaume Rongier · Mai 5 7m read

Les globals InterSystems IRIS sont un des points forts de la plateforme : ils permettent de stocker des données hiérarchiques avec une structure extrêmement directe, ordonnée et performante. Mais lorsqu'on travaille depuis Python, leur manipulation peut parfois sembler plus proche d'une API bas niveau que des habitudes naturelles du langage.

Le projet iris-global-reference propose une couche Python au-dessus des globals IRIS.

1
0 11
Nouveau
Article Iryna Mykhailova · Mai 5 1m read

Dans la version v2026.2 (actuellement disponible en Developer Preview), une nouvelle fonctionnalité est introduite pour améliorer l’autorisation SMART/OAuth sur les endpoints FHIR : une plus grande flexibilité native dans la validation de la valeur aud (audience).

Jusqu’à présent, la validation vérifiait uniquement que la valeur aud correspondait à l’URL de base de l’endpoint FHIR. Si ce n’était pas le cas, la requête était rejetée.

0
0 6
Nouveau
Article Yann BUFFIN · Avr 29 5m read

🚀 Introduction

Avec l'émergence des modèles de langage de grande taille (LLM) comme Gemini, Claude et GPT, la capacité d'une intelligence artificielle à comprendre et à interagir avec des sources de données d'entreprise est devenue un enjeu majeur. Cependant, le fossé entre le langage naturel et les structures complexes des bases de données multidimensionnelles peut s'avérer difficile à combler.

Le Connecteur MCP (Model Context Protocol) pour InterSystems IRIS a été conçu pour résoudre ce problème.

0
0 14
Nouveau
Article Iryna Mykhailova · Avr 29 2m read

. . . vous n’êtes pas seul.

De l’aide est disponible.

Cela m’a pris un certain temps à comprendre, et je suppose que d’autres rencontrent les mêmes difficultés. J’ai parcouru toute la configuration Entra pour mettre en place un flux « client credentials » afin d’envoyer des e-mails via un compte Microsoft 365. J’ai réussi à récupérer mon token, mais je n’arrivais jamais à m’authentifier auprès du serveur SMTP avec la classe %Net.SMTP. La solution comportait deux éléments.

0
0 6
Nouveau
Article Iryna Mykhailova · Avr 28 1m read

Une fonctionnalité très importante pour HL7 FHIR a été introduite avec la sortie de la v2026.1 : la prise en charge des scopes granulaires fins SMART on FHIR v2.

Cela vous permet d’être beaucoup plus strict et plus précis dans l’accès que vous accordez aux données de votre dépôt FHIR.

Une partie de cette nouvelle prise en charge consiste à refuser les requêtes qui ne correspondent pas aux scopes, mais une capacité encore plus intéressante est de filtrer les résultats selon les scopes fournis.

0
0 10
Article Iryna Mykhailova · Avr 24 10m read

Ceci est la deuxième partie d’une série de deux articles dans laquelle je vous présente :

  • Partie I - Introduction et visite rapide (l’article précédent)
    • Qu’est-ce que c’est ?
    • Démarrer un déploiement InterSystems IRIS Cloud Document
    • Faire une visite rapide du service via l’interface utilisateur du service
  • Partie II - Exemple d’application Java conteneurisée (cet article)
    • Récupérer les détails de connexion et le certificat TLS
    • Examiner un exemple Java simple qui crée une collection, insère des documents et les interroge
    • Configurer et exécuter l’exemple Java conteneurisé de bout en bout

Comme mentionné, l’objectif est de vous offrir une première expérience fluide.

0
0 7
Article Iryna Mykhailova · Avr 22 5m read

Si vous connaissez déjà Java (ou .Net) et avez peut-être aussi utilisé d’autres bases de données documentaires (ou cherchez à en utiliser une), mais que vous découvrez l’univers InterSystems, cet article devrait vous aider.

InterSystems IRIS Cloud Document est une base de données documentaire entièrement managée qui vous permet de stocker des documents JSON et de les interroger avec une syntaxe SQL familière, le tout sous la forme d’un service cloud géré par InterSystems.

Dans cette série de deux articles, je vais vous présenter :

  • Partie I - Introduction et visite rapide (cet article)
    • Qu’est-ce que c’est ?
    • Démarrer un déploiement InterSystems IRIS Cloud Document
    • Faire une visite rapide du service via son interface utilisateur
  • Partie II - Exemple d’application Java conteneurisée
    • Récupération des détails de connexion et du certificat TLS
    • Revue d’un exemple Java simple qui crée une collection, insère des documents et les interroge
    • Configuration et exécution de l’exemple Java conteneurisé de bout en bout

L’objectif est de vous offrir une première expérience fluide.

0
0 6
Article Sylvain Guilbaud · Avr 20 8m read

La vectorisation a notamment pour objectif de rendre le texte non structuré plus exploitable par les machines. Les embeddings vectoriels y parviennent en codant la sémantique du texte sous forme de vecteurs numeric à haute dimensionalité, qui peuvent être utilisés par des algorithmes de recherche avancés (généralement un algorithme de plus proche voisin approximatif tel que Hierarchical Navigable Small World).

0
0 12
Article Guillaume Rongier · Avr 15 20m read

Comment configurer le RAG pour les agents OpenAI à l'aide d'InterSystems IRIS Vector DB en Python

Dans cet article, je vous présenterai un exemple d'utilisation d'InterSystems IRIS Vector DB pour stocker des représentations vectorielles et les intégrer à un agent OpenAI.

Pour cette démonstration, nous créerons un agent OpenAI au moyen de connaissances sur la technologie InterSystems.

0
0 17
Article Iryna Mykhailova · Avr 13 6m read

Introduction

L’ajout récent des groupes FIFO permet de maintenir un traitement des messages en mode First-In, First-Out (FIFO) dans une production d’interopérabilité même lorsque le Pool Size est supérieur à 1, ce qui permet d’améliorer les performances sans sacrifier l’exactitude. Cette fonctionnalité apparaît pour la première fois dans InterSystems IRIS® data platform, InterSystems IRIS® for Health et InterSystems Health Connect™ à partir de la version 2025.3.

Le traitement des messages en mode First-In, First-Out est essentiel dans de nombreux scénarios d’intégration, en particulier dans le secteur de la santé. Traditionnellement, l’ordre FIFO est appliqué en configurant chaque hôte métier pour ne traiter qu’un seul message à la fois (Pool Size = 1). Bien qu’efficace, cette approche peut limiter le débit et sous-utiliser les ressources système. Les groupes FIFO permettent de préserver l’ordre FIFO lorsque cela est nécessaire, sans imposer un Pool Size de 1.

0
0 4
Article Lorenzo Scalese · Avr 9 17m read

Le simple fait d'entendre parler d'OpenEHR vous glace-t-il le sang ? Les archétypes vous font-ils froid dans le dos ?

Surmontez vos craintes grâce à cet article et maîtrisez OpenEHR grâce aux fonctionnalités d'InterSystems IRIS for Health !

Qu'est-ce qu'openEHR ?

openEHR est une spécification ouverte et indépendante des fournisseurs, conçue pour représenter, stocker et échanger des informations cliniques d'une manière sémantiquement riche et durable à long terme.

0
0 13
Article Iryna Mykhailova · Avr 8 2m read

Motivation


Pourquoi en avons-nous besoin ?

  1. Manque de contexte compilé : les outils d’IA ne voient que le code source ; ils ne savent pas à quoi ressemble la routine compilée finale.
  2. Hallucination des macros : comme l’IA ne voit pas nos fichiers #include ni les macros système, elle en invente souvent, ce qui fait perdre du temps lors du débogage.
  3. Lacune documentaire : l’optimisation logique avancée nécessite souvent de comprendre des macros internes qui ne sont pas entièrement documentées publiquement.
0
0 8
Article Sylvain Guilbaud · Avr 6 10m read

Une seule commande suffit pour l'ensemble d'une instance IRIS dans le cadre de projets Data Science, ce qui permet de comparer la vitesse des différentes méthodes de requête (SQL dynamique, requête Pandas et Globales).

Avant de rejoindre InterSystems, j'ai travaillé au sein d'une équipe de développeurs web en tant que data scientist.

0
0 15
Article Benjamin De Boe · Avr 2 3m read

Nouveautés d’InterSystems IRIS et IRIS for Health 2026.1

InterSystems IRIS 2026.1 est disponible, et il regorge d’améliorations puissantes conçues pour aider les organisations à faire évoluer leur gestion des données comme jamais auparavant. Que vous soyez confronté aux défis opérationnels liés à la gestion de volumes massifs de données ou que vous cherchiez à optimiser les coûts de stockage, cette version apporte de nombreuses fonctionnalités pour simplifier la gestion des données et répondre aux enjeux croissants des très grands ensembles de données.

0
0 5
Article Iryna Mykhailova · Avr 1 1m read

Introduction

FHIR (Fast Healthcare Interoperability Resources) est le standard moderne pour le stockage et l’échange de données cliniques. Mais une fois vos données sur un serveur FHIR, comment les explorer concrètement ? Les données FHIR sont stockées au format JSON — puissant, mais peu pratique à lire directement. Je voulais un outil permettant de cliquer sur un patient et de voir ses pathologies, ses médicaments, ses résultats de laboratoire, etc., dans un format clair et lisible. J’ai donc créé le FHIR Patient Viewer.

Fonctionnement

L’application fonctionne entièrement dans Docker et se connecte directement à un serveur FHIR d’InterSystems IRIS for Health. Au démarrage, elle charge automatiquement 115 patients synthétiques dans IRIS — aucune configuration manuelle n’est nécessaire.

  • Parcourir une liste de patients
  • Cliquer sur un patient pour voir tous ses dossiers cliniques

0
0 11
Article Guillaume Rongier · Mars 30 6m read

Introduction

Au début de l'année, j'ai entrepris de mettre au point un kit destiné à initier les jeunes passionnés de technologie participant au hackathon Health Tech à l'utilisation d'InterSystems IRIS dans le domaine de la santé, en mettant particulièrement l'accent sur l'utilisation du protocole FHIR et de la recherche vectorielle.

J'ai tenu à publier ceci auprès de la communauté de développeurs, car les tutoriels inclus dans ce kit constituent une excellente introduction à l'utilisation de FHIR et à la création d'un système RAG de base dans IRIS.

0
0 29
Article Iryna Mykhailova · Mars 27 1m read

La version v2026.1 vient d’être publiée en disponibilité générale (GA), et l’une des fonctionnalités que j’ai hâte d’utiliser est la fonction DTL Explainer.

Elle permet de prendre une transformation de données (Data Transformation) et, en un clic, d’obtenir une description lisible par un humain de cette transformation (que vous pouvez également utiliser comme base pour la description DTL).

Pour les DTL complexes, en particulier celles que vous n’avez pas écrites vous-même, ou que vous avez écrites il y a longtemps, cela permet d’obtenir rapidement une compréhension claire de leur fonctionnement.

0
0 23
Article Iryna Mykhailova · Mars 25 14m read

Il y a des leçons que nous avons tirées du développement et de la maintenance du code des composants d’interopérabilité dans un environnement institutionnel de santé.

L’avion est déjà en vol

Soyez prêt à reconstruire, améliorer, étendre et réparer l’avion en plein vol.
 

Les fenêtres de maintenance des systèmes hospitaliers sont souvent très limitées, certains devant rester opérationnels 24 h/24 et 7 j/7.

0
0 9
Article Iryna Mykhailova · Mars 23 4m read

Le problème

Combien de fois avons-nous migré une instance IRIS vers une autre machine, voire vers une autre version, pour nous rendre compte quelques jours plus tard que nous avions oublié cette configuration SSL pourtant critique pour le bon fonctionnement d’un Business Operation ? Ou peut-être des identifiants, ou encore une classe isolée dans son propre package ?

La solution

La solution la plus simple consiste à créer une checklist¹. Une liste des éléments à migrer. Mais les checklists dans des documents Word sont souvent oubliées, voire ignorées.

0
0 11
Article Iryna Mykhailova · Mars 20 6m read

Je l’ai peut-être déjà mentionné : je considère que les Visual Traces, ces diagrammes de séquence avec le contenu complet de chaque étape, sont une fonctionnalité fantastique de la plateforme de données IRIS ! Des informations détaillées sur le fonctionnement interne de l’API, sous forme de trace visuelle, peuvent être très utiles pour les projets sur la plateforme IRIS. Bien entendu, cela s’applique lorsque nous ne développons pas une solution à forte charge, auquel cas nous n’avons tout simplement pas le temps d’enregistrer/lire les messages.

0
0 9
Article Iryna Mykhailova · Mars 19 1m read

Dans le cadre de la nouvelle vague d’interface utilisateur d’interopérabilité (voir les nouveautés dans 2025.1, et 2025.3 par @Aya Heshmat), la version v2026.1, déjà disponible en tant que Developer Preview, pourrait être une bonne raison de l’essayer — elle proposera la nouvelle interface utilisateur pour la visualisation et la Message Viewer et Message Search, y compris le Visual Trace (ainsi que d’autres améliorations UI).

0
0 16
Article Iryna Mykhailova · Mars 17 1m read

Dans le cadre de la nouvelle vague d’interface utilisateur d’interopérabilité (voir les nouveautés dans 2025.1, et 2025.3 par @Aya Heshmat), la version v2026.1, déjà disponible en tant que Developer Preview, pourrait être une bonne raison de l’essayer — elle proposera la nouvelle interface utilisateur pour l’éditeur BPL (ainsi que d’autres améliorations UI).

Voici un aperçu rapide :

Parmi les éléments que j’apprécie particulièrement —

  • La fonctionnalité d’auto-complétion lors de l’édition des actions Assign et des Conditions, visible sur le côté droit ci-dessus.
0
0 12
Article Iryna Mykhailova · Mars 12 3m read

Contexte

Les équipes des services d'aide médicale urgente (SAMU) arrivent souvent aux urgences avec des patients dont les données démographiques sont incomplètes ou inconnues : absence de numéro de dossier médical (NDM), de nom confirmé et parfois même de date de naissance. Pourtant, les notes de transport du SAMU doivent impérativement être intégrées au dossier médical approprié.

0
0 17
Article Sylvain Guilbaud · Mars 10 6m read

Intersystems IRIS Productions offrent un cadre performant pour connecter des systèmes hétérogènes, utilisant divers protocoles et formats de messages, de manière fiable, observable et évolutive. intersystems_pyprod, abréviation d'InterSystems Python Productions, est une bibliothèque Python permettant aux développeurs de créer ces composants d'interopérabilité entièrement en Python.

0
0 20
Article Iryna Mykhailova · Mars 4 2m read

Inspiré par la publication de @Ashok Kumar Thangavel sur le Portail d'idées et par mon propre besoin de résoudre ce problème, j'ai imaginé une méthode simple pour effectuer des requêtes JSON plus complètes et cohérentes sans avoir à spécifier chaque champ souhaité. J'ai créé une classe qui étend la classe intégrée %JSON.Adaptor et rend ses méthodes %JSONExportToString et %JSONExportToStream accessibles via SQL grâce à quelques procédures SQLProc simples.

Class DH.JSONAdaptor Extends %JSON.Adaptor [ Abstract ]
{
ClassMethod jsonstring(id, map = "") [ SqlProc ]
{
	try{
		set myobj = ..%OpenId(id)
		set sc = myobj.%JSONExportToString(.json,map)
		if $$$ISERR(sc) $$$ThrowStatus(sc)
		return json
	}
		catch ex{
		throw ex
	}
}

ClassMethod jsonstream(id, map = "") [ SqlProc ]
{
	try{
		set myobj = ..%OpenId(id)
		set sc = myobj.%JSONExportToStream(.json,map)
		if $$$ISERR(sc) $$$ThrowStatus(sc)
		return json
	}
	catch ex{
		throw ex
	}
}
}
0
0 16
Article Guillaume Rongier · Mars 2 4m read

FHIR - valeur clinique.png

La donnée, enjeu vital du système de santé

La santé vit une transformation numérique sans précédent. Dossiers patients, télésuivi, plateformes de coordination, IA… Les données affluent de toutes parts.
Mais si elles ne peuvent pas se parler, elles perdent leur sens. Aujourd’hui encore, les informations médicales sont souvent cloisonnées dans des systèmes qui ne dialoguent pas entre eux.

L’enjeu n’est donc plus seulement de collecter la donnée, mais de la rendre accessible, compréhensible et exploitable, pour les soignants, les patients et les décideurs.

0
0 19
Article Sylvain Guilbaud · Fév 27 17m read

La Chaîne logistique (Supply Chain) désigne l'ensemble des processus et activités réalisés par les divisions commerciales de l'entreprise, ses fournisseurs et ses partenaires (parties prenantes), depuis l'acquisition des matières premières jusqu'à la livraison au consommateur final, en passant par la production.

1
0 36
Article Iryna Mykhailova · Fév 26 4m read

Dans l'article précédent, nous avons abordé ODBC et la connexion de C#. Intéressons-nous maintenant à JDBC et Java. Le pilote JDBC d'InterSystems est la méthode recommandée pour intégrer vos applications Java de manière performante.

Voici un guide pas à pas pour connecter votre application Java à une instance IRIS à l'aide du pilote JDBC.

Étape 1 : Obtenir et inclure le pilote JDBC InterSystems IRIS

Contrairement aux pilotes ODBC, souvent installés à l'échelle du système, les pilotes JDBC sont généralement distribués sous forme de fichiers JAR qui doivent être inclus dans le classpath de votre projet Java.

Si InterSystems IRIS est installé sur votre machine locale ou sur une autre machine à laquelle vous avez accès, vous trouverez le fichier dans le répertoire d'installation (par exemple, `install-dir/dev/java/lib/`), où `install-dir` correspond au répertoire d'installation de l'instance. Vous pouvez également télécharger le fichier JAR depuis la page des packages de pilotes.

Ou, comme le suggère @Dmitry Maslennikov dans les commentaires, utilisez le dépôt central Maven :

<dependency>
    <groupId>com.intersystems</groupId>
    <artifactId>intersystems-jdbc</artifactId>
    <version>3.10.5</version>
</dependency>

ou pour Gradle :

implementation("com.intersystems:intersystems-jdbc:3.10.5")

Inclure le fichier JAR dans le projet :

  • Maven/Gradle : Si vous utilisez un outil de construction, la méthode la plus simple consiste à ajouter le pilote JDBC InterSystems comme dépendance dans votre fichier pom.xml ou build.gradle. Le fichier JAR sera alors téléchargé et géré automatiquement.
  • Manuellement : Pour les projets simples, vous devez placer le fichier JAR dans un répertoire du projet (par exemple, /lib) et l'ajouter explicitement à votre classpath lors de la compilation et de l'exécution.
0
0 26