#InterSystems IRIS for Health

0 Abonnés · 405 Publications

InterSystems IRIS for Health™ est la première et la seule plateforme de données au monde conçue spécifiquement pour le développement rapide d'applications de santé afin de gérer les données les plus critiques du monde. Elle comprend de puissantes fonctionnalités prêtes à l'emploi : traitement et analyse des transactions, modèle de données de santé extensible, développement de solutions basé sur FHIR, prise en charge des normes d'interopérabilité de santé, etc. Toutes ces fonctionnalités permettent aux développeurs de créer rapidement de la valeur et des applications révolutionnaires. En savoir plus.

Article Pierre LaFay · Jan 20, 2024 8m read

Dans cet article, je passe en revue la classe %JSON.Adaptor.

Cette classe est extrêmement utile pour exporter des données en JSON sérialisé, importer les objets JSON et les enregistrer dans un objet de classe.

Je vais commencer par les paramètres de l'addaptor %JSON. Les paramètres constituent un élément crucial des opérations d’importation et d’exportation JSON.

0
0 104
Question Cyril Grosjean · Déc 27, 2023

Bonjour,

Je cherche à pouvoir accéder à mes données contenus dans une RecordMap depuis SQLAlchemy, et même à toute table déjà créée auparavant.

Voici une partie de code :

TestBase:

classTestBase(DeclarativeBase):
    CreatedAt: Mapped[int] = mapped_column(TIMESTAMP, default=func.now())
    UpdatedAt: Mapped[int] = mapped_column(TIMESTAMP, default=func.now(), onupdate=func.current_timestamp())

 

Création de l'engine et binding des entités:

3
0 110
Article Pierre LaFay · Jan 13, 2024 3m read

InterSystems FAQ rubric

Les définitions de classe créées par les utilisateurs sont stockées dans des classes de définition de classe. Ils peuvent être utilisés pour obtenir une liste de définitions de classe à partir d'un programme.

Remarque : Les classes de définition de classe font référence à toutes les classes contenues dans le package %Dictionary.

Dans l'exemple de code ci-dessous, une liste de définitions de classe est obtenue à l'aide de la commande query Summary de la  classe %Dictionary.ClassDefinitionQuery.

0
0 76
Question Pierre LaFay · Déc 29, 2023

Bonjour,

Notre application doit créer des utilisateurs du système à partir d'un formulaire de demande.

Pour utiliser les classes Security, il est nécessaire de disposer des droits permettant d'utiliser le namespace %SYS, ce qui n'est pas le cas des utilisateurs qui valident les demandes.

Il n'est pas souhaitable que ces utilisateurs aient ce rôle de manière permanente, j'ai donc procédé de la manière suivante :

J'ai créé une classe façade pour les classes Security.Users, Security.Roles, Security.Resources qui me permet de me loguer avec un utilisateur autorisé sur le NS %SYS

2
0 115
Article Pierre LaFay · Jan 12, 2024 1m read

Au hasard d'un post sur le terminal Iris j'ai découvert une syntaxe que je souhaite partager avec la communauté :

Dans le shel de la session Iris il est possible d'exécuter une commande "OS" (shell pour linux & mac, CMD pour windows ) en précédant la commande par !.

Par exemple :

USER> ! ls /tmp -lh

Toutes les commandes fonctionnent parfaitement même encapsulées dans un sudo. ci dessous queqlues exemples :

Bien sur si vous êtes sur un serveur distant, les commandes shell s'exécutent sur ce dernier et non en local

2
0 97
Question Jean-Charles Cano · Jan 5, 2024

Bonjour,

Je fais face à un problème depuis plusieurs mois, j'ai plusieurs flux qui fonctionnent en SFTP avec la classe d'iris EnsLib.FTP.PassthroughService

Le problème est que de temps en temps, j'ai un message d'erreur qui dit : 

"Aucune connexion n’a pu être établie car l’ordinateur cible l’a expressément refusée" 

