Nouveau
Article Sylvain Guilbaud · Fév 27 9m 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 21
InterSystems Developer Community is a community of 26,204 amazing developers
Ici, les programmeurs d'InterSystems IRIS apprennent et partagent, se tiennent informés, évoluent ensemble et s'amusent !
Nouveau
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 8
Nouveau
Article Irène Mykhailova · Fév 23 1m read

InterSystems Ready 2026 approche à grands pas ! C’est le moment idéal pour vous préparer et vérifier vos connaissances avant de passer l’un des examens de certification sur place.

Les certifications InterSystems ne sont pas faciles : il est essentiel de s’entraîner avec des questions alignées sur les objectifs réels de l’examen.

exam-prep.es est une plateforme gratuite conçue précisément pour cela : vous entraîner, identifier vos points faibles et vous présenter mieux préparé(e).

0
0 13
Nouveau
Article Lorenzo Scalese · Fév 20 7m read

Introduction

La bibliothèque standard %Net.HttpRequest d'InterSystems IRIS est puissante et complète, mais elle peut s'avérer verbeuse pour des opérations simples. Écrire une requête HTTP nécessite souvent plusieurs lignes de code pour instancier la classe, configurer le serveur, le port, le HTTPS, ajouter des en-têtes, et enfin envoyer la requête.

Lors de tests en terminal, cette configuration devient vite trop lourde, et se termine généralement par la création de méthodes temporaires...

FastHTTP a été conçue pour répondre à ce besoin. Cette classe utilitaire propose une interface fluide et concise permettant d’effectuer des appels HTTP en une seule ligne, tout en gérant automatiquement la complexité sous-jacente (SSL/TLS, parsing d’URL, encodage JSON, headers, etc.).

0
0 13
Article Iryna Mykhailova · Fév 17 2m read

L'utilitaire Load Data est un excellent outil pour charger des données depuis des fichiers CSV/TXT dans une table SQL IRIS. Auparavant, il était nécessaire d'envoyer le fichier cible au serveur IRIS et d'y insérer la commande Load Data pour importer son contenu. Désormais, il est possible de sélectionner un fichier dans VS Code, de définir la table de destination et de soumettre la requête. L'utilitaire vscode-load-data enverra le fichier au serveur IRIS et exécutera la commande Load Data. C'est très simple !

0
0 11
Article Lorenzo Scalese · Fév 12 7m read

Table des matières

  1. Introduction
  2. Contrôle de version
  3. Exportation de classes
  4. Exportation de classes BI Analytics
  5. Exportation de globales

Introduction.

Dans cet article, nous aborderons une approche rapide du développement Git avec la Communauté de développeurs InterSystems et les pratiques de contrôle de version lorsqu'on utilise InterSystems IRIS. Nous traiterons des scénarios dans lesquels nous devons exporter des classes d'interopérabilité, des variables globales et des éléments d'analyse tels que des cubes et des tableaux de bord. Ces scénarios englobent les principales pratiques de contrôle de version avec IRIS.

Pour commencer, il vous faut:

  1. Vous inscrire et vous connecter à GitHub
  2. Être membre de l'organisation intersystems-community sur Git

Il est très simple de se lancer au moyen d'InterSystems IRIS!

0
0 21
Article Iryna Mykhailova · Fév 10 3m read

Lorsqu’on travaille avec InterSystems Interoperability (IRIS / Health Connect / Ensemble), les données de configuration sont souvent réparties entre de nombreux éléments de production : services, processus, opérations, adaptateurs et leurs paramètres.

Un besoin opérationnel ou de sécurité courant est de pouvoir répondre à des questions comme :

  • Quelles interfaces référencent des chemins du système de fichiers ?
  • Où sont configurés les répertoires, les partages réseau ou les chemins absolus ?
  • Puis-je auditer ou documenter rapidement ces informations sur l’ensemble de mes productions ?
0
0 19
Article Sylvain Guilbaud · Fév 5 14m read

