Bonjour à tous et a toutes,
Nous sommes heureux d'annoncer le nouveau concours de programmation en ligne InterSystems :
🏆 Concours InterSystems sur .Net, Java, Python et JavaScript 🏆
Durée : du 22 septembre au 12 octobre 2025
Prix : 12 000 $
(3).jpg)
Bonjour à tous et a toutes,
Nous sommes heureux d'annoncer le nouveau concours de programmation en ligne InterSystems :
🏆 Concours InterSystems sur .Net, Java, Python et JavaScript 🏆
Durée : du 22 septembre au 12 octobre 2025
Prix : 12 000 $
(3).jpg)
Cette année, notre Communauté de Développeurs d'InterSystems fête ses 10 ans, et nous vous invitons à participer aux festivités !
Nous créons une vidéo spéciale, remplie de vœux et de souvenirs de membres du monde entier. Envie de participer ? C’est simple :
▶️ Enregistrez un court extrait (1 à 2 minutes) dans lequel vous :
Nous rassemblerons vos contributions dans une grande vidéo de célébration pour le plus grand plaisir de tous ! 🎬✨
👉 Cliquez ici pour enregistrer votre vidéo


Connaissant désormais bien Python et ses fonctionnalités, voyons comment nous pouvons tirer parti de Python dans IRIS.
Cet article vous présente le concept des environnements virtuels en Python, qui sont essentiels pour gérer les dépendances et isoler les projets du système d'exploitation.
Un environnement virtuel est un dossier qui contient :
Les environnements virtuels vous aideront à isoler votre projet de l'installation Python du système d'exploitation et d'autres projets.
Pour utiliser les environnements virtuels, vous pouvez suivre les étapes suivantes:
Ce court article est consacré aux méthodes dunder de Python, également appelées méthodes magiques.
Les méthodes Dunder sont des méthodes spéciales en Python qui commencent et se terminent par deux traits de soulignement (__). Elles vous permettent de définir le comportement de vos objets pour les opérations intégrées, telles que l'addition, la soustraction, la représentation sous forme de chaîne, etc.
Parmi les méthodes dunder courantes, on peut citer:
Cet article a été motivé par le concours Article Bounty de septembre 2025.
***************************************************************************
Le principe de Docker me semble tout simplement convaincant.
C'est sur cette base technique que j'ai pu effectuer environ 700 évaluations dans OEX
sans pratiquement aucun effet secondaire (à l'exception de ceux causés par moi-même).
Si vous souhaitez générer une erreur personnalisée arbitraire dans un bloc TRY, vous pouvez transmettre une exception avec un throw comme suit. Dans l'exemple suivant, une erreur personnalisée est générée si Stcount est inférieur à 1.
Entre les rappels de fournitures, les stocks périmés et les dépenses inconsidérées, on estime que 25 milliards de dollars par an sont gaspillés dans les chaînes d'approvisionnement du secteur de la santé. Nous savons à quel point la chaîne d'approvisionnement est cruciale dans le secteur de la santé ; nous savons donc que ce problème mérite d'être résolu ! À quoi pourrait ressembler une solution ? Regardez et découvrez-la !
Présentateurs:
🗣 @Georgia Gans, Sales Engineer, InterSystems
🗣 @Annie Tong, Sales Engineer, InterSystems
🗣 @Boris Mamkin, Senior Sales Engineer, InterSystems
Salut la Communauté!
Profitez de regarder la nouvelle vidéo sur la chaîne Youtube d'InterSystems France :
📺 Redonner du temps patient aux soignants: InterSystems IntelliCare, un DPI nouvelle Gen(AI)ration
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.
Je considère les modules comme une couche intermédiaire entre les classes et les packages. Voici un exemple.
Un mauvais exemple :
# MyClass.py
class MyClass:
def my_method(self):
print("Hello from MyClass!")
Lorsque vous voulez utiliser cette classe dans un autre script, vous devez faire comme suit:
# class_usage.py
from MyClass import MyClass # weird, right?
my_instance = MyClass()
my_instance.my_method()
Salut tout le monde !
Parfois, lorsqu’on conçoit une méthode de classe et qu’on y ajoute de plus en plus de fonctionnalités utiles, le nombre de paramètres peut rapidement atteindre 10, voire plus.
Cela devient alors assez difficile pour les utilisateurs de ces méthodes utiles de se rappeler de la position des paramètres importants, et il devient très facile de se tromper en inversant des valeurs entre paramètres.
Voici un exemple d’une telle méthode (j’ai demandé à GPT de me créer une méthode avec 20 paramètres) :
ClassMethod GenerateReportWith20Params(
pTitle As%String = "",
pAuthor As%String = "",
pDate As%String = "", // ex. 2025-09-03
pCompany As%String = "",
pDepartment As%String = "",
pVersion As%String = "1.0",
pFormat As%String = "pdf", // pdf|html|docx
pIncludeCharts As%Boolean = 1,
pIncludeSummary As%Boolean = 1,
pIncludeAppendix As%Boolean = 0,
pConfidentiality As%String = "Public",
pLanguage As%String = "en",
pReviewers As%String = "", // CSV, ex. "Alice,Bob"
pApprover As%String = "",
pLogoPath As%String = "",
pWatermarkText As%String = "",
pColorScheme As%String = "default",
pPageSize As%String = "A4",
pOrientation As%String = "Portrait",
pOutputPath As%String = "report.pdf"
) As%Status
{
// implémentation
}
Ce court article traite du PEP 8, le guide de style Python.
En bref, le PEP 8 fournit des directives et des bonnes pratiques pour écrire du code Python.
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.
Tous les articles et exemples sont disponibles dans ce dépôt git: iris-python-article
Python est un langage interprété, ce qui signifie que le code est exécuté ligne par ligne lors de l'exécution, même lorsque vous importez un script.
✓ Nouveaux membres 4 ayant rejoint l'Août
✓ Publications 1,244 publiées depuis le début
✓ Membres 185 ayant rejoint depuis le début
Par défaut, l'ordre des colonnes d'une table est déterminé automatiquement par le système. Pour modifier cet ordre, définissez explicitement l'ordre de chaque propriété à l'aide du mot-clé SqlColumnNumber lors de la définition de la classe.
Exemple :
Property Name As %String [SqlColumnNumber = 2];
Veuillez consulter la documentation ci-dessous.
Si vous souhaitez modifier le nom de la table SQL, spécifiez SqlTableName. Si vous souhaitez modifier le nom de la colonne (nom du champ), spécifiez SqlFieldName.
Salut la Communauté!
Profitez de regarder la nouvelle vidéo sur la chaîne Youtube d'InterSystems France :
📺 Interopérabilité du DPI, un levier essentiel pour concrétiser l’innovation en milieu hospitalier
Nous présentons ici le processus d'utilisation de la célèbre solution Jaeger pour tracer les applications InterSystems IRIS. Jaeger est un produit open source permettant de suivre et d'identifier des problèmes, en particulier dans les environnements distribués et de microservices. Ce backend de traçage, apparu chez Uber en 2015, a été inspiré par Dapper de Google et OpenZipkin de Twitter. Il a ensuite rejoint la Fondation Cloud Native Computing (CNCF) en tant que projet en incubation en 2017, avant d'obtenir le statut gradué en 2019. Ce guide vous montrera comment utiliser la solution Jaeger
Cet excellent article a récemment déclenché une discussion privée, et j'aimerais partager certaines de mes réflexions à ce sujet.La question motivante se résume ainsi : pourquoi devons-nous absolument établir des règles ou des conventions de codage ? Où est passée la merveilleuse époque des artistes-programmeurs de la Renaissance qui traçaient leur propre voie, avant d'être supplantés par les artisans, puis (pire encore) par IA?En bref, il existe plusieurs raisons pour expliquer l'utilité des normes et des directives de codage, et les artistes-programmeurs de la Renaissance n'ont pas
Bonjour la Communauté,
Nous sommes ravis de vous annoncer l'arrivée d'une nouvelle fonctionnalité dans la Communauté des développeurs : la possibilité d'ajouter un lien vers la documentation officielle d'InterSystems directement à la fin de votre publication.
Lors de la publication d'un article, collez l'URL correspondante depuis docs.intersystems.com dans le champ de lien vers la documentation d'InterSystems.
.png)
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. Le dépôt GitHub complet avec la procédure de démarrage rapide, un bref aperçu et le processus de création du pilote est disponible ici. L'objectif principal
Salut la Communauté!
Profitez de regarder la nouvelle vidéo sur la chaîne Youtube d'InterSystems France :
📺 Coordination Ville Hôpital et Prévention grâce aux Parcours de soins et à la Santé Populationnelle
Bonjour la Communauté,
Vous pouvez parfois avoir besoin de fusionner plusieurs comptes ou simplement de mettre à jour l'adresse e-mail que vous utilisez sur les différents portails de l'écosystème des développeurs InterSystems. Chaque portail fonctionnant différemment, voici un guide pour vous accompagner dans cette démarche.
Si vous souhaitez utiliser une adresse e-mail différente (par exemple, une adresse professionnelle plutôt qu'une adresse personnelle, ou inversement), voici comment la mettre à jour sur tous les portails :
1. Mettez à jour votre adresse e-mail dans InterSystems SSO. Pour cela :
.png)
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.
Création d'une application Flask de base
Commençons par créer une application Flask minimale. Voici le code:
Version 2025.1.0.1.24372U.f00326d.
Cette version offre une prise en charge Azure étendue pour InterSystems Data Fabric Studio, une flexibilité d’abonnement améliorée, des mises à jour majeures des modules et de multiples améliorations de la mise en réseau, de la sécurité et de la réactivité des API.
Nouvelles fonctionnalités et améliorations
Récompense d’août pour les articles sur Global Masters a retenu mon attention, et l'un des sujets proposés m'a semblé très intéressant quant à son utilisation future dans mon enseignement. Voici donc ce que j'aimerais dire à mes étudiants à propos des tables dans IRIS et de leur corrélation avec le modèle objet.
Tout d'abord, InterSystems IRIS dispose d'un modèle de données unifié. Cela signifie que lorsque vous travaillez avec des données, vous n'êtes pas enfermé dans un paradigme unique. Les mêmes données sont accessibles et manipulables comme une table SQL traditionnelle, comme un objet natif, ou même comme un tableau multidimensionnel (global). Cela signifie que lorsque vous créez une table SQL, IRIS crée automatiquement une classe d'objet correspondante. Lorsque vous définissez une classe d'objet, IRIS la rend automatiquement disponible sous forme de table SQL. Les données elles-mêmes ne sont stockées qu'une seule fois dans le moteur de stockage multidimensionnel performant d'IRIS. Le moteur SQL et le moteur objet sont simplement des « optiques » différentes pour visualiser et travailler avec les mêmes données.
Commençons par examiner la corrélation entre le modèle relationnel et le modèle objet :
| Relationnel | Objet |
| Table | Classe |
| Colonne | Propriété |
| Ligne | Objet |
| Clé primaire | Identifiant d'objet |
La corrélation n'est pas toujours exacte, car plusieurs tables peuvent représenter une même classe, par exemple. Mais c'est une règle générale.
Salut la Communauté!
Profitez de regarder la nouvelle vidéo sur la chaîne Youtube d'InterSystems France :
📺 HL7 FHIR et l’Espace Européen des Données de Santé, accélérateurs d’innovation au CHU de Toulouse
Les données sont au cœur de la transformation numérique qui bouleverse le secteur de la santé. Ce changement radical nécessite de nouvelles bases pour gérer les énormes besoins en données des soins de santé modernes.
Le délai de mise sur le marché est crucial pour développer les prochaines avancées thérapeutiques, les connaissances génomiques et les flux de travail cliniques intelligents. Vous devez les mettre en œuvre dès maintenant.
Au fil des ans, j'ai constaté que certaines questions SQL revenaient régulièrement au sein de la Communauté des développeurs InterSystems, notamment concernant l'utilisation du prédicat LIKE dans différents contextes. Parmi les variantes courantes, on peut citer :
et bien d'autres dérivés. J'ai donc décidé d'écrire un article consacré au fonctionnement de LIKE dans InterSystems IRIS SQL, notamment lorsqu'il est utilisé avec des variables dans Embedded SQL, Dynamic SQL et les requêtes de classes, tout en abordant l'échappement de motifs et les recherches de caractères spéciaux.

