Article Guillaume Rongier · Oct 16, 2023 8m read

Aujourd'hui, il y a beaucoup de bruit autour du LLM, de l'IA, etc. Les bases de données vectorielles en font partie, et il existe déjà de nombreuses réalisations différentes pour le support en dehors d'IRIS. 

Pourquoi Vector?

  • Recherche de similarité : Les vecteurs assurent une recherche de similarité efficace, par exemple en trouvant les éléments ou les documents les plus similaires dans un ensemble de données. Les bases de données relationnelles classiques sont conçues pour des recherches de correspondances exactes, qui ne sont pas adaptées à des tâches telles que la recherche de similitudes d'images ou de textes.
  • Flexibilité : Les représentations vectorielles sont polyvalentes et peuvent être obtenues à partir de différents types de données, tels que du texte (via des embeddings comme Word2Vec, BERT), des images (via des modèles d'apprentissage profond), et autres.
    • Recherches multimodales** : Les vecteurs permettent d'effectuer des recherches dans différentes modalités de données. Par exemple, avec une représentation vectorielle d'une image, on peut rechercher des images similaires ou des textes connexes dans une base de données multimodale.

Et pour bien d'autres raisons encore.

Donc, pour ce concours python, j'ai décidé de mettre en place ce support. Et malheureusement, je n'ai pas réussi à le terminer à temps, je vais vous expliquer pourquoi.

0
0 118
Article Guillaume Rongier · Sept 29, 2023 11m read

Parfois, nous devons savoir avec certitude si l'environnement actuel dispose de suffisamment de noyaux, de mémoire et de bande passante pour prendre en charge le nombre prévu d'utilisateurs et les accords de niveau de service tels que la latence, le temps de réponse et la disponibilité. C'est le cas pour les bases de données et les backends. C'est pourquoi il est obligatoire, pour les applications et les bases de données critiques, de simuler les demandes simultanées/concurrentes des utilisateurs et de collecter des données sur les performances et la disponibilité.

1
0 613
Article Guillaume Rongier · Sept 22, 2023 8m read

Description

Avec le Serveur InterSystems IRIS FHIR, vous pouvez construire une stratégie pour personnaliser le comportement du serveur (pour plus de détails, consultez documentation).

Image

Ce référentiel contient une stratégie Python qui peut être utilisée comme point de départ pour construire votre propre stratégie en Python.

Cette stratégie de démonstration présente les caractéristiques suivantes :

  • Mettre à jour la déclaration de capacité pour supprimer la ressource Account (compte).
  • Simuler un système de gestion de consentement pour accorder ou non l'accès à la ressource Observation.
    • Si l'utilisateur a des droits suffisants, la ressource Observation est renvoyée.
    • Sinon, la ressource Observation n'est pas renvoyée.
0
0 63
Article Guillaume Rongier · Sept 18, 2023 22m read

k8s fhir

Voici un exemple de déploiement de iris-oauth-fhir sur k3d avec IKO.

  • iris-oauth-fhir est un exemple de déploiement d'un serveur FHIR avec authentification OAuth2 en utilisant InterSystems IRIS for Health comme serveur de ressources et Google OpenId comme serveur d'autorisation.
  • k3d est un wrapper léger pour exécuter k3s (la distribution Kubernetes minimale de Rancher Lab) dans docker.
  • IKO est un outil permettant de déployer InterSystems IRIS for Health sur Kubernetes.
0
0 116
Article Guillaume Rongier · Sept 8, 2023 6m read

iris-docker-multi-stage-script

Un script python pour garder vos images docker iris en forme ;)

Sans changer votre dockerfile ou votre code vous pouvez réduire la taille de votre image de 50% ou plus !

TL;DR

Nommez l'image de constructeur builder et l'image finale final et ajoutez ceci à la fin de votre fichier Dockerfile :

Modifiez votre fichier Dockerfile pour utiliser une construction multi-étapes :

ARG IMAGE=intersystemsdc/irishealth-community:latest
FROM $IMAGE as builder

Ajoutez ceci à la fin de votre fichier Dockerfile:

FROM $IMAGE as final

ADD --chown=${ISC_PACKAGE_MGRUSER}:${ISC_PACKAGE_IRISGROUP} https://github.com/grongierisc/iris-docker-multi-stage-script/releases/latest/download/copy-data.py /irisdev/app/copy-data.py