J'ai eu le cas pour un serveur chez nous et nous avons solutionné le problème en rallongeant le paramètre intervalle entre appels à 60 secondes,

7
0 221
Article Pierre LaFay · Jan 9, 2024 3m read

Bonjour la communauté,

Lors de l'utilisation d'un Business Service de type SQL, il peut arriver que nous ayons besoin de rejouer certaines lignes de la table source.

Prenons comme exemple le Service Métier "from customer SQL" utilisant la classe générique

EnsLib.SQL.Service.GenericService

Différents cas se présentent, selon les paramètres utilisés sur ce Business Service

Premier cas :

Si le Business Service utilise uniquement KeyFieldName

0
0 44
Question Sylvain Guilbaud · Août 23, 2023

Est-il prévu que LOAD DATA prenne en compte plusieurs formats de DATE/DATETIME avec, par exemple un paramètre de indiquant le format utilisé dans les données sources ?

exemple :

LOAD DATA .../...
USING
{
  "from": {
    "file": {
       "dateformat": "DD/MM/YYYY"
    }
  }
}
3
0 93
Article Sylvain Guilbaud · Jan 8, 2024 3m read

Bonjour La Communauté,

en utilisant un Business Service de type SQL, il peut arriver que nous ayons besoin de rejouer certaines lignes de la table source.

Prenons comme exemple le Business Service "from customer SQL"  utilisant la classe générique EnsLib.SQL.Service.GenericService

Différents cas se présentent, en fonction des paramétres utilisés sur ce Business Service.

Premier cas :

Si le Business Service utilise uniquement un champ clé (KeyFieldName)

0
0 58
Article Pierre LaFay · Jan 7, 2024 14m read

Vous ne le réalisez peut-être pas, mais votre compte de connexion InterSystems peut être utilisé pour accéder à un très large éventail de services InterSystems pour vous aider à apprendre et à utiliser InterSystems IRIS et d'autres technologies InterSystems plus efficacement. Continuez à lire pour en savoir plus sur la façon de débloquer de nouvelles connaissances et outils techniques à l’aide de votre compte de connexion InterSystems. Aussi - après avoir lu, veuillez participer au sondage en bas, afin que nous puissions voir en quoi cet article vous a été utile ! (Ndt : accéder à la

0
0 37
Article Pierre LaFay · Jan 7, 2024 3m read
Scenario

IRIS propose des adaptateurs entrants SQL à utiliser avec des passerelles SQL telles que EnsLib.SQL.InboundAdapter pour interroger à plusieurs reprises les connexions SQL Gateway. Un scénario est apparu dans lequel nous voulions interroger une base de données interne pour certaines données, mais nous n'avons pas vu de service prêt à l'emploi pour cela.

Approche souhaitée

Disposer d'un service générique capable d'interroger le SQL interne pour fonctionner avec les composants en aval.

Comment
0
0 34
Article Pierre LaFay · Jan 7, 2024 2m read

InterSystems FAQ rubric

Pour résoudre l'erreur <PROTECT>, supprimez l'attribut en lecture seule de la base de données de bibliothèque à l'échelle du système (IRISLIB pour InterSystems IRIS, CACHELIB pour Caché/Ensemble/HealthShare (basé sur Caché)).

Une fois que vous avez terminé d'importer la routine, n'oubliez pas de la remettre en lecture seule.

[Version 2013.1 and above]
[Management Portal] > [System Administration] > [Configuration] > [System Configuration] > [Local Database] Uncheck "Mount read-only" from the database name link.

0
0 80
Article Pierre LaFay · Jan 7, 2024 3m read

Dans le monde du Big Data, la sélection du bon format de fichier est cruciale pour un stockage, un traitement et une analyse efficaces des données. Avec la quantité massive de données générées chaque jour, le choix du format approprié peut avoir un impact considérable sur la vitesse, le coût et la précision des tâches de traitement des données. Il existe plusieurs formats de fichiers disponibles, chacun avec son propre ensemble d'avantages et d'inconvénients, ce qui rend complexe le choix de celui à utiliser. Certains des formats de fichiers Big Data populaires incluent CSV, JSON, Avro, ORC et

