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.

2 0
0 16

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.

 

2 0
0 18

Bonjour à tous !

Je suis ravi de vous annoncer que depuis le début de l'année, nous avons publié de nombreux kits de développement logiciel (SDK) clients pour InterSystems IRIS, InterSystems IRIS for Health et Health Connect sur les plateformes de distribution externes correspondantes (Maven, NuGet, npm et PyPI). Vous bénéficiez ainsi de nombreux avantages :

2 0
0 35

Introduction

Dans mon article précédent, j'ai présenté le module IRIStool, qui intègre de manière transparente la bibliothèque pandas pour Python à la base de données IRIS. Je vais maintenant vous expliquer comment utiliser IRIStool pour exploiter InterSystems IRIS comme base pour une recherche sémantique intelligente dans les données de soins de santé au format FHIR.

Cet article décrit ce que j'ai fait pour créer une base de données pour mon autre projet, FHIR Data Explorer. Les deux projets sont candidats au concours InterSystems actuel, alors n'hésitez pas à voter pour eux si vous les trouvez utiles.

Ils sont disponibles sur Open Exchange:

Dans cet article, nous aborderons les sujets suivants:

  • Connexion à la base de données InterSystems IRIS via Python
  • Création d'un schéma de base de données compatible FHIR
  • Importation de données FHIR au moyen d'intégrations vectorielles pour la recherche sémantique

2 0
0 38

Introduction

Dans mon dernier article, j'ai présenté FHIR Data Explorer, une application de validation de concept qui connecte InterSystems IRIS, Python, et Ollama afin de permettre la recherche sémantique et la visualisation des données de soins de santé au format FHIR. Ce projet participe actuellement au concours InterSystems External Language Contest.

Dans cette suite, nous verrons comment j'ai intégré Ollama pour générer les résumés des dossiers médicaux directement à partir des données FHIR structurées stockées dans IRIS, à l'aide de modèles linguistiques locaux légers (LLM) tels que Llama 3.2:1B ou Gemma 2:2B.

L'objectif était de créer un pipeline d'IA entièrement local capable d'extraire, de formater et de présenter les dossiers médicaux des patients tout en garantissant la confidentialité et le contrôle total des données.

Toutes les données des patients utilisées dans cette démonstration proviennent de paquets FHIR, qui ont été analysés et chargés dans IRIS via le module IRIStool. Cette approche facilite la requête, la conversion et la vectorisation des données de soins de santé à l'aide d'opérations pandas familières en Python. Si vous désirez en savoir plus sur la manière dont j'ai construit cette intégration, consultez mon article précédent Création d'un référentiel vectoriel FHIR avec InterSystems IRIS et Python via le module IRIStool.

Les deux outils, IRIStool et FHIR Data Explorer sont disponibles sur InterSystems Open Exchange — et font partie de mes contributions au concours. Si vous les trouvez utiles, n'hésitez pas à voter pour eux!

1 1
0 46

Bonjour à tous,

Continuons à travailler sur la génération de données de test et l'exportation des résultats via une API REST. 😁

Ici, je souhaite réutiliser la classe `datagen.restservice` créée dans l'article précédent : « Écriture d'un service API REST pour exporter les données patient générées au format .csv ».

1 0
0 37

Salut,

C'est moi encore 😁. Je travaille actuellement à la génération de fausses données patients à des fins de test avec Chat-GPT et Python. J'aimerais également partager mon apprentissage. 😑

Tout d'abord, créer un service d'API REST personnalisé est facile en utilisant %CSP.REST.

Commençons ! 😂

1. Créez une classe datagen.restservice qui étend %CSP.REST.

1 0
0 51
Article
· Oct 13, 2025 4m de lecture
Comment interagir avec les CSV (importer)

Bonjour

Je vous soumets cet article en tant qu’état de l’art enrichi.
L’objectif est de réunir les différentes façons d’importer et d’exporter des CSV en un seul endroit.
Cet article est basé sur InterSystems 2024.1 .
N'hésitez pas à commenter pour rajouter des précisions.
Si vous voulez une deuxième partie sur l'export de CSV, faites le moi savoir.

16 3
2 100
Article
· Sept 4, 2025 6m de lecture
Introduction aux modules Python

img

Les modules, quel sujet ! Nous n'avons pas de notion équivalente en ObjectScript, mais c'est un concept fondamental en Python. Découvrons-le ensemble.

Qu'est-ce qu'un module?

Je considère les modules comme une couche intermédiaire entre les classes et les packages. Voici un exemple.

Un mauvais exemple :

2 0
0 40

img

Cet article présente une introduction à la programmation Python dans le contexte d'IRIS.

Avant toute chose, je vais aborder un sujet important : Fonctionnement de Python. Cela vous aidera à comprendre certains problèmes et certaines limites que vous pourriez rencontrer lorsque vous utilisez Python dans IRIS.

2 0
0 35