RUN --mount=type=bind,source=/,target=/builder/root,from=builder \
    cp -f /builder/root/usr/irissys/iris.cpf /usr/irissys/iris.cpf && \
    python3 /irisdev/app/copy-data.py -c /usr/irissys/iris.cpf -d /builder/root/

Boum ! Vous avez terminé !

0
1 49
Article Guillaume Rongier · Août 21, 2023 13m read

Si vous lisez régulièrement les articles publiés dans la Communauté, vous savez qu'en mai de l'année dernière, InterSystems a organisé le JOnTheBeach2023 Hackathon qui s'est tenu à Malaga (Espagne). Le sujet proposé était l'utilisation des outils d'analyse prédictive qu'InterSystems IRIS met à la disposition de tous les développeurs avec IntegratedML. Nous devons remercier @Thomas Dyar et @Dmitry Maslennikov pour tout le travail et les efforts qu'ils ont consacrés à faire de cet événement un succès retentissant.

0
0 83
Article Guillaume Rongier · Juil 24, 2023 7m read

Je suis fier d'annoncer la nouvelle version du logiciel iris-pex-embedded-python (v2.3.1) avec une nouvelle interface en ligne de commande.

Cette ligne de commande est appelée iop et signifie Interoperability On Python (interopérabilité sur Python).

Tout d'abord, j'aimerais présenter en quelques mots le projet et les principaux changements depuis la version 1.

Un bref historique du projet

La version 1.0 était une preuve de concept visant à montrer comment le cadre d'interopérabilité d'IRIS peut être utilisé avec une approche python first (priorité à Python) tout en restant compatible avec n'importe quel code ObjectScript existant.

Qu'est-ce que cela signifie ? Cela signifie que tout développeur python peut utiliser le cadre d'interopérabilité d'IRIS sans aucune connaissance d'ObjectScript.

Exemple :

from grongier.pex import BusinessOperation

class MyBusinessOperation(BusinessOperation):

    def on_message(self, request):
        self.log.info("Demande reçue")

Formidable, n'est-ce pas ?

0
0 87
Article Guillaume Rongier · Juil 12, 2023 4m read

L' adaptateur Telegram pour InterSystems IRIS sert de pont entre la populaire plateforme de messagerie Telegram et InterSystems IRIS, facilitant une communication et un échange de données transparents. En exploitant les capacités de l'API Telegram, l'adaptateur permet aux développeurs de créer des chatbots robustes, d'automatiser des tâches et d'intégrer Telegram aux applications d'InterSystems IRIS.

0
0 130
Article Guillaume Rongier · Juil 3, 2023 5m read

Les méthodes écrites en ObjectScript peuvent utiliser des arguments de type " passage par référence " pour renvoyer des informations à l'appelant. Python ne supporte pas les arguments de type " passage par référence ", donc Python intégré dans IRIS ne les supporte pas non plus. Voilà, c'est la fin de cet article, j'espère qu'il vous a plu 😉 Mais attendez, et le Rock & Roll Classic ?

En fait, puisque les valeurs retournées dans les arguments de méthode peuvent être utiles, cet article montre plusieurs façons de procéder, entre ObjectScript et Python intégré.

0
0 65
Article Guillaume Rongier · Juin 26, 2023 3m read

Introduction

Dans certains des derniers articles, j'ai parlé des types entre IRIS et Python, et il est clair qu'il n'est pas facile d'accéder aux objets d'un côté à l'autre.  

Heureusement, un travail a déjà été fait pour créer SQLAlchemy-iris (suivez le lien pour le voir sur Open Exchange), qui rend tout beaucoup plus facile pour Python d'accéder aux objets d'IRIS, et je vais montrer les starters pour cela.

Merci à @Dmitry Maslennikov !

0
2 688
Article Guillaume Rongier · Juin 14, 2023 40m read

Le nuage Amazon Web Services (AWS) offre un large éventail de services d'infrastructure, tels que des ressources de calcul, des options de stockage et des réseaux, qui sont fournis comme un service public : à la demande, disponibles en quelques secondes, avec une tarification à l'usage. De nouveaux services peuvent être mis à disposition rapidement, sans dépenses d'investissement initiales. Les entreprises, les start-ups, les petites et moyennes entreprises et les clients du secteur public peuvent ainsi accéder aux éléments de base dont ils ont besoin pour répondre rapidement à l'évolution des exigences commerciales.

 

Updated: 2-Apr, 2021 

