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 257
Article
· Août 31, 2022 6m de lecture
Découvrir Django, partie 3

Nous continuons à observer les possibilités de Django, et son utilisation avec IRIS. Dans la première partie nous avons regardé comment définir des modèles et se connecter à des tableaux déjà existants dans IRIS, dans la suite nous avons étendu le portail d'administration intégré de Django, avec la possibilité de voir quelles données nous avons dans ces modèles, avec des filtres, l'édition et même la pagination.

Il est temps de passer à l'action, nous allons maintenant créer une API REST, sur Django, basée sur les mêmes données, que nous avons utilisées auparavant à partir du paquet posts-and-tags.

Pour ce faire, nous utiliserons Django REST Framework

Django REST Framework

Le cadre REST de Django est une boîte à outils puissante et flexible permettant de créer des API Web.

Quelques raisons pour lesquelles vous pourriez vouloir utiliser le cadre REST :

  • L'API navigable sur le Web est un avantage considérable pour vos développeurs.
  • Politiques d'authentification comprenant des paquets pour OAuth1a et OAuth2.
  • Sérialisation qui prend en charge les sources de données ORM et non ORM.
  • Personnalisable jusqu'en bas - utilisez simplement des visualisations régulières basées sur des fonctions si vous n'avez pas besoin des fonctionnalités les plus puissantes.
  • Une documentation complète et un support communautaire important.
  • Utilisé par des entreprises de renommée internationale, telles que Mozilla, Red Hat, Heroku et Eventbrite, qui lui font confiance.

0 0
0 46

Bonjour aux développeurs !

Il est possible que vous ayez à mettre en œuvre des scénarios qui ne nécessitent pas de référentiel FHIR, mais qui transmettent des demandes FHIR, gèrent les réponses et, éventuellement, exécutent des transformations ou extraient certaines valeurs entre les deux. Je vous propose ici quelques exemples qui peuvent être mis en œuvre en utilisant les systèmes InterSystems IRIS For Health et HealthShare Health Connect.

0 0
0 29

Bonjour à tous, c'est avec grand plaisir que je vous annonce la V2 de mon application 'Contest-FHIR'.

Dans cette nouvelle version, j'ai utilisé de nouveaux outils et techniques que j'ai découverts lors de l'EUROPEAN HEALTHCARE HACKATHON auquel j'ai été invité par InterSystems en tant qu'invité et mentor pour présenter les multiples projets que j'ai réalisés lors de mon stage en avril 2022.

Aujourd'hui je vous présente la V2 de mon application, elle peut maintenant transformer un fichier CSV en FHIR en SQL en JUPYTER notebook.

1 0
0 31

Voulez-vous être sûr que vos transformations de données fonctionnent comme prévu avec une seule commande ? Et que diriez-vous d'écrire des tests unitaires pour vos transformations de données de manière simple et rapide ?

Les transformations de données sont généralement très présentes lorsqu'on parle d'interopérabilité. Ces transformations de données sont utilisées pour convertir les données entre différents systèmes ou applications dans votre code, et elles ont donc un rôle très important à jouer.

0 0
0 49

Introduction

Dans un article précédent, j'ai abordé les modèles d'exécution des tests unitaires via le gestionnaire de paquets ObjectScript. Cet article va un peu plus loin, en utilisant les actions GitHub pour piloter l'exécution des tests et la création de rapports. Le cas d'utilisation qui nous motive est l'exécution du CI pour l'un de mes projets Open Exchange, AppS.REST (voir l'article d'introduction à ce projet ici). Vous pouvez voir l'implémentation complète dont les extraits de cet article ont été tirés sur GitHub ; elle pourrait facilement servir de modèle pour l'exécution de l'IC pour d'autres projets utilisant le gestionnaire de paquets ObjectScript.

Les fonctionnalités dont la mise en œuvre a été démontrée comprennent :

  • Compilation et test d'un paquet ObjectScript
  • Rapport sur la mesure de la couverture des tests (en utilisant le paquet TestCoverage) via codecov.io
  • Téléchargement d'un rapport sur les résultats des tests en tant qu'artefact de comppilation.
3 0
0 58