Dans cette dernière partie de notre présentation des fonctions de fenêtre, nous allons explorer les fonctions restantes qui n'ont pas encore été abordées. Vous découvrirez également des conseils de performance et un guide pratique pour vous aider à décider quand il convient (ou non) d'utiliser efficacement les fonctions de fenêtre.


1. Fonctions de valeur de décalage et de position

Aperçu

Les valeurs de référence de ces fonctions sont calculées à partir d'autres lignes par rapport à la ligne actuelle, ou elles sont extraites des première, dernière ou n-ième valeurs dans une fenêtre.

0
1 25
Article Iryna Mykhailova · Fév 4 3m read

Le France & Benelux READY 2026 vient de s’achever, et ces deux journées ont une nouvelle fois démontré à quel point la Communauté des Développeurs est dynamique, curieuse et engagée. Voici un retour en images et en mots sur cette belle édition.

L’événement a débuté par les welcome remarks de @Adeline Icard et @Geoffroy Vitoux, donnant le ton pour les journées à venir : innovation, partage et collaboration.

0
0 29
Article Sylvain Guilbaud · Jan 29 8m read

InterSystems IRIS offre de nombreuses options de sécurité configurables, mais beaucoup de développeurs utilisent surtout des rôles et des ressources pour sécuriser des tables ou des routines entières. Aujourd'hui, on va aller plus loin. On peut aussi sécuriser des colonnes et des lignes individuelles séparément, mais ces deux mécanismes fonctionnent très différemment. Commençons par les colonnes.

Sécurité des colonnes

À des fins de test et de démonstration, nous allons conserver une structure de table concise et simple. Nous avons une table appelée "Person" (Personne) dans l'espace de noms USER qui contient une colonne ID, une colonne date de naissance (DOB), et des colonnes prénom et nom. 

0
0 26
Article Guillaume Rongier · Jan 28 34m read

La sécurité est fondamentale pour le développement d'applications d'entreprise. InterSystems IRIS fournit un cadre de sécurité complet qui protège les données, contrôle l'accès et garantit la conformité. Ce guide présente les fonctionnalités de sécurité essentielles pour les développeurs novices dans IRIS, couvrant l'authentification, l'autorisation, le chiffrement et les stratégies de mise en œuvre pratiques.

0
0 26
Article Iryna Mykhailova · Jan 26 3m read

Pour générer un JWT à partir d'un certificat/clé X.509, toute opération (y compris la lecture) sur %SYS.X509Credentials requiert l'autorisation d'accès (U) à la ressource %Admin_Secure. Cette dernière est nécessaire car %SYS.X509Credentials est persistant ; cette implémentation vise à empêcher tout accès non autorisé aux clés privées.

Si la ressource %Admin_Secure n'est pas disponible lors de l'exécution, vous pouvez utiliser la solution de contournement suivante.

Lors de l'examen du code de génération des JWT, j'ai constaté que ce code utilise %SYS.

0
0 23
Article Iryna Mykhailova · Jan 23 2m read

J'ai rencontré à plusieurs reprises un cas où j'ai besoin d'utiliser un fichier/dossier temporaire et de le supprimer ultérieurement.

La solution la plus naturelle consiste alors à suivre les recommandations de "Robust Error Handling and Cleanup in ObjectScript" avec un bloc try/catch/pseudo-finally ou un objet enregistré pour gérer le nettoyage dans le destructeur. %Stream.File* possède également une propriété RemoveOnClose que vous pouvez définir, mais avec précaution, car vous pourriez supprimer accidentellement un fichier important. De plus, cette propriété est réinitialisée par les appels à %Save(), vous devrez donc la remettre à 1 après chaque utilisation.

Il existe cependant un cas particulier : supposons que vous ayez besoin que le fichier temporaire subsiste dans la pile d'exécution. Par exemple :

0
0 22
Article Guillaume Rongier · Fév 19 8m read