0
0 490
Article Guillaume Rongier · Mai 29, 2023 10m read

Introduction

L'analyse des données est un aspect crucial de la prise de décision commerciale dans le monde moderne où tout va très vite. Les organisations s'appuient fortement sur l'analyse des données pour prendre des décisions éclairées et garder une longueur d'avance sur la concurrence. Dans cet article, nous allons explorer comment l'analyse de données peut être réalisée en utilisant Pandas et Intersystems Embedded Python. Nous discuterons des bases de Pandas, des avantages de l'utilisation d'Intersystems Embedded Python et de la façon dont ils peuvent être utilisés ensemble pour réaliser des analyses de données efficaces.

0
0 531
Annonce Guillaume Rongier · Mai 16, 2023

J'étais l'invité de l'émission IFTTD (If This Then Dev) présenté par Bruno Soulez pour parler de IRIS dataplatform et de la norme FHIR.

Vous pouvez retrouver le "compilé" de l'émission ci-dessous :

Et la version "source" ici :

0
0 49
Article Guillaume Rongier · Mai 15, 2023 4m read

Salut à tous !  

Dans cet article, j'aimerais passer en revue les extensions de VS Code que j'utilise moi-même pour travailler avec InterSystems et qui rendent mon travail beaucoup plus pratique. Je suis certain que cet article sera utile à ceux qui commencent tout juste à apprendre les technologies d'InterSystems. Cependant, j'espère également que cet article pourra être utile aux développeurs expérimentés ayant de nombreuses années d'expérience et qu'il leur ouvrira de nouvelles possibilités lors de l'utilisation de VS Code pour le développement.

0
0 340
Article Guillaume Rongier · Mai 8, 2023 9m read

Bonjour à la communauté,
Dans cet article, je vais présenter mon application iris-mlm-explainer

Cette application web se connecte au service SQL d'InterSystems Cloud pour créer, entraîner, valider et prédire des modèles d'apprentissage automatique, faire des Prédictions et afficher un tableau de bord de tous les modèles entraînés avec une explication du fonctionnement d'un modèle d'apprentissage automatique ajusté.

0
0 52
Article Guillaume Rongier · Avr 24, 2023 10m read

Avez-vous essayé le laboratoire de la plate-forme d'apprentissage d'InterSystems pour IRIS IntegratedML ? Dans ce laboratoire, vous pouvez former et tester un modèle sur un ensemble de données de réadmission et être en mesure de prédire quand un patient sera réadmis ou non, ou de calculer sa probabilité d'être réadmis.

Vous pouvez l'essayer sans aucune installation sur votre système, tout ce que vous avez à faire est de démarrer un environnement de laboratoire virtuel (Zeppelin) et de jouer autour !

0
0 62
Article Guillaume Rongier · Avr 7, 2023 9m read

Suite à la partie précédente, il est temps de tirer parti de l'instruction de VALIDATION DU MODÈLE IntegratedML, qui fournit des informations permettant de surveiller vos modèles ML. Vous pouvez la voir en action ici

Le code présenté ici est dérivé d'exemples fournis par le modèle InterSystems IntegratedML ou la documentation IRIS, documentation

Remarque: Le code présenté ici n'a qu'une valeur explicative. Si vous souhaitez l'essayer, j'ai développé une application modèle - iris-integratedml-monitor-example, qui participe au concours IA d'InterSystems IRIS (InterSystems IRIS AI Contest).

0
0 70
Article Guillaume Rongier · Avr 5, 2023 6m read

Il y a quelques mois, j'ai lu cet article intéressant de la MIT Technology Review, qui explique comment la pandémie de COVID-19 pose des défis aux équipes informatiques du monde entier en ce qui concerne leurs systèmes d'apprentissage automatique (ML).

Cet article m'a incité à réfléchir à la manière de traiter les problèmes de performance après le déploiement d'un modèle de ML.

0
0 65
Article Guillaume Rongier · Fév 24, 2023 4m read

Je vous présente mon nouveau projet, qui est irissqlcli, REPL (Read-Eval-Print Loop) pour InterSystems IRIS SQL

  • Mise en évidence de la syntaxe
  • Suggestions (tableaux, fonctions)
  • Plus de 20 formats de sortie
  • Support de stdin
  • Sortie vers des fichiers 

L'installez avec pip

pip install irissqlcli

Ou lancez avec docker