0
0 118
Article Pierre LaFay · Jan 7, 2024 1m read

InterSystems FAQ rubric

Il n'est pas nécessaire de recompiler les routines après la mise à niveau de la version, mais comme la mise à jour de la version écrase %SYS, les routines au format INT et OBJ créées par l'utilisateur (*.INT,*.OBJ) dans %SYS seront supprimées. Par conséquent, vous devez être prudent.

Les routines MAC, INT et OBJ portant les noms suivants ne sont pas supprimées.

%Z*.INT, %z*.INT, Z*.INT,z*.INT
%Z*.OBJ, %z*.OBJ, Z*.OBJ,z*.OBJ

Veuillez noter que les classes/CSP doivent être compilées après la mise à niveau.

0
0 41
Article Pierre LaFay · Jan 6, 2024 2m read

InterSystems FAQ rubric

Si une relation est définie et qu'il existe un grand nombre de n dans un rapport 1:n, une grande quantité de mémoire peut être consommée en raison du traitement séquentiel de la relation.

Après avoir référencé un objet à plusieurs côtés dans un programme et l'avoir fait pivoter en interne, le simple fait de libérer la variable contenant l'OREF (en la supprimant, en définissant une autre valeur, etc.) ne libérera pas les objets liés ni l'objet de relation. 

0
0 57
Article Pierre LaFay · Jan 3, 2024 8m read

Expérience et retour d'expérience du cours en ligne "Hands-On with InterSystems API Manager for Developers

Avec mes connaissances de base du conteneur Docker et de l'API REST, j'aimerais faire mon premier essai d'utilisation du gestionnaire d'API InterSystems pour prendre le contrôle des API et des microservices. J'ai suivi ce cours en ligne en utilisant mon instance IRIS locale comme hôte (système d'exploitation Windows) et IAM exécuté sur une machine virtuelle Linux (invité).

0
0 93
Article Pierre LaFay · Déc 31, 2023 1m read

InterSystems FAQ rubric

Si plusieurs produits InterSystems sont installés sur le même système, la dernière version du pilote ODBC InterSystems parmi les produits installés restera enregistrée dans le gestionnaire de pilotes.

Vous pouvez passer à n'importe quel pilote en modifiant l'entrée de la registry ci-dessous.

Veuillez noter que l'exécution de RegFiles.bat ne modifie pas le pilote ODBC.

L'entrée de la registry est la suivante.

HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\InterSystems ODBC35 key Driver
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\InterSystems ODBC35 key Setup
0
0 64
Article Pierre LaFay · Déc 30, 2023 1m read

Salut !

Récemment, j'ai eu besoin de configurer un serveur FHIR local à l'aide d'IRIS For Health et je pense avoir trouvé le moyen le plus simple et le plus simple qui soit.

Exécutez simplement dans le terminal ces deux lignes ci-dessous :

docker run --rm --name my-iris -d --publish 9091:1972 --publish 9092:52773 intersystemsdc/irishealth-community

et

docker exec -it my-iris iris session iris -U "USER" '##class(%ZPM.PackageManager).Shell("install fhir-server")'

Et vous aurez un serveur FHIR exécuté localement sur http://localhost:9092/fhir/r4.

AUssi simple que ça !

Le serveur FHIR utilisera la dernière version d'InterSystems IRIS for Health Community Edition et déploiera FHIR server from this app via le package IPM dans l'espace de noms FHIRSERVER.

Ceci est pour Mac, alors veuillez ajouter des commentaires sur la façon dont cela fonctionne sous Windows.

Il s'agit d'un article très court car il est très simple de configurer un serveur FHIR local avec InterSystems IRIS for Health et IPM Package Manager.

0
0 113
Annonce Irène Mykhailova · Déc 25, 2023

Salut les développeurs,

