Question Julia Pertin · Oct 24, 2023

Bonjour,

 

J'ai un petit soucis je souhaite renvoyé via une API REST des données IRIS mais j'ai une erreur sur le renvoi de données de type Stream.GlobalBinary, j'essaie de faire un "CopyFrom" via $METHOD mais je récupère un "INVALID OREF" : 

 set obj  = ##class(%ZEN.proxyObject).%New()   
   set update = $CLASSMETHOD(classname,"%OpenId",id)
if class.Properties.GetAt(i).Type = "%Stream.GlobalBinary"{
        set pnewContent = ##class(%Stream.GlobalCharacter).%New()
           do $METHOD($PROPERTY(update,propertyName),"Rewind")
              while '$PROPERTY(update,propertyName).
3
1 103
Article Lorenzo Scalese · Oct 24, 2023 22m read

Notre objectif

Aujourd'hui, nous poursuivons le développement de notre dernier article et présentons des informations sur certaines fonctionnalités que nous avons ajoutées à notre portail. Nous inclurons une petite partie de CSS pour mieux visualiser les données disponibles et les exporter. Enfin, nous examinerons comment ajouter des options de filtrage et de classement. Lorsque vous aurez terminé cet article, vous pourrez afficher une requête simple et complète de manière élégante.

Précédemment, dans "Un portail pour gérer la mémoire réalisé avec Django".

0
0 100
Article Sylvain Guilbaud · Oct 20, 2023 1m read

Quick Tips: Total Productive Maintenance

Les paramètres nommés peuvent être obtenus avec SQLAlchemy :  

from sqlalchemy import create_engine, text,types,engine

_engine = create_engine('iris+emb:///')
with _engine.connect() as conn:
    rs = conn.execute(text("select :some_private_name"), {"some_private_name": 1})
    print(rs.all())

ou avec une API native :

from sqlalchemy import create_engine, text,types,engine

# set URL for SQLAlchemy
url = engine.url.URL.create('iris', username='SuperUser', password='SYS', host='localhost', port=33782, database='FHIRSERVER')

_engine = create_engine(url)

with _engine.
0
2 111
Article Adeline Icard · Oct 20, 2023 8m read

Bonjour à toutes et à tous !

 

InterSystems a sponsorisé le FHIR User Day qui a eu lieu lors de la semaine européenne de la e-santé. Et je voudrais partager avec vous mes notes de cet événement. Mais avant ça, j'ai le plaisir à vous infirmer que la journée a été entièrement filmée. Les vidéos des différentes interventions seront transmises dans les semaines à venir. Restez à l'écoute!

Sans perte de temps, voici toute l'info.

0
0 172
Article Sylvain Guilbaud · Oct 19, 2023 6m read

Cet article a été écrit en réponse à un message de la communauté qui demandait si Python pouvait créer des messages HL7 de manière dynamique.

Conditions préalables et configuration

Utilisez un espace de noms compatible avec l'intégration.
Remarque : l'espace de noms USER n'est pas activé pour l'interopérabilité par défaut.
Si nécessaire, créez un nouvel espace de noms interopérable afin d'explorer les fonctionnalités.

# Passage à
ZN "[Espace de nom pour l'interopérabilité]"

# Lancement d'un shell interactif Python :
Exécuter $SYSTEM.Python.

0
1 137
Question Jules Pontois · Oct 19, 2023

Cette question est apparue à l'origine dans les commentaires du post : Surcharge les méthodes SendRequestAsync et SendRequestSync
 

Bonjour,

Effectivement, retirer ForceGenerate des mots clés résout le problème des doublons. Merci !

Une dernière question : Une fois le code généré, il n'est pas directement visible dans les classes crées. Et notamment en utilisant VS Code. Du coup, actuellement, je lance la compilation des sous classe avec $system.OBJ.Compile et le flag subclasses.

1
0 104
Annonce Irène Mykhailova · Oct 18, 2023

Salut la Communauté!

Profitez de regarder la nouvelle vidéo sur l’importance de bâtir un système de santé connectée et apprendre les clés de réussite pour faciliter l'échange sécurisé d'informations médicales dans le but d’assurer une meilleure coordination des soins.

📺 Coordination Ville Hôpital : Comment créer un pont entre la Ville et l'Hôpital ?

0
0 68
Question Moussa SAMB · Oct 17, 2023

Bonjour,

Je cherche à  dézipper un fichier zip que je récupère  via HTTP avec ObjectScript.

Je récupère  de ma requête HTTP un  %Stream.GlobalBinary, et via mon BusinessOperation, je crée le fichier Zip.

J'aimerais savoir s'il y a une méthode pour dézipper directement le  %Stream.GlobalBinary et avoir le dossier dézipper  en sortie ?

Ou sinon quelle méthode permet de dézipper un fichier Zip en ObjectScript ?

Merci d'avance pour votre aide

3
0 89
Question Jules Pontois · Oct 16, 2023

Bonjour,

Je travaille sur l'ajout d'étapes préliminaires avant l'envoi d'un message d'un Business Service à un Business Process.

Pour ce faire, je surcharge les méthodes SendRequestAsync et SendRequestSync, mettant ces étapes préliminaires au début et quittant avec ##super return.

Je veux garder le comportement natif de SendRequestAsync et SendRequestSync. Je veux aussi coller à l'utilisation de ##super, donc si ces méthodes changent dans une mise à jour annuelle d'Iris, je n'aurai rien à changer. À cet égard, la classe personnalisée que j'ai faite doit étendre Ens.BusinessService.

5
0 108
InterSystems officiel Adeline Icard · Oct 17, 2023

InterSystems a pris la décision d'arrêter le développement d'InterSystems Cloud Manager et de le qualifier de obsolète à partir de la version InterSystems IRIS 2023.3. InterSystems continuera à prendre en charge les clients existants utilisant cette technologie, mais elle n'est plus recommandée pour les nouveaux déploiements.

Les clients du cloud qui souhaitent déployer et gérer un déploiement IRIS avec de nombreux systèmes sont encouragés à envisager Kubernetes et InterSystems Kubernetes Operator, qui possède des fonctionnalités très similaires à ICM.

0
0 43
Question Jean-Charles Cano · Sept 28, 2023

Bonjour,

Je cherche a créer un flux qui doit appeler une API qui me permet de récupérer le contenu d'un fichier.

pour se faire j'ai créer une classe qui hérite de Ens.BusinessService pour l'appel api

Method OnProcessInput(pInput As %RegisteredObject, Output pOutput As %RegisteredObject) As %Status
{

    Set sc = $$$OK
    set res = ##class(Ens.StringResponse).%New()
    set request = ##class(%Net.HttpRequest).%New()
    set response = ##class(%Net.HttpResponse).%New()
    set request.Https = 1
    set request.Server = ..ServerAddress
    set request.Port = ..Port
    set reques
6
0 258
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 115
Article Iryna Mykhailova · Oct 13, 2023 12m read

La série d'articles relatifs à l'application QuinielaML se poursuit. Dans cet article, nous verrons comment préparer les données brutes que nous avons capturées à l'aide de la fonctionnalité Embedded Python.

Bienvenue à toutes et à tous !

0
0 103
Question Cyril Grosjean · Oct 11, 2023

Bonjour,

 

J'ai un soucis depuis quelques jours que je n'arrive pas à régler après pas mal de recherche sur le forum communautaire français et anglais, ainsi que la documentation InterSystems. J'ai deux namespaces : "TEST" et "SUPPLY_CHAIN" ainsi qu'une fonction en python identique compilée dans les deux namespaces :

ClassMethod testPython() As %Status [ Language = python ]

{

    print("Ok")

}

Lorsque j'appelle depuis le terminal iris cette fonction comme ceci:

do ##class(TEST.maclasse).
7
0 180
Article Iryna Mykhailova · Oct 11, 2023 2m read

Nous poursuivons notre série d'articles basés sur l'application QuinielaML.

Dans cet article, je décrirai comment travailler avec la fonctionnalité Embedded Python disponible dans les produits InterSystems.

Embedded Python nous permet d'utiliser Python comme langage de programmation dans nos productions, en profitant de toutes les fonctionnalités qu'offre Python. Ici vous pouvez trouver plus d'informations à ce sujet.

0
0 68
Question Jean-Charles Cano · Oct 4, 2023

Bonjour,

Nous voulons créer une CD pour InterSystems. Nous avons créé un script IRIS qui permet de compiler automatiquement les fichiers .cls dans les bons namespaces et pour exécuter ce script, nous faisons la commande: iristerm /console=cn_ap:IRIS .\import.scr'

Cependant, cela va nous ouvrir un terminal IRIS dans une nouvelle fenêtre (GUI). Le problème, c'est que nous passons par un user SSH, en exécutant la commande : 

ssh user@hostname 'E: && iristerm /console=cn_ap:IRIS .\import.
5
0 182
InterSystems officiel Adeline Icard · Oct 10, 2023

Alertes Red Hat Insights désormais disponibles pour InterSystems IRIS

InterSystems et Red Hat travaillent ensemble pour ajouter des alertes spécifiques à IRIS à Red Hat Insights.

Red Hat Insights est un service permettant de prédire et de recommander des mesures correctives pour les risques système dans les environnements Red Hat Enterprise Linux. Insights est gratuit avec presque tous les abonnements RHEL, OpenShift ou Ansible. Vous pouvez savoir plus sur Insights sur le site de Red Hat.

0
0 76
Question Augustin MADET · Oct 10, 2023

Avec l'approche Python, je rencontre l'erreur suivante :

ERREUR <Ens>ErrCanNotAcquireJobRootLock: Impossible d'obtenir un verrouillage pour l'enregistrement de la globale


Ci-dessous le code implémenté :

import pandas as pd
from sqlalchemy import create_engine, types


class FileOperationEmbedded(BusinessOperation):
    tablename = None
    engine = None

    def on_init(self):
        if not hasattr(self, "dsnIris"):
            self.dnsIris = 'iris+emb:///'
        if not hasattr(self, "schema"):
            self.schema = 'Toto'

        self.engine = create_engine(self.
1
0 136
Article Iryna Mykhailova · Oct 9, 2023 5m read

En profitant de l'application Quiniela ML et comme nous l'avons dit dans l'article précédent, nous allons expliquer comment nous pouvons réaliser une authentification JWT entre notre frontend développé en Angular et notre backend développé en InterSystems IRIS.

Je vous rappelle l'architecture de notre projet QuinielaML :

Pour les applications web, le développement de l'administration et de la gestion de l'accès des utilisateurs est généralement un processus compliqué, mais dans notre cas, InterSystems IRIS le simplifie en nous fournissant toute l'infrastructure dont nous avons besoin.

0
0 192
Article Iryna Mykhailova · Oct 6, 2023 5m read

Bienvenue chers membres de la Communauté à la présentation et au premier article d'un petit projet qui présentera les capacités d'InterSystems IRIS à fournir une fonctionnalité de sauvegarde complète pour une application web développée en Angular. Dans cet article, nous nous contenterons de présenter le concept ainsi que les fonctionnalités d'InterSystems IRIS utilisées de manière générale, en allant plus en détail dans les articles suivants.

Bienvenue à QuinielaML !

2
0 207
Question Julia Pertin · Oct 6, 2023

Cette question est apparue à l'origine dans les commentaires du post : Parcours de noeuds XML

Je suis confronté à un nouveau soucis car mon noeud <Contenu> contient d'autres noeuds mais qui ne doivent être traité qu'après : 

<?xml version="1.0" encoding="UTF-8"?>
<data>
    <tablename>
        <Table>Erp.BRIEFS</Table>
        <Action>HAjoute</Action>
        <CleIris>IDBRIEFS</CleIris>
        <nIdentifiant>2</nIdentifiant>
        <IdIris>137</IdIris>
        <Contenu>!
2
1 125
Question Julia Pertin · Oct 5, 2023

Bonjour, 

Je récupère un fichier XML structuré de cette façon : 

<?xml version="1.0" encoding="UTF-8"?>
<data>
    <tablename>
        <Table>Erp.BRIEFS</Table>
        <Action>HAjoute</Action>
        <CleIris>IDBRIEFS</CleIris>
        <nIdentifiant>2</nIdentifiant>
        <IdIris>137</IdIris>
        <Contenu></Contenu>
    </tablename>
    <tablename>
        <Table>Erp.
5
1 94
InterSystems officiel Adeline Icard · Oct 5, 2023

InterSystems a décidé d'arrêter le développement de la technologie InterSystems IRIS Natural Language Processing, anciennement connue sous le nom d'iKnow, et de la qualifier de obsolète à partir de la version 2023.3 d'InterSystems IRIS. InterSystems continuera à soutenir les clients existants utilisant la technologie, mais ne recommande pas de démarrer de nouveaux projets de développement en dehors des cas d'utilisation principaux de l'exploration de texte pour lesquels il a été conçu à l'origine.

0
0 108
Article Lorenzo Scalese · Oct 4, 2023 8m read

Description du cas

Imaginons que vous soyez un développeur en Python ou que vous disposiez d'une équipe bien formée et spécialisée en Python, mais que le délai qui vous est imparti pour analyser certaines données dans IRIS soit serré. Bien sûr, InterSystems offre de nombreux outils pour toutes sortes d'analyses et de traitements. Cependant, dans le scénario donné, il est préférable de faire le travail en utilisant le bon vieux Pandas et de laisser IRIS pour une autre fois.

0
0 164
Job Adeline Icard · Oct 3, 2023

InterSystems France recherche une/un apprenti(e) Product Specialist (chef de produit junior) pour faire évoluer notre SIH #TrakCare (gestion médicale et administrative). 

La compétence et la disponibilité de ses équipes prévalent pour toujours viser l’excellence dans la créativité des solutions proposées.

Principales missions

Étude et planificatio

  • Roadmap : participation à la planification de l'édition internationale de TrakCare (Core) et de l’Edition française. Recueillir, synthétiser et classer par ordre de priorité les demandes réglementaires et des clients.
0
0 140
Article Sylvain Guilbaud · Oct 2, 2023 13m read

Pour le prochain Concours Python, j'aimerais faire une petite démo, sur la création d'une simple application REST en Python, qui utilisera IRIS comme base de données. Et utiliser les outils suivants

  • Le cadre FastAPI, très performant, facile à apprendre, rapide à coder, prêt pour la production.
  • SQLAlchemy est la boîte à outils SQL et le Mapping objet-relationnel de Python qui donne aux développeurs en Python toute la puissance et la flexibilité de SQL.
  • Alembic est un outil léger de migration de base de données à utiliser avec le SQLAlchemy Database Toolkit pour Python.
  • Uvicorn est une implémentation de serveur web ASGI pour Python.
0
0 138
Annonce Adeline Icard · Oct 1, 2023
Bonjour et bienvenue à la lettre d'information de la communauté des développeurs septembre 2023.
Statistiques générales
✓ Nouvelles publications 48 publiées le septembre :
 17 nouveaux articles
 17 nouvelles annonces
 8 nouvelles questions
 6 nouvelles discussions

✓ Nouveaux membres 8 ayant rejoint le septembre
✓ Publications 586 publiées depuis le début
✓ Membres 93 ayant rejoint depuis le début

0
0 59