docker run -it caretdev/irissqlcli irissqlcli iris://_SYSTEM:SYS@host.docker.internal:1972/USER

Connection à IRIS

$ irissqlcli iris://_SYSTEM@localhost:1972/USER -W
Password for _SYSTEM:
Server:  InterSystems IRIS Version 2022.3.0.606 xDBC Protocol Version 65
Version: 0.1.0
[SQL]_SYSTEM@localhost:USER> select $ZVERSION
+---------------------------------------------------------------------------------------------------------+
| Expression_1                                                                                            |
+---------------------------------------------------------------------------------------------------------+
| IRIS for UNIX (Ubuntu Server LTS for ARM64 Containers) 2022.3 (Build 606U) Mon Jan 30 2023 09:05:12 EST |
+---------------------------------------------------------------------------------------------------------+
1 row in set
Time: 0.063s
[SQL]_SYSTEM@localhost:USER> help
+----------+-------------------+------------------------------------------------------------+
| Commande  | Raccourci          | Description                                                |
+----------+-------------------+------------------------------------------------------------+
| .exit    | q                | Sortie.                                                      |
| .mode    | \T                | Modifier le format de tableau utilisé pour les résultats.            |
| .once    | \o [-o] filename  | Ajout du résultat suivant à un fichier de sortie (écraser en utilisant -o). |
| .schemas | \ds               | Liste des schémas.                                             |
| .tables  | \dt [schema]      | Liste des tableaux.                                               |
| \e       | \e                | Commande d'édition avec éditeur (utilise $EDITOR).                   |
| help     | ?                | Montre cette utilité.                                            |
| nopager  | \n                | Désactiver le pager, imprimer vers stdout.                            |
| notee    | notee             | Arrête l'écriture des résultats dans un fichier de sortie.                    |
| pager    | \P [command]      | Definition du PAGER. Impression des résultats de la requête via PAGER.              |
| prompt   | R                | Modification du format de l'invite.                                      |
| quit     | q                | Quit.                                                      |
| tee      | tee [-o] filename | Ajout de tous les résultats à un fichier de sortie (écraser en utilisant -o). |
+----------+-------------------+------------------------------------------------------------+
Time: 0.012s
[SQL]_SYSTEM@localhost:USER>
0
0 120
Article Guillaume Rongier · Fév 17, 2023 18m read

Keywords:  IRIS, IntegratedML, Flask, FastAPI, Tensorflow servant, HAProxy, Docker, Covid-19

Objective:

Nous avons abordé quelques démonstrations rapides d'apprentissage profond et d'apprentissage automatique au cours des derniers mois, notamment un simple classificateur d'images radiographiques Covid-19 et un classificateur de résultats de laboratoire Covid-19 pour les admissions possibles en soins intensifs. Nous avons également évoqué une implémentation de démonstration IntegratedML du classificateur ICU. Alors que la randonnée de la "science des données" se poursuit, le moment est peut-être venu d'essayer de déployer des services d'IA du point de vue de "l'ingénierie des données" - pourrions-nous regrouper tout ce que nous avons abordé jusqu'à présent dans un ensemble d'API de services ? Quels sont les outils, les composants et l'infrastructure communs que nous pourrions exploiter pour réaliser une telle pile de services dans son approche la plus simple possible ?

0
0 357
Article Guillaume Rongier · Fév 6, 2023 12m read

Visual Studio Code (VSCode) est l'éditeur de code le plus populaire du marché. Il a été créé par Microsoft et distribué en tant qu'IDE gratuit. VSCode supporte des dizaines de langages de programmation, y compris ObjectScript, Until 2018, Atelier (basé sur Eclipse). Il était considéré comme l'une des principales options pour développer les produits InterSystems.

0
1 174
Article Guillaume Rongier · Jan 30, 2023 9m read

Forum des ROIS de la Supply Chain 2023

16ème Forum des Rois de la Supply Chain 2022 , jeudi 17 mars 2022 ...

Présentation des 8 projets en compétition

Sur la journée, les grandes thématiques abordées :
1- Un environnement de plus en plus complexe, nécessite de faire appel aux nouvelles techno pour une SC toujours plus performante, ex. tour de control pour une meilleure visibilité, IA pour de meilleurs forecasts
2- Économie circulaire => future révolution qui met la Supply Chain au cœur du modèle
3- Décarbonation => une nécessité absolue mais les solutions ne sont pas encore complément mâtures. Du chemin encore à parcourir …
4- Logistique urbaine => enjeu fort du à l’explosion du e-commerce et enjeu Green
5- Attractivité des métiers : La robotisation, cyclo-logistique, les technologies au service de l’humain