Dans le cadre de mon projet stagiaire, je développe une application backend Flask de l'API REST. Mon objectif est de l'héberger sur InterSystems IRIS à l'aide de l'interface WSGI. Il s'agit d'une approche relativement nouvelle qui n'est actuellement utilisée que dans quelques projets tels que AskMe. Pour aider ceux qui souhaitent se lancer, j'ai décidé d'écrire cet article afin de simplifier le processus.

1 0
0 27

Si vous migrez d'Oracle vers InterSystems IRIS, comme beaucoup de mes clients, vous risquez de rencontrer des modèles SQL spécifiques à Oracle nécessitant une conversion.

Prenons l'exemple suivant:

SELECT (TO_DATE('2023-05-12','YYYY-MM-DD') - LEVEL + 1) AS gap_date
FROM dual
CONNECT BY LEVEL <= (TO_DATE('2023-05-12','YYYY-MM-DD') - TO_DATE('2023-05-02','YYYY-MM-DD') + 1);

Dans Oracle:

1 0
0 42
Article
· Juin 24, 2025 3m de lecture
Options pour les développeurs Python

J'écris cet article principalement pour recueillir un consensus informel sur la façon dont les développeurs utilisent Python avec IRIS. N'hésitez donc pas à répondre au sondage à la fin de cet article ! Dans le corps de l'article, je détaillerai chaque choix proposé, ainsi que ses avantages, mais n'hésitez pas à le parcourir et à simplement répondre au sondage.

2 0
0 43

Je sais que ceux qui découvrent VS Code, Git, Docker, FHIR et d'autres outils peuvent parfois avoir des difficultés à configurer l'environnement. J'ai donc décidé de rédiger un article qui explique étape par étape l'ensemble du processus de configuration afin de faciliter les premiers pas.

Je vous serais très reconnaissant de bien vouloir laisser un commentaire à la fin de cet article pour me faire savoir si les instructions étaient claires, s'il manquait quelque chose ou si vous avez d'autres suggestions qui pourraient être utiles.

La configuration comprend:

✅ VS Code – Éditeur de code
✅ Git – Système de contrôle de version
✅ Docker – Lancement d'une instance de la communauté IRIS for Health
✅ Extension VS Code REST Client – Pour l'exécution de requêtes API FHIR
✅ Python – Pour l'écriture de scripts basés sur FHIR
✅ Jupyter Notebooks – Pour les tâches liées à l'IA et au FHIR

Avant de commencer: Vérifiez que vous disposiez des privilèges d'administrateur sur votre système.

Outre la lecture du guide, vous pouvez également suivre les étapes décrites dans les vidéos:

Pour Windows

https://www.youtube.com/embed/IyvuHbxCwCY
[Ceci est un lien intégré, mais vous ne pouvez pas consulter le contenu intégré directement sur le site car vous avez refusé les cookies nécessaires pour y accéder. Pour afficher le contenu intégré, vous devez accepter tous les cookies dans vos Paramètres des cookies]

1 0
0 36

Après tant d'années d'attente, nous avons enfin un pilote officiel disponible sur Pypi

De plus, j'ai découvert que le pilote JDBC était enfin disponible sur Maven depuis déjà 3 mois,  et le pilote .Net driver - surNuget depuis plus d'un mois.

 La mise en œuvre de la DB-API et que les fonctions devraient au moins être définies par cette norme. La seule différence devrait se situer au niveau de SQL.

Et ce qui est intéressant dans l'utilisation de bibliothèques existantes, c'est qu'elles ont déjà mis en œuvre d'autres bases de données en utilisant le standard DB-API, et que ces bibliothèques s'attendent déjà à ce que le pilote fonctionne.

J'ai décidé de tester le pilote officiel d'InterSystems en mettant en œuvre son support dans la bibliothèque SQLAlchemy-iris.

0 0
0 30

Résumé des alertes

Alert ID Produit et versions concernés Exigences explicites
DP-439207 Plateforme de données InterSystems IRIS® 2024.3 (AIX) Installations AIX utilisant le traitement JSON et les caractères Unicode non-Latin-1
DP-439280 InterSystems IRIS 2024.3 (conteneurs avec IntegratedML) Conteneurs IntegratedML utilisant TensorFlow

Détail des alertes

DP-439207 - Problème d'analyse JSON Unicode AIX

Un bug a été identifié dans InterSystems IRIS 2024.3.0 sur les instances AIX. Il affecte l'analyse des chaînes JSON Unicode. Ce problème survient lorsque la méthode %FromJSON() ou %FromJSONFile() analyse des chaînes contenant des caractères dont la valeur est inférieure à $CHAR(256) suivis de caractères Unicode dont la valeur est supérieure à $CHAR(255). Le processus de conversion transforme incorrectement les premiers caractères en $CHAR(0), ce qui entraîne une corruption silencieuse des données. Ce problème concerne uniquement la version AIX 2024.3 des produits suivants :

  • InterSystems IRIS
  • InterSystems IRIS for Health
  • HealthShare® Health Connect

0 0
0 37