Nous avons des nouvelles passionnantes ! Le nouveau concours de programmation en ligne InterSystems dédié à tout ce qui touche à la santé débutera très prochainement !

🏆 Concours InterSystems FHIR et interopérabilité de la santé numérique 🏆

Durée : 15 janvier - 4 février 2024

Prix : 14 000 $

 

0
0 78
Question Cyril Grosjean · Déc 12, 2023

Bonjour,

Nous avons voulu mettre en pré-production un flux 100% python, cependant lorsqu'on a lancé la commande iop pour tester avec l'utilisateur qui va déployer via une CI/CD le code, voici ce qu'on obtient:

ssh.gitlab est notre utilisateur, nous sommes sur un serveur Windows 10 et ssh.gitlab est admin.

Y a-t-il des modifications à faire sur le portail d'IRIS ? (Un utilisateur est créé pour la CI/CD suite à ce post)

Merci d'avance !

Cordialement,

Cyril

2
0 69
Question Cyril Grosjean · Déc 12, 2023

Cette question est apparue à l'origine dans les commentaires du post : Problème avec le FTP OutboundAdapter sur IRIS PEX
 

Parfait ça marche je te remercie, est-ce que c'est normal de devoir écrire chunk par chunk pour le stream ? J'avais essayé mais avec un StreamContainer et en écrivant normalement, donc pas par chunk ça ne me marchait pas.

1
0 83
Question Cyril Grosjean · Déc 11, 2023

Bonjour,

En souhaitant créer une production qui récupère un fichier provenant d'une API et qui envoie ce fichier sur un serveur SFTP, j'ai rencontré un problème avec la librairie de Guillaume Rongier.

Je reçois des bytes depuis une opération jusque là aucun problème, j'ai lié un SFTP à mon opération, les credentials sont les bons, l'adresse ip, le port, le dossier dans lequel déposer le fichier également. Cependant j'ai cette erreur:

ERROR <Ens>ErrException: <METHOD DOES NOT EXIST>PutStream+11^EnsLib.FTP.OutboundAdapter.1 *Rewind,%SYS.Python -- logged as '-'
number - @''

Voici mon code:

1
0 83
InterSystems officiel Sylvain Guilbaud · Déc 5, 2023

Nous sommes ravis d'annoncer une nouvelle partie de la documentation InterSystems qui facilite la mise à niveau de la plateforme de données InterSystems IRIS®, InterSystems IRIS® for Health™ ou HealthShare® Health Connect. La liste de contrôle de l'impact de la mise à niveau sur https://docs.intersystems.com/upgrade vous montre tous les éléments que vous devez prendre en compte – et uniquement les éléments que vous devez prendre en compte – lors d'une mise à niveau entre deux versions. Cela reprend tout le contenu de notre « Historique d'incompatibilité » et ajoute des filtres pratiques, des

0
0 67
Question Cyril Grosjean · Déc 4, 2023

Bonjour,

Je suis toujours en train de préparer le terrain pour inclure la librairie de Guillaume Rongier pour utiliser InterSystems entièrement via Python. Cependant notre environnement local tourne sur Docker avec l'OS linux, jusque là nous n'avons aucun problème avec la librairie. Le problème arrive lorsque l'on passe sur la pré-production où iris est installé directement sur Windows. J'installe les librairies requises avec le package pip et un fichier requirements.txt contenant ceci:
 

5
0 99
Question Jean-Charles Cano · Nov 23, 2023

Bonjour,

Je souhaite accéder à la Web Gateway. N'ayant pas fait l'installation d'Iris sur la machine je ne connais pas le compte autorisé à y accéder.

J'ai donc ajouté les propriétés username et password dans le fichier CSP.ini dans la section [SYSTEM] comme indiqué dans cette doc : 

https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cl…

Puis j'ai relancé le server web à l'aide de la commande : do ##class(Config.Startup).RestartWebServer()

Je me suis ensuite rendu sur la page 

http://localhost:52773/csp/bin/Systems/Module.cxw
2
0 132