Cet article est le deuxième d'une série expliquant comment créer un système d'apprentissage automatique de bout en bout.

Exploration des données

L'Intersystème IRIS dispose déjà de ce dont nous avons besoin pour explorer les données : un moteur SQL ! Pour les personnes qui ont l'habitude
d'explorer des données dans des fichiers
csv ou des fichiers texte, cela pourrait aider à accélérer cette étape. Fondamentalement, nous explorons toutes les données pour comprendre l'intersection
(jointures), ce qui devrait permettre de créer un jeu de données préparé pour être utilisé par un algorithme d'apprentissage automatique.

Tableau d'articles ( Fourni par l'équipe Intersystems )

image

Tableaude balises ( Fourni par l'équipe Intersystems )
0 0
0 27

Titre: Microsoft présente PHI-1, un modèle de génération de code plus léger et plus performant que GPT-3.5, attribuant cette performance à la puissance des données de haute qualité

Résumé: Microsoft a récemment dévoilé PHI-1, un modèle de génération de code révolutionnaire qui surpasse les performances de GPT-3.5 tout en étant plus léger. La clé de cette performance réside dans l'utilisation de données de haute qualité, qui alimentent l'algorithme avec des informations précieuses et pertinentes. Microsoft affirme que PHI-1 représente une avancée significative dans le domaine de l'intelligence artificielle, offrant des résultats impressionnants en termes de génération de code. Cette nouvelle percée promet de faciliter le développement logiciel et d'améliorer l'efficacité des tâches de programmation.

2 0
0 50

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 0
0 158

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
0 37

Après presque quatre ans de pause, ma série CI/CD est de retour ! Au fil des ans, j'ai travaillé avec plusieurs clients d'InterSystems, développant des pipelines CI/CD pour différents cas d'utilisation. J'espère que les informations présentées dans cet article seront utiles à quelqu'un.

Cette série d'articles aborde plusieurs approches possibles du développement logiciel avec les technologies InterSystems et GitLab.

Nous avons une gamme passionnante de sujets à couvrir: aujourd'hui, parlons de choses au - delà du code, à savoir les configurations et les données.

0 0
0 34
Article
· Mars 27 8m de lecture
VIP dans Azure

Si vous exécutez IRIS dans une configuration miroir pour HA dans Azure, la question de la fourniture de Mirror VIP (adresse IP virtuelle) devient pertinente. L'adresse IP virtuel permet aux systèmes en aval d'interagir avec IRIS en utilisant une seule adresse IP. Même en cas de basculement, les systèmes en aval peuvent se reconnecter à la même adresse IP et continuer à fonctionner.

Le principal problème, lors du déploiement sur Azure, est qu'un VIP IRIS doit être essentiellement un administrateur de réseau, conformément aux docs.

Pour obtenir l'HA, les membres du miroir IRIS doivent être déployés dans différentes zones de disponibilité d'un sous-réseau (ce qui est possible dans Azure car les sous-réseaux peuvent s'étendre sur plusieurs zones). L'une des solutions pourrait être les équilibreurs de charge, mais ils coûtent bien sûr plus cher et nécessitent d'être administrés.

Dans cet article, j'aimerais fournir un moyen de configurer un VIP miroir sans utiliser les équilibreurs de charge suggérés dans la plupart des autres architectures de référence Azure.

2 0
0 23

Certaines de nos applications fournissent des services SOAP qui utilisent des requêtes SQL basées sur « DSTIME » qui renvoient les enregistrements récemment ajoutés ou modifiés. Comme les enregistrements ne changent pas souvent, ces requêtes renvoient généralement un petit nombre d’enregistrements et prennent donc peu de temps.

1 0
0 23
Article
· Jan 13 6m de lecture
Récupérer un miroir après un crash

Nous revoilà avec un article lié au Mirroring !

Dans l'article précédent, nous avons vu comment configurer un Miroir entre deux instances IRIS, l'une agissant comme un nœud actif et l'autre comme un nœud passif. Ce système de mise en miroir fonctionne sur le transfert d'un fichier journal qui maintient à jour en permanence l'instance qui fonctionne comme un nœud passif, mais que se passe-t-il si, en raison d'un échec de communication ou d'autorisations du fichier journal, celui-ci n'est pas transféré correctement ?

1 0
0 18

InterSystems FAQ rubric

Sous Linux, utilisez la commande iris pour exécuter une routine ou une méthode à partir d'un shell et obtenir la valeur de retour.

Pour plus d'informations, veuillez consulter le document "About Instance Connections".

Voici un exemple de commande.

0 0
0 57

Préparez une application d'échantillon (Sample)


1. Pour ce tutoriel, nous utiliserons le modèle iris-rest-api-template: https://openexchange.intersystems.com/package/iris-rest-api-template, en ajoutant du code pour installer un support de JIRISReport. Procédez comme suit :
2. Clonez le projet dans un dossier local :

2 0
0 28

Dans les versions récentes d'IRIS, une nouvelle commande puissante de chargement de données a été introduite dans SQL : LOAD DATA. Cette fonctionnalité a été hautement optimisée pour importer des données dans IRIS de manière extrêmement rapide, permettant d'insérer des centaines de gigaoctets de données en quelques secondes au lieu d'heures ou de jours.

1 0
0 13

Les globales, ces épées magiques destinées à stocker des données, existent depuis un certain temps, mais peu de gens savent les utiliser efficacement ou connaissent cette super-arme.

Si vous utilisez les globales pour des tâches où ils sont vraiment utiles, les résultats peuvent être étonnants, que ce soit en termes d'amélioration des performances ou de simplification spectaculaire de la solution globale (1, 2).

3 0
0 84

Vous avez probablement entendu parler des bases de données NoSQL. Il existe plusieurs définitions, mais pour simplifier, ce terme est couramment utilisé pour désigner les bases de données qui n'utilisent littéralement pas le langage SQL, c'est-à-dire les bases de données autres que les bases de données relationnelles (RDB).

0 0
0 112

La recherche d'images comme celle de Google est une fonctionnalité intéressante qui m'émerveille - comme presque tout ce qui est lié au traitement des images.

Il y a quelques mois, InterSystems a publié un aperçu de Python Embedded. Comme Python dispose de nombreuses librairies pour le traitement d'images, j'ai décidé de lancer ma propre tentative pour jouer avec une sorte de recherche d'images - une version beaucoup plus modeste en fait :-)



1 0
0 64
Article
· Juil 5, 2022 10m de lecture
Angular en Profondeur. Conseils généraux

Avant de commencer à aborder des sujets intermédiaires et avancés, je voudrais résumer quelques points plus généraux. Ils sont subjectifs, bien sûr, et je serai heureux d'en discuter si vous avez une autre opinion ou de meilleurs arguments pour l'un d'entre eux.

La liste n'est pas exhaustive et c'est voulu, car je couvrirai certains sujets dans de futurs articles.

1 0
0 113
Article
· Août 29, 2022 9m de lecture
Découvrir Django, partie 2

Dans la première partie, j'ai montré comment démarrer un nouveau projet sur Django, ainsi que définir de nouveaux modèles et ajouter des modèles existants.

Cette fois, je vous présenterai un panneau d'administration, qui est disponible dès le départ, et comment il peut être utile.

Remarque importante : ne vous attendez pas à ce que si vous essayez de répéter les actions de cet article, cela fonctionnera pour vous, ce n'est pas le cas. Au cours de l'article, j'ai dû faire quelques corrections dans le projet django-iris, et même dans le pilote DB-API fait par InterSystems pour corriger certains problèmes là aussi, et je pense que ce pilote est encore en développement, et nous aurons un pilote plus stable dans le futur. Considérons que cet article ne fait qu'expliquer comment cela pourrait être si nous avions tous fait.

0 0
0 51

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 277
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 206

Au fil des ans, je me suis souvent retrouvé dans la nécessité de créer plusieurs messages HL7 à partir d'un seul message entrant. Il s'agit généralement d'une commande ou d'un résultat provenant d'un laboratoire. Chaque fois que j'ai abordé ce problème, j'ai essayé de repartir de zéro en pensant que la tentative précédente aurait pu être mieux faite.

3 0
0 40