0
0 79
Article Guillaume Rongier · Jan 23, 2023 1m read

Pourquoi exploiter les données de santé ?

Normalisation des données de santé

Pourquoi exploiter les données de santé ?Un entrepôt bien construit permettra une exploitation efficace des données et tiendra ses promesses !

Avoir accès à la bonne donnée (fraiche et de qualité) au bon moment (en temps réel) pour prendre la bonne décision est un enjeu majeur pour notre système de santé.

0
0 121
Article Guillaume Rongier · Jan 20, 2023 12m read

Intersystems IRIS for Health offre un excellent support pour la norme sectorielle FHIR. Les principales caractéristiques sont :

  1. Serveur FHIR
  2. Base de données FHIR
  3. API REST et ObjectScript pour les opérations CRUD sur les ressources FHIR (patient, questionnaire, vaccins, etc.)

Cet article explique comment utiliser chacune de ces fonctionnalités, et présente un front-end angulaire permettant de créer et d'afficher des ressources FHIR de type Quiz.

0
0 119
Article Guillaume Rongier · Jan 16, 2023 2m read

Comment stocker efficacement les données de santé ?

Normalisation des données de santé

De nombreuses organisations « déchantent » des Data Lakes dans lesquels les données sont stockées massivement sans avoir été préalablement normalisées. Trop de données « non propres » rendent ces Data Lakes inexploitables. Les organisations reviennent alors aux fondamentaux que sont la capture, la normalisation, le stockage et l’exploitation pour la mise en œuvre de Data Fabrics.

Il existe 3 modèles de stockage des données :

  • Adhoc - modèles propriétaires
  • FHIR « friendly » – stockage selon la norme FHIR
  • OMOP et I2B2 – modèles universitaires orientés recherches cliniques
0
0 102
Article Guillaume Rongier · Jan 4, 2023 11m read

Les systèmes EHR (Electronic Health Record) sont modélisés dans un format/structure propriétaire et ne sont pas basés sur des modèles du marché tels que FHIR ou HL7. Certains de ces systèmes peuvent interopérer des données dans un format propriétaire pour FHIR et d'autres modèles de marché, mais pas tous. InterSystems dispose de deux plateformes capables d'interopérer des formats propriétaires pour ceux du marché : InterSystems HealthShare Connect et InterSystems IRIS for Health. La fonctionnalité de transformation (DTL - Data Transformation Language) de ces plateformes peut recevoir des données dans n'importe quel format, structure ou canal de communication (CSV, JSON, XML, et autres via FTP, File, HTTP, etc.) et les transformer directement en formats du marché (FHIR, CDA, HL7, etc.). Cependant, InterSystems dispose d'un format intermédiaire appelé SDA (Summary Document Architecture) qui est utilisé par ces plateformes pour générer sans effort des FHIR STU, R3, R4, HL7v2, HL7v3, etc. En outre, lorsqu'elles sont au format SDA, les données de santé peuvent être conservées dans le RCU HealthShare. Ainsi, le format propriétaire/personnel est d'abord transformé en SDA, puis les données peuvent être automatiquement converties dans n'importe quel format du marché, ainsi que sauvegardées dans HealthShare. Dans cet article, nous allons vous montrer comment transformer des données propriétaires/personnalisées en SDA à l'aide d'IRIS for Health. L'exemple de données que nous avons utilisé a été généré par le projet de génération de données en masse SYNTHEA (https://synthea.mitre.org/downloads). Nous allons convertir 1000 patients d'un fichier CSV en SDA, en utilisant les fonctions d'interopérabilité d'IRIS for Health.

0
0 149
Article Guillaume Rongier · Déc 13, 2022 1m read

Entrepôt de Données de Santé

Pourquoi normaliser les données ?

Normalisation des données de santé

La normalisation des données au sein d’un EDS est fondamentale pour en assurer une bonne exploitation.

Les données capturées de différentes sources et dans différents formats doivent être saines avant d’être stockées c’est à dire unifiées, nettoyées et prêtes à être exploitées.

Les grandes étapes de normalisation des données sont :

  • Agrégation
  • Rapprochement
  • Déduplication
  • Alignement terminologique
0
0 85