Article
· Fév 1, 2023 3m de lecture
Addition de VSCode dans votre conteneur IRIS

Ajout de VSCode dans votre conteneur IRIS

L'une des façons les plus simples de mettre en place des environnements de développement reproductibles est de créer des conteneurs pour ces environnements. Je trouve que lors d'itérations rapides, il est très pratique d'héberger une instance de vscode dans mon conteneur de développement. Ainsi, j'ai créé un rapide script de conteneur pour ajouter un vscode basé sur un navigateur dans un conteneur IRIS. Cela devrait fonctionner pour la plupart des conteneurs 2021.1+. Mon référentiel de code est disponible ici

0 0
0 912

Les champs peuvent être obtenu à l'aide du schéma INFORMATION_SCHEMA.

INFORMATION_SCHEMA est un schéma système et n'apparaît pas dans le menu SQL du Management Portal par défaut.

La méthode d'affichage est la suivante.

  1. Ouvrez le Management Portal → System Explorer → SQL
  2. Cochez "System" sur le côté gauche du menu déroulant du schéma.
  3. Sélectionnez INFORMATION_SCHEMA dans le menu déroulant du schéma.

1 0
0 843

Iris-python-template

Projet modèle avec divers codes Python à utiliser pour InterSystems IRIS Community Edition avec conteneur.

Caractéristiques :

  • Notebooks
  • Noyau Python intégré
    • Noyau ObjectScript
    • Noyau Vanilla Python
  • Python intégré
  • Code exemplaire
    • Démonstration de Flask
  • API natives Python d'IRIS
  • Code exemplaire

Diagram

1 0
0 693

Introduction

Dans le premier article de cette série, nous examinerons le modèle entité-attribut-valeur (EAV) dans les bases de données relationnelles pour voir comment il est utilisé et à quoi il sert. Ensuite, nous comparerons les concepts du modèle EAV aux globales.

2 0
0 678

Une question a été posée dans la communauté des développeurs d'InterSystems concernant la possibilité de créer une interface TWAIN pour une application Caché. Il y a eu plusieurs suggestions intéressantes sur la façon d'obtenir des données d'un périphérique d'acquisition d'images sur un client Web vers un serveur, puis de stocker ces données dans une base de données