Il existe un grand nombre d'excellents outils pour tester vos API REST, surtout lorsqu'elles sont en ligne. Postman, diverses extensions de navigateur Web et même des scripts ObjectScript personnalisés écrits au moyen d'objets %Net.HttpRequest sont à votre disposition pour accomplir cette tâche. Cependant, il est souvent difficile de tester uniquement l'API REST sans impliquer involontairement le schéma d'authentification, la configuration de l'application Web ou même la connectivité du réseau.

0
1 7
Article Sylvain Guilbaud · Jan 21 9m read

Introduction

Dans cet article, nous explorerons différentes approches permettant d'étendre et de personnaliser le comportement des routeurs de messages d'interopérabilité intégrés à InterSystems IRIS (et IRIS Health).

Les routeurs de messages remplissent l'une des fonctions essentielles de l'intégration d'applications d'entreprise (EAI) et font partie des processus métier les plus fréquemment utilisés dans les productions d'interopérabilité.

Après un bref aperçu des classes de routeurs de messages intégrés dans InterSystems IRIS et IRIS for Health, cet article expliquera comment améliorer leurs capacités afin d'obtenir des résultats spécifiques, sans avoir à développer un processus métier à partir de zéro.

Une mise en garde s'impose : la plupart de ces techniques impliquent de remplacer les méthodes de l'implémentation actuelle des classes de routeurs de messages dans IRIS Data Platform et IRIS for Health 2025.x. Elles peuvent ne pas s'appliquer à d'autres versions antérieures ou futures. 

Le référentiel GitHub qui accompagne cet article contient une collection d'exemples simples, minimalistes et volontairement abstraits illustrant les techniques abordées.

Nous vous invitons à nous faire part de vos avis, commentaires et retours constructifs!

0
0 29
Article Irène Mykhailova · Jan 19 3m read

Au cours de l'année écoulée, l'équipe de développement CCR a priorisé les modifications apportées à l'application CCR afin de mieux mettre en avant et d'encourager les bonnes pratiques d'utilisation. Cet article présente certains des domaines sur lesquels nous nous sommes concentrés :

  • Tableau de bord de l'organisation
  • Alertes système
  • Maintenance des succursales

Dans chacun de ces domaines, nous avons amélioré la visibilité des problèmes potentiels d'utilisation de CCR et fourni aux utilisateurs des outils pour les résoudre de manière proactive.

0
0 21
Article Lorenzo Scalese · Jan 13 12m read

Les architectures de données modernes utilisent des solutions de capture, transformation, déplacement et chargement de données en temps réel pour construire des lacs de données, des entrepôts analytiques et des référentiels de big data. Cela permet l'analyse de données provenant de diverses sources sans impacter les opérations qui les utilisent. Pour y parvenir, il est essentiel d'établir un flux de données continu, évolutif, élastique et robuste. La méthode la plus répandue pour cela passe par la technique CDC (Change Data Capture). Le CDC surveille la production de petits ensembles de données, capture automatiquement ces données et les transmet à un ou plusieurs destinataires, y compris les référentiels de données analytiques. L'avantage majeur est l'élimination du délai J+1 dans l'analyse, car les données sont détectées à la source dès qu'elles sont produites, puis répliquées vers la destination.

Cet article démontrera les deux sources de données les plus courantes pour les scénarios CDC, à la fois comme source et comme destination. Pour la source de données (origine), nous explorerons le CDC dans les bases de données SQL et les fichiers CSV. Pour la destination des données, nous utiliserons une base de données en colonnes (un scénario typique de base de données analytique haute performance) et un topic Kafka (une approche standard pour le streaming de données vers le cloud et/ou vers plusieurs consommateurs de données en temps réel).

 

Aperçu

Cet article fournit un exemple pour le scénario d'interopérabilité suivant:

 

1
0 38
Article Sylvain Guilbaud · Jan 15 10m read