Tout d'abord, je tiens à préciser qu'InterSystems IRIS SQL offre la plupart des fonctionnalités disponibles dans d'autres bases de données relationnelles implémentant une version ultérieure de la norme SQL. Il est toutefois important de préciser qu'outre l'accès relationnel, IRIS permet également d'utiliser d'autres modèles pour obtenir les mêmes données, par exemple des modèles objet ou document.
À ce propos, examinons le prédicat LIKE et son utilisation en SQL pour la recherche de motifs.
Salut, Communauté des Développeurs !
Nous avons lancé une toute nouvelle activité sur Global Masters : La récompense pour les articles !
C’est votre chance de partager votre expertise, d’aider vos collègues développeurs et, bien sûr, de gagner des points en le faisant.
👉 Participez à la récompense d’août pour les articles sur Global Masters

Mon intention est de montrer à quel point il est simple de générer un tableau de recherche en tenant compte des informations qui arrivent dans notre messagerie HL7. Certes, le tableau de recherche de messages HL7 fourni par IRIS est suffisant pour la plupart des recherches que nous souhaitons effectuer, mais nous avons toujours ce champ spécial de notre HIS, LIS, RIS, etc. dans lequel nous aimerions rechercher. Mais il se trouve dans un segment en dehors de cette table. Ce champ nous oblige à générer une recherche spécifique en utilisant les critères de recherche avancés. Nous aurons