Toutefois, pour mettre en œuvre l'une de ces suggestions, vous devez être en mesure de transférer des données d'un client Web vers un serveur de base de données et de stocker les données reçues dans une propriété de classe (ou une cellule de tableau, comme c'était le cas dans la question). Cette technique peut être utile non seulement pour transférer des données d'images provenant d'un périphérique TWAIN, mais aussi pour d'autres tâches telles que l'organisation d'une archive de fichiers, d'un partage d'images, etc.

Ainsi, l'objectif principal de cet article est de montrer comment écrire un service RESTful pour obtenir des données du corps d'une commande HTTP POST, soit à l'état brut, soit enveloppées dans une structure JSON.

1 0
1 605

Salut la communauté,


Dans mon article précédent, nous avons appris les sujets répertoriés ci-dessous :

  1. Qu’est-ce que Docker ?
  2. Certains des avantages de Docker
  3. Comment fonctionne Docker ?
  4. Image Docker
  5. Conteneur Docker
  6. Dépôt d'images Docker
  7. Dépôt d'images Docker d'InterSystems
  8. Installation de Docker
  9. Commandes de base de Docker
  10. Exécution de l'édition communautaire IRIS à l'aide de Docker
  11. Interface graphique du bureau Docker

Dans cet article, nous aborderons les sujets suivants

  1. Utilisation du fichier Docker Compose (un fichier YAML)
  2. Utilisation du fichier Docker (utilisé pour créer une image Docker)
  3. Utilisation du volume Docker

Alors commençons.

0 0
0 553

Pour parler des différentes bases de données et des différents modèles de données qui existent, on doit premièrement comprendre ce qui est une base de données et comment les utiliser.

Une base de données est une collection organisée de données stockées et accessibles par voie électronique. Elle permet de stocker et de retrouver des données structurées, semi-structurées ou des données brutes souvent en rapport avec un thème ou une activité.

Au cœur de chaque base de données se trouve au moins un modèle utilisé pour décrire ses données. Et selon le modèle sur lequel elle est basée, elle peut avoir des caractéristiques un peu différentes et stocker différents types de données.

Pour inscrire, retrouver, modifier, trier, transformer ou imprimer les informations de la base de données on utilise un logiciel qui s’appelle système de gestion de base de données (SGBD, en anglais DBMS pour Database management system).

La taille, les capacités et les performances des bases de données et de leurs SGBD respectifs ont augmenté de plusieurs ordres de grandeur. Ces augmentations de performances ont été rendues possibles par les progrès technologiques dans différents domaines, tels que les domaines des processeurs, de la mémoire informatique, du stockage informatique et des réseaux informatiques. Le développement ultérieur de la technologie des bases de données peut être divisé en quatre générations basées sur le modèle ou la structure des données : navigation, relationnel, objet et post-relationnel.

8 4
0 455

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.

2 0
1 441

Aujourd'hui, la plupart des applications sont déployées sur des services de cloud public. Cela présente de nombreux avantages, notamment des économies de ressources humaines et matérielles, la possibilité de se développer rapidement et à moindre coût, une plus grande disponibilité, une plus grande fiabilité, une évolutivité élastique et des options permettant d'améliorer la protection des actifs numériques. L'une des options les plus populaires est AWS.

3 0
0 415
Article
· Nov 23, 2022 4m de lecture
Qu'est-ce que HL7v2 ?

HL7 (Health Level 7) est un ensemble de spécifications techniques pour les échanges informatisés de données cliniques, financières et administratives entre systèmes d'information hospitaliers (SIH). Ces spécifications sont diversement intégrées au corpus des normes formelles américaines (ANSI) et internationales (ISO).

1 0
0 410
Article
· Nov 30, 2022 4m de lecture
Contenu du message HL7 ACK et un example

Dans l'article précédent, nous avons vu le contenu du message ORM et du message de réponse ORU. Examinons maintenant de plus près le message ACK.

Chaque fois qu'une application réceptrice accepte un message et consomme les données du message, elle est censée renvoyer un message ACKnowledgement (ACK) à l'application émettrice. L'application émettrice est censée continuer à envoyer un message jusqu'à ce qu'elle ait reçu un message ACK. C'est une partie importante de la norme HL7, le protocole de la confirmation de réception.

2 0
0 390

1. IRIS RAG Demo

IRIS RAG Demo

Ceci est une simple démo de l'IRIS avec un exemple de RAG (Retrieval Augmented Generation).
Le backend est écrit en Python en utilisant IRIS et IoP, le modèle LLM est orca-mini et est servi par le serveur ollama.
Le frontend est un chatbot écrit avec Streamlit.

6 2
1 364
Article
· Juin 13, 2022 19m de lecture
Quatre API pour les bases de données

Une session concurrente dans IRIS : SQL, Objects, REST, et GraphQL

Kazimir Malevitch, "Athlètes" (1932)

"Mais bien sûr, vous ne comprenez pas ! Comment celui qui a toujours voyagé en calèche peut-il comprendre les sentiments et les impressions du voyageur en express ou du pilote dans les airs ?"

Kazimir Malevich (1916)

Introduction

Nous avons déjà abordé le sujet des raisons pour lesquelles la représentation objet/type est préférable à SQL pour la mise en œuvre des modèles de domaine. Et ces conclusions et ces faits sont aussi vrais aujourd'hui qu'ils l'ont toujours été. Alors pourquoi devrions-nous faire un pas en arrière et discuter des technologies qui ramènent les abstractions au niveau global, où elles se trouvaient à l'ère pré-objet et pré-type ? Et pourquoi devrions-nous encourager l'utilisation d'un code spaghetti, qui donne lieu à des bogues difficiles à repérer et qui ne repose que sur les compétences virtuoses des développeurs ?

Plusieurs arguments sont favorables à la transmission de données via des API basées sur SQL/REST/GraphQL plutôt qu'à leur représentation sous forme de types/objects:

0 0
0 361

Bonjour, chers développeurs !

Dans cette série, je ne vous montrerai pas comment utiliser IRIS for Health, mais plutôt comment utiliser SUSHI, un outil de création de profils FHIR, en tant que technologie associée.

Quand on a les outils adéquats, les informations du profil (spécifications, limitations, extensions, etc.) d'un projet FHIR peuvent être bien organisées et publiées.

Avant de commencer, qu'est-ce que le SUSHI ? Je vais l'expliquer brièvement.

0 0
0 338

L'interopérabilité des soins de santé permet d'améliorer les soins aux patients, de réduire les coûts des prestataires de soins et de fournir une image plus précise aux prestataires. Cependant, avec un si grand nombre de systèmes différents, les données sont formatées de nombreuses manières différentes. De nombreuses normes ont été créées pour tenter de résoudre ce problème, notamment HL7v2, HL7v3 et CDA, mais toutes présentent des inconvénients.

1 0
0 331
Article
· Mai 29, 2023 10m de lecture
Embedded Python et Pandas - Partie 1

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.

1 0
0 321
Article
· Sept 6, 2022 8m de lecture
Présentation des webservices REST JSON

Bonjour la communauté !

Cet article vise à donner un aperçu des webservices REST JSON développés pour TrakCare.

Ces webservices ont été développés dans le but de permettre aux utilisateurs d’accéder aux données de TrakCare depuis l’extérieur, notamment via des applications externes.

Ils sont développés en REST avec ObjectScript, et permettent d’accéder aux données via quatre modes :

3 0
0 306

Aujourd'hui, la grande majorité des applications sont déployées sur des services de cloud public. Les avantages sont multiples : réduction des ressources humaines et matérielles nécessaires, possibilité d'évoluer rapidement et à moindre coût, plus grande disponibilité, fiabilité, évolutivité élastique et options permettant d'améliorer la protection des actifs numériques. L'une des options les plus prisées est le Google Cloud. Il nous permet de déployer nos applications à l'aide de machines virtuelles (Compute Engine), de conteneurs Docker (Cloud Run) ou de Kubernetes (Kubernetes Engine).

3 0
0 303

Salut les devs,

Aujourd’hui j’aimerais aborder un sujet qui m’a fait passer des moments difficiles (j’en suis convaincu, celà a déjà dû être le cas d’un bon nombre d’entre-vous) “le bottleneck”. C’est un sujet très vaste, cet article se concentrera sur l’identification des requêtes HTTP entrantes qui pourraient être à l’origine de problèmes de lenteur. Je vous mettrai aussi à disposition un petit outil que j’ai développé pouvant aider à leur identification.

Nos logiciels deviennent de plus en plus complexes, traitent un grand nombre de requêtes provenant de différentes sources, il peut s’agir d'applications front-end ou de tiers applications back-end. Pour garantir des performances optimales, il est essentiel de disposer d'un système de log capable de prendre quelques mesures clés telles que le temps de réponse, le nombre de global référence et le nombre de lignes de code exécutées pour chaque réponse HTTP. Dans le cadre de mon travail, je suis impliqué dans le développement d’un logiciel dossier patient informatisé ainsi que sur l’analyse des incidents. La charge utilisateur provient essentiellement de requêtes HTTP (API REST ou application CSP), la nécessité de disposer de ce type de mesure lorsque des problèmes de lenteur généralisée se produisent est devenu une évidence.

1 0
0 296

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é.

0 1
0 294

Cet article décrit et contient un exemple de la manière d'intégrer un fichier PDF externe dans un segment HL7, plus précisément dans ADT_A01:2.3.1 OBX(). Cela peut être utile lorsqu'on tente de mettre des images ou d'autres données externes dans un message HL7. Dans cet exemple, le nom du fichier PDF à intégrer est fourni dans le message HL7 entrant dans le champ OBX(1):ObservationValue.


Les stipulations de base de cet exemple sont les suivantes :

0 0
0 293

Un système de stockage global d'aspect plus industriel

Dans le premier article de cette série, nous avons étudié le modèle entité-attribut-valeur (EAV) dans les bases de données relationnelles, et nous avons examiné les avantages et les inconvénients du stockage de ces entités, attributs et valeurs dans des tables. Nous avons appris que, malgré les avantages de cette approche en termes de flexibilité, elle présente de réels inconvénients, notamment une inadéquation fondamentale entre la structure logique des données et leur stockage physique, qui entraîne diverses difficultés.

Pour résoudre ces problèmes, nous avons décidé de voir si l'utilisation de globales - qui sont optimisées pour le stockage d'informations hiérarchiques - serait efficace pour les tâches que l'approche EAV traite habituellement.

Dans la Partie 1, nous avons créé un catalogue pour une boutique en ligne, d'abord en utilisant des tables, puis en utilisant une seule globale. Maintenant, essayons d'implémenter la même structure pour quelques globales.

Dans la première globale, ^catalog, nous allons stocker la structure du répertoire. Dans la deuxième globale, ^good, nous allons stocker les marchandises. Et dans la globale ^index, nous allons stocker les index. Puisque nos propriétés sont liées à un catalogue hiérarchique, nous ne créerons pas de globale séparée pour elles.

Avec cette approche, pour chaque entité (à l'exception des propriétés), nous avons une globale séparée, ce qui est bon du point de vue de la logique. Voici la structure du catalogue global :

2 0
0 292

Il y a souvent des questions concernant la configuration idéale du Serveur Web HTTPD Apache pour HealthShare. Le contenu de cet article décrit la configuration initiale recommandée du serveur Web pour tout produit HealthShare.

APour commencer, la version 2.4.x (64 bits) d'Apache HTTPD est recommandée. Des versions antérieures comme 2.2.x sont disponibles, mais la version 2.2 n'est pas recommandée pour les performances et l'évolutivité de HealthShare.

3 0
0 270