Quand j'étais plus jeune (le détail de mon âge exact ne relève pas du sujet de cet article), le mot "jeton" était synonyme de plaisir. En effet, plusieurs fois par an, j'avais la chance d'aller dans une salle d'arcade pour jouer à des jeux vidéo amusants avec mes amis.

De nos jours, les jetons sont synonymes de sécurité. L'authentification JSON Web Token (JWT) est devenue l'une des normes les plus populaires pour sécuriser les API REST. Heureusement pour les utilisateurs d'IRIS, nous disposons d'un moyen simple de configurer les applications afin qu'elles soient protégées de cette manière.

0
0 32
Article Iryna Mykhailova · Jan 12 2m read

Vous envoyez une requête HTTP et recevez une erreur HTTP, mais accompagnée d'une page d'erreur HTML inattendue… Que se passe-t-il ? 🤔

Par exemple, vous avez peut-être essayé de lire une ressource FHIR (par exemple, /Patient/123) et vous obtenez une erreur 404, alors qu'avec d'autres identifiants de patient, vous recevez bien la ressource. La page existe donc bel et bien… Pourquoi obtenez-vous une erreur 404 ? 🙄

La réponse à ces questions est liée au comportement du serveur web IIS face aux erreurs.

IIS propose trois options d'affichage des erreurs :

  • Afficher uniquement les pages d'erreur personnalisées
  • Afficher les erreurs serveur détaillées
  • Pour les requêtes locales, afficher les erreurs détaillées ; pour les requêtes distantes, afficher les pages d'erreur personnalisées.
0
0 34
Article Guillaume Rongier · Jan 8 15m read

Salut la Communauté,

Dans la première partie de cette série, on a vu les bases de l'interopérabilité sur Python Interoperability on Python (IoP), et surtout comment ça nous permet de construire des éléments d'interopérabilité comme des services métier, des processus et des opérations uniquement à l'aide de Python.

Maintenant, on est prêts à aller plus loin. Les scénarios d'intégration dans le monde réel vont au-delà du simple transfert de messages. Ils impliquent des interrogations programmées, des structures de messages personnalisées, une logique de décision, un filtrage et une gestion de la configuration. Dans cet article, on va se pencher sur ces fonctionnalités IoP plus avancées et montrer comment créer et exécuter un flux d'interopérabilité plus complexe uniquement à l'aide de Python.

