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 19

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 20

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 2
0 33

Serveur FHIR

Le Serveur FHIR est une application logicielle qui met en œuvre la norme FHIR (Fast Healthcare Interoperability Resources), ce qui permet aux systèmes de soins de santé de Stocker, accéder, échanger, et gérer les données de soins de santé de manière standardisée.

InterSystems IRIS permet de stocker et de récupérer les ressources FHIR suivantes:

  • Référentiel de ressources – Le serveur natif IRIS FHIR permet de stocker facilement les paquets/ressources FHIR directement dans le référentiel FHIR.
  • Façade FHIR – La couche de façade FHIR est un modèle d'architecture logicielle à l'aide duquel une API compatible FHIR peut être exposée au-dessus d'une API existante (souvent non-FHIR). Cette couche permet également de rationaliser le système de données de soins de santé, y compris les dossiers médicaux électroniques (DME), les bases de données existantes ou le stockage de messages HL7 v2, sans nécessiter la migration de toutes les données vers un système natif FHIR.

Qu'est-ce que FHIR?

FHIR (Fast Healthcare Interoperability Resources) est un framework standard créé par HL7 International afin de faciliter l'échange de données de soins de santé de manière flexible, conviviale pour les développeurs et moderne. Il exploite les technologies web contemporaines pour assurer une intégration et une communication transparentes entre plusieurs systèmes de soins de santé.

1 0
0 25

La sécurisation des intégrations IRIS à l'aide du protocole TLS mutuel (mTLS) : guide pratique

Dans les environnements d'entreprise actuels, la sécurité des communications entre les systèmes n'est pas une option, mais une nécessité. Peu importe si vous intégrez InterSystems IRIS avec des API cloud, des microservices internes ou des plateformes tierces, le TLS mutuel (mTLS) offre une méthode efficace pour garantir que les deux extrémités de la connexion sont authentifiées et cryptées.

1 0
0 35

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 49

Vous êtes familier avec les bases de données SQL, mais vous ne connaissez pas IRIS ? Alors lisez la suite...

Il y a environ un an, j'ai rejoint InterSystems, et c'est ainsi que j'ai découvert IRIS.  J'utilise des bases de données depuis plus de 40 ans, la plupart du temps pour des fournisseurs de bases de données, et je pensais qu'IRIS serait similaire aux autres bases de données connues.  Cependant, j'ai été surpris de constater qu'IRIS est très différente par rapport aux autres bases de données, et souvent bien meilleure.  Avec mon premier article dans la communauté Dev, je vais présenter IRIS de manière générale aux personnes qui connaissent déjà d'autres bases de données telles qu'Oracle, SQL Server, Snowflake, PostgeSQL, etc.   J'espère vous rendre les choses plus claires et plus simples et vous faire gagner du temps pour vous lancer.

1 0
0 49
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 42

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 36
Article
· Août 25, 2025 8m de lecture
Pilote pour connecter IRIS à Metabase

Bonjour à toute la communauté InterSystems ! Je m'appelle Sidd, je suis stagiaire au bureau de Singapour et j'ai récemment eu l'occasion de développer un pilote afin de connecter IRIS à Metabase pour aider certains ingénieurs commerciaux ici. On m'a encouragé à partager cette information ici afin que ceux qui rencontrent un problème similaire puissent utiliser ce pilote et faire part de leurs commentaires sur les améliorations possibles.

2 0
0 39
Article
· Avr 14, 2025 5m de lecture
Bulk FHIR, étape par étape

Les référentiels, applications et serveurs FHIR servent généralement des données cliniques en petites quantités, par exemple pour renvoyer des données sur un patient, ses médicaments, ses vaccins, ses allergies, ou d'autres renseignements. Cependant, il est courant qu'une grande quantité de données au format FHIR/JSON soit demandée pour être utilisée pour charger des Data Lakes, identifier des cohortes étudiées, la santé de la population ou transférer des données d'un DME (dossier médical électronique) à un autre.

1 0
0 47