Pour que ce soit plus concret, on va construire un exemple complet: La Reddit Post Analyzer Production (production d'analyseur de posts Reddit). Le concept est simple : récupérer en continu les dernières publications d'un subreddit choisi, les filtrer en fonction de leur popularité, leur ajouter des balises supplémentaires et les envoyer pour stockage ou analyse plus approfondie.

L'objectif final est ici de disposer d'un pipeline d'ingestion de données fiable et autonome. Tous les éléments principaux (service métier, processus métier et opération métier) sont implémentés en Python, ce qui montre comment utiliser l'IoP à l'aide de la méthodologie d'intégration axée sur Python.

0
0 33
Article Guillaume Rongier · Jan 6 8m read

Interoperability on Python (IoP) (Interopérabilité sur Python) est un projet de validation de concept conçu pour démontrer la puissance du cadre d'interopérabilité InterSystems IRIS lorsqu'il est associé à une approche axée sur Python. IoP exploite Embedded Python (une fonctionnalité d'InterSystems IRIS) pour permettre aux développeurs d'écrire des composants d'interopérabilité en Python, qui s'intègrent de manière transparente à la plateforme IRIS robuste. Ce guide a été conçu pour les débutants et fournit une introduction complète à l'IoP, à sa configuration et aux étapes pratiques pour créer votre premier composant d'interopérabilité. À la fin de cet article, vous comprendrez clairement comment utiliser l'IoP pour créer des solutions d'interopérabilité évolutives basées sur Python. IoP est particulièrement utile pour les développeurs qui travaillent avec InterSystems IRIS ou IRIS for Health, car il simplifie la création de services métier, de processus métier et d'opérations métier qui utilisent Python. Une telle approche réduit la dépendance à ObjectScript (le langage traditionnel pour le développement IRIS), le rendant plus accessible aux développeurs Python.


Pourquoi utilisons-nous IoP?

IoP offre plusieurs avantages aux développeurs:

  1. Dévelopment Python-First: Python est un langage largement adopté, convivial pour les débutants et doté d'un riche écosystème de bibliothèques. IoP permet aux développeurs de tirer parti de leur expertise Python au sein de l'écosystème IRIS.
  2. Interopérabilité simplifiée: IoP résume les configurations complexes basées sur ObjectScript, permettant un développement plus rapide des composants d'interopérabilité.
  3. Applications de santé Healthcare: IoP est particulièrement adapté aux intégrations dans le domaine de la santé, telles que celles impliquant FHIR (Fast Healthcare Interoperability Resources), grâce à la prise en charge robuste des normes de santé par IRIS for Health.
  4. Communauté et Open Source: IoP est disponible sur PyPI et GitHub et bénéficie d'un soutien actif de la communauté, notamment grâce aux contributions de développeurs tels que Guillaume Rongier (développeur évangéliste pour InterSystems).

Conditions préalables

Avant de vous lancer dans IoP, assurez-vous d'avoir les éléments suivants:

  • InterSystems IRIS ou IRIS for Health: une installation locale ou un conteneur Docker exécutant IRIS (la version Community Edition suffit pour les tests).
  • Python 3.10 ou version ultérieure: requis pour exécuter IoP et ses dépendances.
  • Connaissances de base en Python: bonne connaissance des classes, des fonctions et de l'installation des paquets Python.

Dans ce tutoriel, nous utiliserons à l'aide d'une installation IRIS locale pour créer une production InterSystems IRIS comportant une fonctionnalité basée sur Python qui enregistre un message 'Hello World' à la réception d'une requête. Cela devrait démontrer une intégration transparente avec le cadre d'interopérabilité IRIS.

Les étapes suivantes décrivent le processus permettant d'atteindre cet objectif :

  • Étape 1: configuration de l'environnement virtuel
  • Étape 2: installation du paquet IoP
  • Étape 3: configuration des variables d'environnement pour la connexion IRIS
  • Étape 4: initialisation du module IoP dans IRIS à l'aide de l'interface de ligne de commande (CLI)
  • Étape 5: création d'une opération métier Python: exemple Hello World
  • Étape 6: migration des composants IoP vers IRIS
  • Étape 7: aperçu de la production
  • Étape 8: Test du composant d'opération de production

 

Commençons par l'étape 1.

Étape1: configuration de l'environnement virtuel

Tout d'abord, configurez un environnement virtuel Python afin d'isoler les dépendances de votre projet et d'assurer la compatibilité avec IoP et InterSystems IRIS. Un environnement virtuel est un répertoire autonome contenant une version spécifique de Python et les packages requis pour votre projet. Une telle configuration évite les conflits avec d'autres projets Python et rationalise le processus de développement. Pour ce tutoriel, créez un dossier nommé IOP afin d'organiser vos fichiers de projets.

Accédez au dossier IOP et exécutez la commande suivante pour configurer l'environnement virtuel:

python -m venv .venv

Cette commande crée un répertoire .venv dans votre dossier IOP, contenant un interpréteur Python et tous les paquets que vous installez pour votre projet IoP.
Pour activer l'environnement virtuel sous Windows, exécutez la commande suivante:

.venv\Scripts\activate

 
Pour Unix ou MacOS, utilisez la commande suivante:

source .venv/bin/activate

 

Étape 2: installation du paquet IoP

Une fois votre environnement virtuel activé, installez le paquet iris-pex-embedded-python, dépendance principale de votre projet IoP, afin d'activer l'interopérabilité basée sur Python au moyen d'InterSystems IRIS. Exécutez la commande suivante dans votre terminal:

pip install iris-pex-embedded-python

Cette commande installe le paquet iris-pex-embedded-python et ses dépendances à partir du Python Package Index (PyPI) dans votre environnement virtuel. Après l'installation, vous pouvez utiliser le module IoP à l'aide de composants d'interopérabilité basés sur Python, tels que les activités commerciales pour votre projet IoP.

 

0
0 34
Article Sylvain Guilbaud · Jan 5 1m read

FAQ InterSystems

Les paramètres par défaut pour la connexion permanente et la taille du pool pour les hôtes professionnels utilisant l'adaptateur TCP sont les suivants :

StayConnected = -1(no timeout)
PoolSize = 1

Si un problème réseau entraîne la perte de connexion à un serveur d'entreprise, le système de production ne pourra pas le détecter et refusera toute nouvelle connexion. Dans ce cas, aucun événement n'est consigné dans le journal des événements.

0
0 30
Article Guillaume Rongier · Jan 2 5m read

Il vous faudra inévitablement passer votre code d'une version antérieure d'IRIS ou de Cache à la version la plus récente d'IRIS. Voici quelques étapes à suivre pour réussir cette transition.

Lisez attentivement la documentation

Avant de procéder à la moindre modification, consultez la page de documentation IRIS qui contient de nombreuses ressources utiles sur les changements apportés aux différentes versions d'IRIS.

0
0 35
Article Guillaume Rongier · Déc 11, 2025 6m read

Dans cet article, nous aborderons tous les outils de débogage disponibles dans l' IDE Microsoft Visual Studio Code.

Les sections suivantes seront abordées:

  • Points d’arrêt (Breakpoints)
  • Fenêtre de surveillance (Watch Window)
  • Pile d’appels (Call Stack)

Commençons par découvrir les prérequis nécessaires pour le débogage!

Prérequis

Il existe deux plugins (extensions) permettant le débogage d’ObjectScript

Le premier plugin fait partie de l’ InterSystems ObjectScript Extension Pack. Le second, Serenji, est un plugin autonome qui propose un éditeur, un gestionnaire de fichiers ainsi que des fonctionnalités de débogage. Les deux plugins peuvent être installés depuis la boutique d’extensions. Pour l'activqtion de ses fonctionnalités principales, Serenji nécessite une licence. Dans cet article, nous utiliserons l’InterSystems ObjectScript Extension Pack afin de réduire la courbe d’apprentissage. Une fois les bases maîtrisées, vous pourrez envisager l’achat d’une licence payante pour Serenji.

2
0 53
Article Thibault Odor · Déc 26, 2025 1m read

Commandes pour la gestion des productions :

Démarrer, arrêter, mettre à jour, restaurer et nettoyer une production

Do ##class(Ens.Director).StartProduction("ProductionName")
Do ##class(Ens.Director).StopProduction()
Do ##class(Ens.Director).UpdateProduction()
Do ##class(Ens.Director).RecoverProduction()
Do ##class(Ens.Director).CleanProduction()

Interrompre les messages en attente :

d ##class(Ens.Queue).AbortQueue("Component Name")

Obtenir le nom de l’instance :

W !,##class(%SYS.System).GetUniqueInstanceName()

Obtenir le nom du nœud :

W !,##class(%SYS.System).

0
0 41
Article Thibault Odor · Déc 26, 2025 1m read

Il est possible d’exécuter des requêtes SQL directement depuis le terminal à l’aide de la méthode $system.SQL.Shell().

Voici un exemple d'exécution.

SAMPLES>do $System.SQL.Shell()
SQL Command Line Shell
---------------------------------------------------- The command prefix is currently set to: <>.
Enter q to quit, ? for help.
SAMPLES>>select * from Sample.Vendor
1. select * from Sample.
0
0 39
Article Lorenzo Scalese · Déc 23, 2025 3m read

Dans le paysage actuel des données de santé, FHIR est devenu la norme pour l'échange structuré de données cliniques. Cependant, si FHIR excelle en matière d'interopérabilité, son format JSON rend l'analyse difficile, y compris pour FHIR QuestionnaireResponse.

Ce projet montre la manière de transformer les données FHIR QuestionnaireResponse de JSON emboîté en tables SQL relationnelles et en intégrations vectorielles. En intégrant InterSystems IRIS FHIR SQL Builder et Vector Search, nous révélons la signification sémantique derrière les réponses des patients.

Trois étapes de sa construction

1.

0
0 46
Article Iryna Mykhailova · Déc 18, 2025 6m read

L'idée qui a obtenu le plus de votes sur le portail InterSystems Ideas Portal (74 votes) concerne la création d'une version allégée d'IRIS. Bien que la plateforme soit devenue un puissant moteur de données, de nombreux projets ne nécessitent que ses capacités de base de données SQL. Cet article explique comment créer une image IRIS Community Edition non officielle et compacte, axée uniquement sur les fonctionnalités de base de données essentielles, ce qui réduit la taille de l'image de plus de 80 %.

⚠️ Avertissement

Ce projet produit une image non officielle et expérimentale d'InterSystems IRIS Community Edition.

  • Il n'est ni pris en charge ni approuvé par InterSystems.
  • Vous l'utilisez à vos propres risques. Les modifications suppriment des fonctionnalités essentielles de la plate-forme et peuvent nuire à la compatibilité avec les outils, les API et les comportements attendus.
  • Aucune garantie n'est fournie, y compris en ce qui concerne l'adéquation à une utilisation en production.
  • Il est destiné uniquement à des fins éducatives et expérimentales par des utilisateurs avancés.

Pourquoi une version allégée d'IRIS?

Bien que la version actuelle d'IRIS offre de nombreuses fonctionnalités (interopérabilité, analyse, apprentissage automatique, gestion du système, etc.), de nombreux projets ne nécessitent que ses capacités SQL de base. L'image Docker officielle de la version Community Edition est approximativement la suivante:

  • Espace disque utilisé: 3,5 à 3,8 Go
  • Format compressé: ~1,1 Go

IRIS Light réduit ces valeurs à:

  • Espace disque utilisé: ~575 à 583 Mo
  • Format compressé: ~144 à 148 MoB

Ainsi, elle convient pour:

  • L'utilisation de microservices ou de SQL conteneurisé
  • Les pipelines CI avec un démarrage et un pull plus rapides
  • La mise à l'échelle horizontale lorsque toutes les fonctionnalités ne sont pas nécessaires
0
0 26
Article Sylvain Guilbaud · Déc 16, 2025 12m read

Dans la Partie 1, nous avons exploré le fonctionnement des fonctions de fenêtre. Nous avons découvert la logique sous-jacente à PARTITION BY, ORDER BY et à des fonctions telles que ROW_NUMBER() et RANK(). Dans cette deuxième partie, nous allons approfondir notre connaissance des fonctions de fenêtre au moyen d'exemples pratiques..


1. Fonctions d'agrégation sur fenêtre

Présentation

Ces fonctions calculent une agrégation (par exemple, somme, moyenne, minimum, maximum, nombre, etc.) sur la fenêtre définie, mais ne regroupent pas les

0
1 36
Article Sylvain Guilbaud · Déc 15, 2025 4m read

Les fonctions de fenêtre dans InterSystems IRIS permettent de réaliser des analyses puissantes — comme des totaux cumulés, des classements (rankings) ou des moyennes mobiles — directement en SQL.
Ces fonctions s’appliquent à une "fenêtre" de lignes liées à la ligne courante, sans regrouper les résultats comme le fait GROUP BY. Cela signifie que vous pouvez écrire des requêtes plus claires, plus rapides et plus faciles à maintenir — sans boucles, sans jointures, sans tables temporaires.

0
1 45