Recherche

Effacer le filtre
Annonce
Irène Mykhailova · Oct 18, 2022

Les 30' InterSystems - Bilan entrées /sorties

Bonjur la Communauté! Le deuxième épisode d'une serie "Les 30' InterSystems" sera aujourd'hui ! 📅 Date: mardi 18 octobre 2022 ⏱ Heure: 13:00 Heure d'été d'Europe centrale ⌛️ Durée: 30 minutes Pour le 2e web-épisode de la 3e saison des 30' InterSystems, nous vous proposons une présentation des fonctionnalités du bilan entrées/sorties dans TrakCare lors du suivi clinique du patient. Intervenant: Christophe Aubaret, Spécialiste Applicatif, InterSystems >>INSCRIVEZ-VOUS ICI<< Marquez le calendrier! Nous avons hâte de vous voir là-bas!
Annonce
Irène Mykhailova · Nov 7, 2022

Les 30' InterSystems - Planification des activités de groupe

Bonjur la Communauté! Le troisième épisode d'une serie "Les 30' InterSystems" se passera bientôt ! 📅 Date : mardi 29 novembre 2022⏱ Heure : 13:00 Heure d'été d'Europe centrale⌛️ Durée : 30 minutes Pour le 3e web-épisode de la 3e saison des 30' InterSystems, nous vous présenterons comment organiser, planifier et évaluer des réunions telles que les Réunions de Concertation Pluridisciplinaire (RCP) ou les activités de groupe proposées aux patients de Psychiatrie, d'USLD, ou d'EHPAD. Principales fonctionnalités : Organisation des sessions Inscription des patients et liste de patients récurrents Évaluation Intervenants : 👨‍🔬 Dr Olivier Desvernois, Responsable Applicatifs, InterSystems👩‍💻 Virginie Larroque, Architecte Solutions Santé, InterSystems >> INSCRIVEZ-VOUS ICI << Marquez le calendrier! Nous avons hâte de vous voir là-bas!
Article
Kevin Koloska · Nov 10, 2022

InterSystems IRIS avec Laravel (via ODBC)

Il a été demandé à plusieurs reprises récemment, comment on peut faire fonctionner Laravel Framework avec InterSystems IRIS Data Platform. Cela fait un moment que cet article sur Laravel et InterSystems Caché n’a pas été publié. Pour le mettre à jour, l’article donne un bref ensemble d’instructions sur la façon d’installer et de configurer un projet Laravel pour une utilisation avec InterSystems IRIS via ODBC. Qu’est-ce que Laravel? Laravel est un framework PHP basé sur l’architecture MVC. L’utilisation de Laravel simplifie et accélère le développement backend tout en créant des applications Web sécurisées modernes. Il est très convivial pour les débutants, largement utilisé dans le monde PHP et tend à être le framework backend le plus populaire selon github.com nombre d’étoiles mesuré dans cette vidéo. La combinaison de tout cela avec la flexibilité et les capacités de performance fournies par InterSystems IRIS en tant que base de données est considérée comme bénéfique pour les deux mondes. Ce post est organisé en 4 étapes qui représentent une séquence d’actions à effectuer pour que la connexion fonctionne. Les façons spécifiques d’effectuer chaque étape peuvent varier en fonction de la plate-forme. Les commandes ici sont affichées pour Ubuntu 22.02 (x64). Gestionnaire de pilotes d’installation (unixODBC) Afin de faire fonctionner la connexion, nous devons installer un gestionnaire de pilotes. Les gestionnaires de pilotes les plus couramment utilisés sont 'unixODBC' et 'iODBC'. Ce guide utilise 'unixODBC', qui peut être téléchargé ici http://www.unixodbc.org/ . Veuillez vous référer à la section « Téléchargement » du site Web pour télécharger et construire. Alternativement, les instructions de construction peuvent également être trouvées ici. Nous utiliserons ici les paquets du gestionnaire de paquets 'apt' pour Ubuntu. Installer des packages Installez le package unixodbc accompagné de libodbccr2 qui fournit la bibliothèque unixODBC Cursor. sudo apt mise à jour sudo apt -y installer unixodbc libodbccr2 odbcinst Créer un lien pour la bibliothèque de curseursDans certains cas, il peut y avoir des problèmes avec les dépendances d’objets partagés après l’installation d’unixODBC. Ceci est affiché comme l’erreur « Impossible d’ouvrir la bibliothèque du curseur ». Il existe peu de solutions de contournement décrites sur Internet. Afin de résoudre ce problème, nous faisons un lien symbolique vers une bibliothèque souhaitée. Tout d’abord, nous localisons la bibliothèque: sudo find / -type f -name « libodbccr* » Et puis nous créons un lien sudo ln -s / usr / lib / x86_64-linux-gnu / libodbccr.so.2.0.0 /etc / libodbccr.so Configuration du pilote ODBC pour InterSystems IRIS Le pilote ODBC pour InterSystems IRIS peut être obtenu de différentes manières. Par exemple, le pilote ODBC est inclus dans tous les kits IRIS InterSystems. L’autre option serait Portail de distributions sur wrc.intersystems.com. Vous pouvez également trouver des pilotes pour toutes les plates-formes prises en charge ici : https://intersystems-community.github.io/iris-driver-distribution/ Téléchargez, décompressez et installez le pilote ODBC : sudo mkdir -p / usr / lib / intersystems / odbc cd /usr/lib/intersystems/odbc/ sudo wget -q https://raw.githubusercontent.com/intersystems-community/iris-driver-distribution/main/ODBC/lnxubuntu2004/ODBC-2022.1.0.209.0-lnxubuntu2004x64.tar.gz sudo tar -xzvf / usr / lib / intersystems / odbc / ODBC-2022.1.0.209.0-lnxubuntu2004x64.tar.gz sudo ./ODBCinstall sudo rm -f ODBC-2022.1.0.209.0-lnxubuntu2004x64.tar.gz Après cela, le pilote sera situé dans le dossier suivant /usr/lib/intersystems/odbc/bin/. Des informations supplémentaires sur les pilotes et leur utilisation peuvent être trouvées dans la documentation. Ce guide libirisodbcur6435.so utilise comme bibliothèque de pilotes. Configurer le projet Laravel Le moyen traditionnel et pratique d’interagir avec une base de données de Laravel serait d’utiliser son package Eloquent. Eloquent est un cartographe relationnel objet (ORM) inclus par défaut dans le framework Laravel. Seuls quelques fournisseurs de SGBD sont pris en charge prêts à l’emploi. Ainsi, afin d’implémenter les spécificités de connexion et de générateur de requêtes SQL pour InterSystems IRIS (via ODBC), du code PHP supplémentaire doit être écrit. Grâce à @Jean Dormehl, cette lacune a été comblée pour InterSystems Caché. Le même pourrait être utilisé pour InterSystems IRIS.Donc, dans cet article, nous décrivons les étapes de configuration de la connexion pour le projet Laravel existant en utilisant le paquet jeandormehl / laracache, en supposant que l’installation et la configuration de php, composer et Laravel sont effectuées avant cela. Installer php-odbcAssurez-vous que le module php-odbc est installé. Vous pouvez consulter la liste des modules installés avec la commande suivante : php -m | Le grep ODBC Pour installer l’extension php-odbc, utilisez la commande suivante en utilisant une version appropriée de php installée sur votre environnement sudo apt -y installer php8.1-odbc Installer le paquet 'jeandormehl/laracache'Allez dans le répertoire de votre projet Laravel, installez le paquet et publiez son fichier de configuration. Compositeur requis jeandormehl/laracache php artisan vendor:publish --tag=isc Configurer la connexion IRIS Modifiez votre fichier .env pour qu’il contienne les paramètres nécessaires à la connexion à une base de données. Pour les utilisateurs d’Unix, il devrait ressembler à ceci: DB_CONNECTION=ISC DB_WIN_DSN= DB_UNIX_DRIVER=/usr/lib/intersystems/odbc/bin/libirisodbcur6435.so DB_HOST=127.0.0.1 DB_PORT=1972 DB_DATABASE=UTILISATEUR DB_USERNAME=_SYSTEM DB_PASSWORD=sys Après avoir édité le fichier .env, vous pouvez trouver utile de vider le cache de configuration de l’application: php artisan config:cache Usage Essayons de récupérer quelques données en utilisant notre nouveau package. À titre d’exemple, nous allons créer un modèle hérité de Laracache\Cache\Eloquent\Model . Juste à des fins de test, nous allons compter le nombre de messages envoyés dans l’espace de noms activé pour l’interopérabilité. nano app/Models/EnsMessageHeader.php <?php espace de noms App\Models ; utiliser Laracache\Cache\Eloquent\Model; la classe EnsMessageHeader étend le modèle { protected $table = 'Ens.MessageHeader'; $fillable protégé = [ 'MessageBodyClassName' ]; } Pour exécuter une requête, nous pouvons créer une commande de console artisanale comme celle-ci: Nano routes/console.php <?php utilisez Illuminate\Foundation\Inspiring; utiliser Illuminate\Support\Facades\Artisan; utilisez App\Models\EnsMessageHeader; Artisan::command('iris:test', function () { echo EnsMessageHeader::count() . PHP_EOL; }); Ensuite, l’exécution de la commande suivante devrait récupérer le nombre d’enregistrements PHP artisan iris:test Ce scénario devrait fonctionner pour une large gamme de produits IRIS InterSystems.
Annonce
Robert Bira · Jan 6, 2023

Forrester : InterSystems est reconnu comme un leader

Bonjour la communauté, Je suis heureux de partager avec vous la nouvelle que InterSystems est reconnu comme un leader dans le rapport The Forrester Wave : Translytical Data Platform ! InterSystems IRIS possède des capacités translytiques complètes éprouvées à grande échelle et se démarque par son environnement de développement unifié. Forrester définit les plateformes de données translytiques comme des plateformes de données de nouvelle génération construites sur un moteur de base de données unique pour prendre en charge plusieurs types et modèles de données. En raison de ces tendances, les clients des plateformes de données translytiques devraient rechercher des fournisseurs qui proposent une offre permettant : D'accélérez les cas d'utilisation grâce aux outils et solutions de développement. D'offrir des capacités complètes de gestion de données pour prendre en charge des cas d'utilisation plus larges. D'offrir une gestion de la charge de travail évolutive afin de faire évoluer et d'optimiser les performances. The Forrester Wave™: Translytical Data Platforms, Q4 2022 : InterSystems a une vision forte du produit qui démontre un engagement envers des cas d'utilisation translytiques étendus. Sa feuille de route translytique avancée montre des plans pour étendre les capacités en matière de performance, de mise à l'échelle, de facilité d'utilisation et de gouvernance. Pour voir le rapport, veuillez suivre le lien.
Annonce
Irène Mykhailova · Fév 9, 2023

Principaux contributeurs de la communauté InterSystems de 2022

Chers membres de la communauté,Les premiers mois de l'année sont le moment de faire le bilan de l'année précédente et de récompenser les participants qui ont le plus contribué au développement de notre communauté. Dans l'annonce original, les utilisateurs avec le plus grand nombre d'articles, le plus des réponses acceptées et le plus d'attention à leur travail ont été marqués. Je suis extrêmement heureux de constater que parmi les meilleurs il y a aussi des membres actifs de notre communauté francophone ! Les voici : Nom du badge Badge Gagnant Breakthrough of 2022 @Lucas.Enard2487 Silver Best-Selling Author 2022 @Lucas.Enard2487 Best-Selling Author 2022 @Guillaume.Rongier7183 @Lorenzo.Scalese @Irene.Mikhaylova DC Expert 2022 @Guillaume.Rongier7183 Bronze Opinion Leader 2022 @Guillaume.Rongier7183 DC Opinion Leader 2022 @Lorenzo.Scalese @Lucas.Enard2487 Mes plus sincères félicitations à tous les gagnants ! Merci à vous tous pour votre contribution au développement de cette Communauté ! Continuez comme ça cette année aussi ! Félicitations et merci à tous pour vos contributions !! Et pour les tiennes aussi
Annonce
Irène Mykhailova · Mars 7, 2023

InterSystems au Hacking Health Camp 2023 !

Salut la Communauté ! Je suis exaltée à vous annoncer qu'InterSystems va prendre part dans le Hacking Health Camp 2023 - la 10ème édition, le plus grand hackathon santé au monde ! Hacking Health Camp est un événement d’innovation en santé numérique qui permet de transformer les idées pour répondre aux problématiques du quotidien en prototypes fonctionnels en 3 jours. 📅 Dates: vendredi 24 mars à partir de 13h jusqu’au dimanche 26 mars vers 18h 📌 Lieu : Faculté de médecine de Strasbourg (4 rue kirschleger, 67000 Strasbourg) Un programme de 3 jours avec : Conférences inspirantes sur le futur de la santé. Formations et interviews : en format de 25 minutes, dans les domaines : technologique, juridique, médical, design, … Hackathon : permet de transformer les idées innovantes en prototypes fonctionnels en 50h Le programme du Hackathon : VENDREDI 18:00 - LANCEMENT DU HACKATHON 18:40 - PRÉSENTATION DES COACHS 18:45 - PITCHS DES PROJETS : 1min pour présenter votre projet ! 19:30 - CONSTITUTION DES ÉQUIPES : Assistance en direct aux porteurs de projets pour lancer les appels à compétences et constituer les équipes. 20:00 - DINER 21:00 - DÉMARRAGE DES PROJETS SAMEDI 9:00 – 12:00 - RENCONTRE AVEC LES COACHS : Séance de travail en groupe avec les coachs 10:00 – 11:40 - TRAVAIL EN ÉQUIPE 11:40 – 13:40 - DÉJEUNER 13:40 – 16:30 - TRAVAIL EN ÉQUIPE, INTERVIEWS LIVE 16:10 – 16:20 - PAUSE GOÛTER 16:20 – 20:00 - TRAVAIL EN ÉQUIPE 20:00 - DINER 21:00 … - NUIT DE CODE DIMANCHE 9:00 – 12:00 - TRAVAIL EN ÉQUIPE, DEMO CLINICS : Séances d’entrainement au pitch avec les coachs 12:00 – 13:45 - DÉJEUNER 14:00 – 17:00 - PRÉSENTATION DES PROTOTYPES : 3′ de démo + 2′ de questions réponses 17:00 – 18:00 - DÉLIBÉRATION DU JURY 18:00 - REMISE DES PRIX, CLOTURE Un petit goût pour vous : ✅ Inscrivez-vous ici ✅ On espère de vous y voir pour cette folie créative de 50 heures pour inventer la santé de demain ! Restez à l'écoute pour plus d'infos. A bientôt ! ------------------------------------------ NB. On a 10 billets gratuits à offrir aux équipes de participants qui envisagent de réaliser des projets basés sur les technologies InterSystems ! Répondez simplement dans les commentaires ou envoyez-moi un message. J'ai hâte de vous y retrouver pour la seconde année consécutive! 3 jours d'une énergie incroyable pour faire bouger les lignes et faire avancer la santé numérique. Rejoignez-nous nombreux 😁🏆😁 Ravie de t'y retrouver Lorenzo ! A très vite 😁 Hi Everyone ! I am sorry for posting in English, we just have a deadline coming so soon : We invite you to attend Hacking Health Camp Conference and Hackathon (or you can visit just the conference) - we have 10 tickets. We will be excited to see you there! If you are up to visiting the event, please let me know by the end of the week (till March 18) Conference Program https://hackinghealth.camp/programme/conferences/Hackathon program https://hackinghealth.camp/programme/hackathon/Lieu https://hackinghealth.camp/contact/#Lieu
Annonce
Irène Mykhailova · Mars 14, 2023

Le Challenge InterSystems au Hacking Health Camp

Salut la Communauté ! Vous vivez une problématique récurrente en santé et vous imaginez une solution ? InterSystems soutient le Hacking Health Camp, le plus grand hackathon santé au monde. Rejoignez-nous pour transformer votre idée en prototype en 50h et gagnez le prix InterSystems : 👉 Le Challenge InterSystems pour la meilleure utilisation des technologies InterSystems 👈 Pour être éligible au prix InterSystems, votre solution doit utiliser un ou plusieurs services InterSystems, tels que le FHIR Transformation service, le Repository FHIR, le modèle de données SQL etc Pour ce hackathon nous vous donnons un accès gratuit à nos dernières offres cloud: Repository FHIR Un service FHIR, de niveau entreprise, entièrement géré et hébergé sur AWS, disponible aux États-Unis et en Europe. InterSystems gérera en toute sécurité les données de santé, facilitant ainsi le développement d'applications innovantes utilisant FHIR. FHIR Transformation Service Automatisez la transformation des données de santé en ressources FHIR et déposez les ressources dans un référentiel de données basé sur le cloud. 🥇 Prix pour l'équipe gagnante : Accueil sur le stand InterSystems lors du salon SANTEXPO du 23 au 25 mai 2023, Paris Pitchez votre projet & Échangez avec l ‘écosystème de la santé en France Invitation Spéciale de l’équipe au sein l’incubateur healthtech Cealestinus Session 2023. 🥈🥉 Prix bonus pour les 2 meilleures équipes suivantes: Swag pack pour chacun ! Pour plus d'info, suivez le lien ! Nous avons hâte de vous y rencontrer. Bonne chance ! Le Hackathon a lancé!
Article
Guillaume Rongier · Avr 2

L'API REST avec Swagger dans InterSystems IRIS

L'API REST avec Swagger dans InterSystems IRIS Salut Le protocole HTTP permet de récupérer des ressources, telles que des documents HTML. Il est à la base de tout échange de données sur le Web et constitue un protocole client-serveur, ce qui signifie que les requêtes sont initiées par le destinataire, généralement un navigateur Web. Les API REST tirent parti de ce protocole pour échanger des messages entre le client et le serveur. Cela rend les API REST rapides, légères et flexibles. Les API REST utilisent les verbes HTTP GET, POST, PUT, DELETE et d'autres pour indiquer les actions qu'elles veulent effectuer. Lorsque nous appelons une API REST, il s'agit en réalité d'un appel HTTP. L'API reçoit cet appel et, conformément au verbe et au chemin demandés, elle effectue l'action souhaitée. Dans le cas de l'implémentation d'Iris, nous pouvons le voir clairement dans la zone de définition de l'URLMap: XData UrlMap{<Routes> <Route Url="/cliente" Method="POST" Call="Incluir" Cors="true"/> <Route Url="/cliente/:chave" Method="PUT" Call="Alterar" Cors="true"/> <Route Url="/cliente/:chave" Method="DELETE" Call="Deletar" Cors="true"/> <Route Url="/cliente/:chave" Method="GET" Call="Pesquisar" Cors="true"/> <Route Url="/cliente" Method="GET" Call="Listar" Cors="true"/> <Route Url="/openapi" Method="GET" Call="OpenAPI" Cors="true"/> <Route Url="/test" Method="GET" Call="Test" Cors="true"/> </Routes>} Notez que nous avons le chemin (Url) et le verbe (Method) définis pour chaque appel (Call). Ainsi, le code qui rencontre l'API sait ce qu'il doit faire. Cette structure de l'API REST ne sert pas seulement à acheminer les actions qui arrivent à l'API. Elle sert également de base à la création du fichier Swagger de l'API, comme on peut le voir dans la documentation de la classe %REST.API, méthode GetWebRESTApplication: https://docs.intersystems.com/irislatest/csp/documatic/%25CSP.Documatic.cls?LIBRARY=%25SYS&CLASSNAME=%25REST.API#GetWebRESTApplication Examinons maintenant comment générer cette documentation. Commençons par publier notre API. Utilisons la même API que dans l'article https://community.intersystems.com/post/using-rest-api-flask-and-iam-intersystems-iris-part-1-rest-api Il suffit de suivre les instructions et d'utiliser le code que l'article fournit pour avoir notre API publiée. Une fois l'API publiée, nous inclurons un nouvel chemin dans URLMap et une nouvelle méthode dans notre code: <Route Url="/openapi" Method="GET" Call="OpenAPI" Cors="true"/> ClassMethod OpenAPI() As %Status{ Do ##class(%REST.Impl).%SetContentType("application/json") Set sc = ##class(%REST.API).GetWebRESTApplication("", "/rest/servico", .swagger) If $$$ISERR(sc) { Quit sc // If an error occurred, exit the method } Write swagger.%ToJSON() Quit $$$OK} Incluez le nouvel chemin et la méthode qui lui est associée dans votre code API. Passons maintenant au test. Ouvrons Postman et appelons l'endpoint de génération de Swagger, qui est /openapi: Ci-dessous, nous avons la définition complète du Swagger généré par notre appel: { "info": { "title": "", "description": "", "version": "", "x-ISC_Namespace": "DEMO" }, "basePath": "/rest/servico", "paths": { "/customer": { "post": { "parameters": [ { "name": "payloadBody", "in": "body", "description": "Request body contents", "required": false, "schema": { "type": "string" } } ], "operationId": "Include", "x-ISC_ServiceMethod": "Include", "x-ISC_CORS": true, "responses": { "default": { "description": "(Unexpected Error)" }, "200": { "description": "(Expected Result)" } } }, "get": { "operationId": "List", "x-ISC_ServiceMethod": "List", "x-ISC_CORS": true, "responses": { "default": { "description": "(Unexpected Error)" }, "200": { "description": "(Expected Result)" } } } }, "/customer/{key}": { "put": { "parameters": [ { "name": "key", "in": "path", "required": true, "type": "string" }, { "name": "payloadBody", "in": "body", "description": "Request body contents", "required": false, "schema": { "type": "string" } } ], "operationId": "Change", "x-ISC_ServiceMethod": "Change", "x-ISC_CORS": true, "responses": { "default": { "description": "(Unexpected Error)" }, "200": { "description": "(Expected Result)" } } }, "delete": { "parameters": [ { "name": "key", "in": "path", "required": true, "type": "string" } ], "operationId": "Delete", "x-ISC_ServiceMethod": "Delete", "x-ISC_CORS": true, "responses": { "default": { "description": "(Unexpected Error)" }, "200": { "description": "(Expected Result)" } } }, "get": { "parameters": [ { "name": "key", "in": "path", "required": true, "type": "string" } ], "operationId": "Search", "x-ISC_ServiceMethod": "Search", "x-ISC_CORS": true, "responses": { "default": { "description": "(Unexpected Error)" }, "200": { "description": "(Expected Result)" } } } }, "/openapi": { "get": { "operationId": "OpenAPI", "x-ISC_ServiceMethod": "OpenAPI", "x-ISC_CORS": true, "responses": { "default": { "description": "(Unexpected Error)" }, "200": { "description": "(Expected Result)" } } } }, "/test": { "get": { "operationId": "Test", "x-ISC_ServiceMethod": "Test", "x-ISC_CORS": true, "responses": { "default": { "description": "(Unexpected Error)" }, "200": { "description": "(Expected Result)" } } } } }, "Swagger": "2.0" } Le lien suivant nous permet d'accéder à la documentation d'Iris qui pointe vers un outil qui reçoit le résultat de notre appel API et le transforme en une interface conviviale pour la documentation et le test du service: https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=GREST_discover_doc#GREST_gendoc Exécutons cette URL et fournissons le chemin pour récupérer la définition Swagger de notre API: https://swagger.io/tools/swagger-ui/ Remplaçons l'appel de démonstration sur la page (l'appel petstore) par notre appel: http://127.0.0.1/iris_iss/rest/servico/openapi et voyons l'écran avec la documentation Swagger générée: En haut de l'appel, nous avons les informations de base de notre API: Nous pouvons également naviguer dans les appels et consulter des informations importantes, comme dans l'appel POST pour inclure un nouvel utilisateur: Mais, comme nous l'avons vu un peu plus haut, la définition Swagger est en réalité un fichier au format JSON qui nous est disponible sous la forme d'un %DynamicObject (voir la documentation dans https://docs.intersystems.com/irislatest/csp/documatic/%25CSP.Documatic.cls?LIBRARY=%25SYS&CLASSNAME=%25Library.DynamicObject) après le ##class(%REST.API).GetWebRESTApplication() que nous effectuons dans notre méthode OpenAPI. De cette façon, en nous basant sur la définition de l'OpenAPI 2.0, nous pouvons inclure ou supprimer des renseignements de notre Swagger. Enrichissons, par exemple, les renseignements de base de l'API. Selon la définition de la version 2.0 (https://swagger.io/specification/v2/ ), les informations suivantes peuvent être mises à disposition: Complétons alors les informations que nous pouvons rendre disponibles. Pour ce faire, nous allons modifier notre méthode OpenAPI, en incluant les informations de base, le protocole accepté, l'authentification et les données d'accès (hôte et basePath): ClassMethod OpenAPI() As %Status{ Do ##class(%REST.Impl).%SetContentType("application/json") Set sc = ##class(%REST.API).GetWebRESTApplication("", "/rest/servico", .swagger) If $$$ISERR(sc) { Quit sc // If an error occurred, exit the method } Set info = { "title": "Cliente", "description": "API de Manipulação de Cliente", "version": "1.00" } Do swagger.%Set("info", info) Do swagger.%Set("host", "127.0.0.1") Do swagger.%Set("basePath", "/iris_iss/rest/servico") Set schemes = [] Do schemes.%Push("http") Do swagger.%Set("schemes", schemes) Set security = [{"basicAuth":[]}] Do swagger.%Set("security", security) Set securityDefinitions = {} Do securityDefinitions.%Set("basicAuth", {}) Do securityDefinitions.basicAuth.%Set("type", "basic") Do swagger.%Set("securityDefinitions", securityDefinitions) Write swagger.%ToJSON() Quit $$$OK} Si nous appelons à nouveau la documentation Swagger sur la page d'aperçu, nous avons maintenant le résultat suivant: Veillez à ce que notre documentation soit beaucoup plus complète, avec des informations plus détaillées sur l'API, telles que le mécanisme d'authentification (Basic Auth), le protocole accepté (HTTP) et les définitions de version, de description et d'URL. Nous pouvons désormais enrichir la définition des appels en mettant la structure attendue dans les payloads et les exemples de données pour l'appel. Pour ce faire, superposons les informations dans les chemins pour "/client": ClassMethod OpenAPI() As %Status{ Do ##class(%REST.Impl).%SetContentType("application/json") Set sc = ##class(%REST.API).GetWebRESTApplication("", "/rest/servico", .swagger) If $$$ISERR(sc) { Quit sc // If an error occurred, exit the method } Set info = { "title": "Cliente", "description": "API de Manipulação de Cliente", "version": "1.00" } Do swagger.%Set("info", info) Do swagger.%Set("host", "127.0.0.1") Do swagger.%Set("basePath", "/iris_iss/rest/servico") Set schemes = [] Do schemes.%Push("http") Do swagger.%Set("schemes", schemes) Set security = [{"basicAuth":[]}] Do swagger.%Set("security", security) Set securityDefinitions = {} Do securityDefinitions.%Set("basicAuth", {}) Do securityDefinitions.basicAuth.%Set("type", "basic") Do swagger.%Set("securityDefinitions", securityDefinitions) Set incluirPesquisar = { "post": { "summary": "Criar um novo cliente", "description": "Recebe os dados de um cliente e cadastra no sistema.", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "type": "object", "properties": { "nome": { "type": "string", "description": "Nome do cliente" }, "idade": { "type": "integer", "description": "Idade do cliente" } }, "required": ["nome", "idade"], "example": { "nome": "João Silva", "idade": 30 } } } ], "responses": { "default": { "description": "Falha na chamada da API" }, "200": { "description": "Cliente criado com sucesso" }, "406": { "description": "Falha na inclusão do cliente" } } }, "get": { "summary": "Recupera todos os clientes", "description": "Retorna a lista de clientes com suas informações.", "responses": { "default": { "description": "Falha na chamada da API" }, "200": { "description": "Lista de clientes", "schema": { "type": "object", "properties": { "clientes": { "type": "array", "items": { "type": "object", "properties": { "chave": { "type": "string", "description": "Chave única do cliente" }, "nome": { "type": "string", "description": "Nome do cliente" }, "idade": { "type": "integer", "description": "Idade do cliente" } }, "required": ["chave", "nome", "idade"] } } }, "example": { "clientes": [ { "chave": "1", "nome": "Maria", "idade": 35 }, { "chave": "2", "nome": "Julio", "idade": 57 }, { "chave": "4", "nome": "Julia", "idade": 25 }, { "chave": "5", "nome": "Julia", "idade": 22 } ] } } } } } } Do swagger.paths.%Set("/cliente", incluirPesquisar) Write swagger.%ToJSON() Quit $$$OK} En rappelant la page de documentation, nous pouvons maintenant voir les méthodes POST pour inclure un client, et GET pour récupérer une liste: Notez que nous avons déjà une explication de chacune des méthodes disponibles pour POST et GET qui ont été remplacées. Notez que nous n'avons plus non plus les balises "x-ISC_ServiceMethod" and "x-ISC_Namespace" qui n'ont pas été incluses dans notre nouvelle définition. En cliquant pour développer la méthode POST par exemple, nous disposons maintenant visuellement d'un exemple d'appel (Valeur d'exemple): Et le format du payload de l'appel (Modèle): Dans le cas de la récupération pour les utilisateurs, nous avons la définition de la réponse renvoyée avec un exemple: Ainsi qu'avec le modèle prévu comme réponse: Nous pouvons également tester les appels API à partir de la page de documentation elle-même. Pour cela, le bouton “Try it out” (Essayez-le) doit être disponible sur la page. Appuyez-le , puis appuyez sur Execute et vous verrez le résultat: Les possibilités de l'approche Code-first d'une API REST ouvrent de nombreuses possibilités de documentation, nous permettant de contrôler ce qui sera diffusé, en ajoutant ou en supprimant les informations que nous jugeons utiles dans le matériel publié. La définition de l'OpenAPI est très complète et détaillée. Il existe une variété d'informations que nous pouvons inclure ou retirer, selon nos besoins ou ce que nous voulons y rendre disponible. À très bientôt!
Annonce
Irène Mykhailova · Avr 11

Les inscriptions sont ouvertes pour l'InterSystems READY 2025 !

Bonjour à tous, Nous sommes heureux d'annoncer que les inscriptions pour l'événement de l'année — InterSystems Ready 2025 — sont désormais ouvertes. C'est le Global Summit que nous connaissons et apprécions tous, mais avec un nouveau nom ! ➡️ InterSystems Ready 2025 🗓 Dates : 22-25 juin 2025 📍 Lieu : Signia Hilton Bonnet Creek, Orlando, Floride, États-Unis InterSystems READY 2025 est un espace convivial et informatif pour la communauté InterSystems, propice aux rencontres, aux échanges et à l'échange de connaissances. L'événement READY 2025 comprend : Sessions : 3 jours et demi de sessions adaptées aux besoins des développeurs et des responsables logiciels. Les sessions sont répétées pour que vous puissiez les suivre et planifier votre emploi du temps. Conférences inspirantes : Des présentations qui remettent en question vos hypothèses et mettent en lumière de nouvelles possibilités. Prochaines étapes : Lors des conférences et des ateliers, vous découvrirez le programme d'InterSystems et serez prêt à affronter les nouvelles technologies. Réseautage : Rencontrez les dirigeants d'InterSystems, les membres de nos équipes mondiales produit et innovation, ainsi que vos pairs du monde entier pour discuter de vos priorités. Ateliers et formations personnalisées : Plongez au cœur de vos besoins avec un expert InterSystems, y compris lors d'entretiens individuels. Programme pour startups : Présentez votre technologie, entrez en contact avec des acheteurs potentiels et découvrez comment InterSystems peut vous aider à accélérer la croissance de votre entreprise. Pavillon des partenaires : Vous recherchez un consultant, un intégrateur de systèmes ou des outils pour simplifier votre travail ? Tout est dans le pavillon. Animations : Démos et boissons, Tech Exchange et autres événements. Découvrez les tarifs sur le site officiel et n'oubliez pas que la réduction pour les inscriptions anticipées expire le 16 avril ! Nous avons hâte de vous retrouver à InterSystems Ready 2025 !
Annonce
Irène Mykhailova · Avr 17

Codez pour atteindre InterSystems READY 2025

Bonjour la Communauté ! Nous savons que chaque développeur a de petits projets annexes : des applications qui lui permettent d’expérimenter de nouvelles technologies, de tester des idées avant de les implémenter dans des solutions plus vastes, ou simplement de créer quelque chose d’amusant par curiosité. Et si l’un de ces projets pouvait vous mener jusqu’à l’InterSystems READY 2025 ? Nous vous proposons une opportunité unique : partagez votre créativité et votre passion pour IRIS et gagnez un pass gratuit pour l’InterSystems READY + hébergement ! Le règlement est simple : publiez votre projet annexe basé sur IRIS sur Open Exchange et enregistrez une courte vidéo inspirante expliquant pourquoi vous devriez être celui qui obtiendra l’entrée pour l’événement de l’année et gagner ! Durée : du 21 avril au 4 mai 2025 Prix : hébergement et entrées gratuites pour l’InterSystems READY 2025 ! 🛠 Que devez-vous faire ? Téléchargez un projet basé sur IRIS sur Open Exchange (Comment publier une application sur Open Exchange). Soyez créatif : il peut être utile, original, amusant ou simplement quelque chose que vous avez toujours voulu essayer. Enregistrez une courte vidéo inspirante (5 minutes maximum) : Expliquez-nous comment les technologies InterSystems ou la communauté des développeurs ont influencé votre projet ou votre carrière. Expliquez pourquoi VOUS devriez obtenir un ticket pour l'InterSystems READY 2025. Envoyez votre vidéo et le lien vers votre application via ce formulaire. 🧠 Conditions générales pour les candidatures Une application ou une bibliothèque doit être entièrement fonctionnelle. Il ne doit pas s'agir d'une importation ou d'une interface directe avec une bibliothèque existante dans un autre langage (à l'exception de C++). Il ne doit pas s'agir d'un copier-coller d'une application ou d'une bibliothèque existante. Applications acceptées : nouvelles sur Open Exchange. Notre équipe examinera toutes les candidatures avant de les approuver. L'application doit fonctionner sur IRIS, IRIS for Health ou IRIS Cloud SQL. L'application doit être Open Source et publiée sur GitHub ou GitLab. Le fichier README de l'application doit être en anglais, contenir les étapes d'installation, ainsi que la vidéo de démonstration et/ou une description du fonctionnement de l'application. Une application ne peut avoir qu'un seul auteur. NB : Nos experts auront le dernier mot quant à l'approbation de la candidature pour cette initiative, sur la base de critères de créativité et d'originalité de l'approche. Leur décision est définitive et sans appel. 👨‍💻 Qui peut participer ? Tout membre de la communauté des développeurs, à l'exception des employés et sous-traitants d'InterSystems. Créez un compte ! 🏆 Prix 🥇 1re place : entrée gratuite pour InterSystems READY 2025 + hébergement 🥈 2e et 3e places : entrée gratuite pour InterSystems READY 2025 ❗️Ce prix n'est pas échangeable contre de l'argent ni contre toute autre contrepartie. ✨ Points bonus Vous pouvez augmenter vos chances de gagner en proposant des activités supplémentaires : Publiez un article technique sur votre projet Créez une vidéo de démonstration supplémentaire de votre projet Partagez votre vidéo inspirante sur les réseaux sociaux avec le hashtag #Ready2025 et mentionnez @InterSystems et @InterSystemsDev Laissez-vous inspirer. Créez quelque chose d'amusant. Partagez votre histoire. C'est votre moment de briller - CODEZ pour atteindre InterSystems READY 2025 !
Article
Developer Community Admin · Mai 6

Plateforme de données InterSystems IRIS : Аrchitecture

La plateforme de données InterSystems IRIS est à la base de toutes les applications InterSystems, ainsi que de milliers d'applications utilisées par nos clients et partenaires dans des domaines tels que la Santé, les Services financiers, la Chaîne logistique et d'autres écosystèmes. Il s'agit d'une plateforme convergente qui fournit une gestion des données transactionnelles et analytiques, une interopérabilité intégrée, une intégration des données, ainsi que des analyses intégrées et une IA. Elle prend en charge l'approche InterSystems Smart Data Fabric pour la gestion de données diverses et distribuées. Notre architecture repose sur des installations permettant un traitement de données haute performance, multimodèle et multilingue dans notre moteur de données central, également appelé plan de données commun ou Common Data Plane. Tout cela s'appuie sur une infrastructure remarquable qui permet de traiter des volumes de données extrêmement importants et des taux de transaction élevés pouvant atteindre plus d'un milliard d'opérations de base de données par seconde. Ensuite, deux sous-systèmes majeurs entrent en jeu : l'un axé sur l'analyse et l'intelligence artificielle (IA), l'autre sur l'interopérabilité et l'intégration des données. Ces sous-systèmes suivent notre philosophie fondamentale qui consiste à tout faire fonctionner à proximité des données afin de fournir des performances élevées avec une empreinte minimale. Enfin, autour des sous-systèmes, nous avons construit une structure de données intelligentes qui permet aux utilisateurs de résoudre des problèmes complexes dans un seul empilement. Les sections suivantes explorent ces couches et leur interaction afin de mieux comprendre ce qui rend la technologie InterSystems IRIS si particulière. Réputée pour ses performances, la technologie InterSystems repose sur un mécanisme très efficace de stockage de données, d'indexation et d'accès aux données. Contrairement à d'autres fournisseurs de bases de données, nous ne fournissons pas de base de données nativement relationnelle ou documentaire. Nous utilisons un format de stockage sous-jacent appelé globales. Ils sont modélisés dans un format multidimensionnel hautement optimisé, sous forme de tableau, construit comme un arborescence B+ qui est automatiquement indexée à chaque operation.InterSystems.com Construit à un niveau inférieur aux modèles de données (tels que relationnel, objet ou document), un format de stockage unique est projeté dans différents formats et modèles de données. Ceci est appelé Common Data Plane ou plan de données commun. Le format global sous-jacent est très efficace et peut être traduit dans de nombreux modèles de données différents: Les variables globales (précédées du préfixe "^") peuvent avoir plusieurs indices, dont chacun peut être numérique, alphanumérique ou symbolique. Les globales sont puissantes et représentent les données de manière générale, ce qui permet d'utiliser simultanément plusieurs paradigmes de données à partir d'une seule copie des données. Les cas tels que les tableaux associatifs et creux sont faciles à traiter avec cette approche. Nous encodons également dans le format de stockage lui-même, à l'aide d'encodages (désignés par le préfixe "$") qui fournissent un faible empreinte et une faible latence grâce à l'optimisation du disque et des E/S. Le format de ces encodages est le même en mémoire, sur disque ou sur le réseau. Cela minimise les transformations impliquées dans l'ingestion des données et permet d'atteindre les vitesses incroyables attendues d'une base de données en mémoire, tout en conservant la persistance typique d'une base de données sur disque. Un exemple illustrant comment une seule globale peut prendre en charge plusieurs modèles de données est fourni par le cas où vous utilisez des outils SQL ou BI et souhaitez accéder aux données dans un format relationnel, sous forme de tables avec des lignes et des colonnes. Si vous effectuez un développement orienté objet, cependant, nous projetons automatiquement ces objets dans des globales, puis projetons ces données dans un format relationnel. De même, nous pouvons projeter JSON ou d'autres formats de document dans une forme relationnelle. Cette fonctionnalité signifie qu'au lieu d'avoir plusieurs magasins de données, l'un relationnel, l'autre objet, l'autre document, et de les assembler, nous avons une seule copie projetée sous toutes ces différentes formes, sans duplication, déplacement ou mappage. Il en résulte également une combinaison pratique de schéma à l'écriture et de schéma à la lecture. Comme avec un lac de données, vous pouvez compter sur un niveau de structure tel qu'un lien de données, après avoir inséré les données et déterminé le meilleur schéma pour ces données en fonction de leur utilisation actuelle. Cette structure globale fonctionne bien pour les données structurées, ainsi que pour les documents et les données semi-structurées ou non structurées. Quelques encodages, conçus de manière très rigoureuse, sont utilisés pour stocker efficacement les données et les index. Bien que les listes constituent le codage de stockage par défaut, InterSystems IRIS peut représenter les données et les index dans un ou plusieurs de ces codages en fonction des caractéristiques des données et/ou des spécifications des développeurs. Les vecteurs permettent de stocker efficacement un grand nombre de données du même type et sont utilisés pour le stockage en colonnes dans les analyses, pour la recherche vectorielle, pour les séries temporelles et pour des cas plus spécialisés. Les tableaux de valeurs compactés (connus sous le nom de $pva) sont idéaux pour le stockage orienté document. Les bitmaps sont utilisés pour les données booléennes et pour les index bitmap très efficaces. Toutes ces structures de données sont automatiquement indexées dans une mise à jour hautement optimisée à chaque opération. De nombreux utilisateurs utilisent l'indexation intégrée pour effectuer des étapes transactionnelles complètes à faible latence, comme les "milliards d'opérations de base de données par seconde" mentionnées précédemment. Cette indexation cohérente, effectuée presque instantanément, nous offre un accès cohérent et à faible latence à toutes les données, quel que soit leur format. 6 Les fonctionnalités multimodèles offertes par le format global sous-jacent sont pratiquement instantanées, car il n'y a qu'une seule copie des données à modifier, ce qui évite tout gain de temps ou d'espace pour la réplication des données. Cela offre également des avantages majeurs en termes de vitesse d'ingestion, de fiabilité et d'évolutivité. Le système peut combiner plusieurs encodages. The multi-lingual capability that globals provide means that you can work in the programming language of your choice, with effortless access to all needed formats. La capacité multilingue fournie par les globales vous permet de travailler dans le langage de programmation de votre choix, avec un accès facile à tous les formats nécessaires. C'est clairement le cas pour l'accès relationnel via des normes telles que JDBC et ODBC, mais cela vaut également pour la correspondance automatique des objets dans .NET ou Java avec un format sous-jacent. Du point de vue du développement, vous n'avez pas à vous soucier du mappage relationnel des objets; vous travaillez simplement avec un objet et nous nous chargeons du format de stockage. Autour du moteur de données central se trouve une mémoire cache distribuée offrant des garanties de cohérence intégrées. Ce cache utilise notre protocole Enterprise Cache Protocol, ou ECP, et répond aux garanties théoriques en matière de cohérence dans le cadre d'un système distribué et en cas de défaillance. L'ECP intègre ces règles de cohérence afin de préserver l'intégrité des données au sein d'un système distribué, même en cas de défaillance, en les encapsulant directement. En d'autres termes, les performances des données distribuées restent élevées, même à grande échelle. Vous pouvez répartir ces nœuds ECP pour une mise à l'échelle horizontale, ce qui vous permet de gérer un débit plus élevé. Vous pouvez également les répartir pour la distribution des données, ce qui signifie que vous pouvez bénéficier de performances en mémoire sans avoir à vous limiter à la mémoire disponible pour chaque nœud. ECP fonctionne particulièrement bien dans le cloud en raison de son évolutivité. Nous avons intégré cette fonctionnalité à notre InterSystems Kubernetes Operator (IKO) afin de fournir une mise à l'échelle automatique, et nous pouvons ajouter et supprimer de manière transparente des nœuds à l'application à l'aide d'ECP. Cette mise à l'échelle est essentiellement linéaire, et vous pouvez faire évoluer indépendamment l'ingestion, le traitement des données et le stockage des données, et optimiser votre charge de travail. ECP étant robuste face aux changements de topologie, un nœud peut tomber en panne sans affecter le traitement des transactions. Vous pouvez ajouter des nœuds à la volée, et ceux-ci peuvent récupérer la charge. Cela fournit une élasticité transparente, ce qui signifie que vous pouvez dimensionner les éléments de manière dynamique et bénéficier d'un coût net inférieur. ECP est transparent pour l'application; aucune modification n'est nécessaire pour faire évoluer une application. Les utilisateurs ont également la possibilité d'associer des charges de travail spécifiques à des ensembles de nœuds spécifiques dans un cluster InterSystems IRIS. Par exemple, les charges de travail de reporting ou d'analyse peuvent être attribuées à un pod, et les charges de travail à forte intensité transactionnelle à un autre. La couche suivante de l'architecture built-in interoperability est un sous-système d'interopérabilité intégré. Il intègre les données provenant de messages, de périphériques et d'API différents. Il intègre également les données de masse, selon les modèles ETL ou ELT (extraction-transformation-chargement ou extraction-chargement-transformation). InterSystems IRIS Interoperability utilise le plan de données commun comme référentiel intégré pour tous les éléments de gestion des messages et d'intégration des données. Cela bénéficie ainsi des performances et de la fiabilité des deux premières couches, ainsi que des capacités multimodèles. Par exemple, les données de structure de masse ont tendance à être orientées relationnellement, et de nombreux protocoles de messagerie ont tendance à être orientés document. Par défaut, l'interopérabilité est persistante, ce qui signifie que les messages de données et les transformations sont stockés dans le système à des fins d'audit, de relecture et d'analyse. Contrairement à de nombreuses autres offres de middleware d'interopérabilité, la livraison peut être garantie, tracée et auditée à tous les niveaux. Vous pouvez confirmer qu'un message a été livré ou savoir qui a envoyé quel message à qui, ce type d'information étant important tant pour l'analyse que pour la recherche. Le paradigme général de l'interopérabilité InterSystems IRIS est orienté objet. Cela facilite la création et la maintenance des adaptateurs: l'héritage d'objets minimise les efforts nécessaires à la création d'adaptateurs personnalisés, y compris les tests. Il aide également à la création et à la maintenance des transformations de données. Comme le montre la figure 8, l'utilisation d'un objet commun peut réduire considérablement le nombre de transformations nécessaires entre différents formats de données ou protocoles. Plutôt que de créer et de maintenir une transformation de données pour chaque paire, une seule transformation pour chaque format de données vers un objet commun fournit une approche plus simple, plus facile à tester et à maintenir. Au sein du sous-système d'interopérabilité InterSystems IRIS, il existe un large éventail de scénarios d'intégration entre les messages, les périphériques et les API. Cette interopérabilité comprend la gestion intégrée du cycle de vie complet des API, des fonctionnalités de streaming, l'intégration de l'IoT, la compatibilité avec les services cloud, etc. Nous fournissons également des passerelles dynamiques en plusieurs langues, permettant une intégration hautement performante des applications existantes dans ces flux de données, dans la langue de votre choix. L'interopérabilité InterSystems IRIS s'accompagne d'un ensemble de fonctionnalités analytiques et d'IA intégrées. Chacune de ces capacités fonctionne "à proximité des données", ce qui signifie qu'en général, nous traitons les données sur place plutôt que de les transférer vers le lieu de traitement, ce qui entraînerait des coûts et des délais considérables. Plusieurs fonctionnalités analytiques ont été intégrées à InterSystems IRIS. L'une d'elles est InterSystems IRIS BI, une architecture cubique type MOLAP pour la veille stratégique (BI), optimisée pour la latence. Comme cet ensemble de sous-systèmes est intégré à InterSystems IRIS, nous pouvons déclencher des événements SQL et des événements dans le cube en seulement 10 à 20 millisecondes entre les données et le tableau de bord. Le fait d'avoir une seule copie des données pour toutes les transactions et toutes les analyses permet de maintenir cette latence à un faible niveau. Comme ECP permet à un ensemble de nœuds d'opérer sur les analyses en isolation de la charge de travail transactionnelle, les analyses ne présentent aucun risque pour la réactivité transactionnelle, et il n'est jamais nécessaire d'avoir plus d'une copie des données. Une autre fonctionnalité est l' l'analyse adaptative ou Adaptive Analytics, qui, contrairement à InterSystems IRIS BI, n'utilise pas de cubes prédéfinis. Elle optimise et construit dynamiquement des cubes virtuels au fur et à mesure, les rendant disponibles à la fois pour la BI et l'analyse adaptative. Il s'agit d'une fonctionnalité d'analyse sans interface utilisateur de type ROLAP qui s'intègre de manière transparente à tous les principaux outils de BI, tels que Tableau, PowerBI, Qlik, Excel et autres. Outre les fonctionnalités d'analyse, plusieurs fonctionnalités de ML et d'IA sont également disponibles. Integrated ML vous permet d'écrire des modèles de type apprentissage automatique (ML) à l'aide de SQL. Il vous suffit d'écrire une commande SQL, puis de créer, d'entraîner, de valider et de pronostiquer à l'aide du modèle. Les résultats peuvent être directement utilisés dans SQL. Ainsi, les développeurs familiarisés avec SQL peuvent utiliser les pronostics ML dans leurs applications. Python est intégré directement dans le noyau de la plate-forme de données, ce qui lui permet de fonctionner directement avec les données et d'offrir des performances optimales. Vous n'avez pas besoin de transférer les modèles créés dans un environnement de développement ou de lab vers un environnement de production où vous les exécutez. Vous pouvez créer et exécuter vos modèles dans le même cluster, ce qui vous garantit que les données utilisées sont identiques et cohérentes. Les projets de science des données sont simples et rapides. Les fonctionnalités de recherche vectorielle intégrée d'InterSystems IRIS vous permettent d'effectuer des recherches dans des données non structurées et semi-structurées. Les données sont converties en vecteurs (ou intégrations), puis stockées et indexées dans InterSystems IRIS pour la recherche sémantique, la génération augmentée par la récupération (RAG), l'analyse de texte, les moteurs de recommandation et d'autres cas d'utilisation. Ces couches (le moteur de données central, la couche ECP pour étendre l'interopérabilité et nos fonctionnalités d'analyse) font partie de notre capacité unique à alimenter une architecture de données intelligentes Smart Data Fabric. La structure de données est un modèle architectural qui fournit une gouvernance commune à une grande variété de données et de sources de données. Un modèle courant pour une structure de données consiste à importer des données provenant de plusieurs sources, à les normaliser, à les dédupliquer, à les corréler de manière croisée et à les améliorer, puis à les mettre à la disposition d'une variété d'applications différentes: La plupart des structures de données offrent plusieurs fonctionnalités, notamment l'ingestion, le pipelining, les métadonnées, etc. L'approche d'InterSystems se distingue par l'intégration de l'analyse et de l'IA au cœur de la structure de données: L'un des principes clés de la technologie InterSystems est "connecter ou collecter". Certaines fonctionnalités d'InterSystems IRIS, telles que les tables étrangères ou fédérées, vous permettent de travailler ou de "vous connecter" aux données là où elles se trouvent. Vous pouvez également choisir de collecter ces données. InterSystems IRIS est indépendant des fournisseurs de cloud et fonctionne sur site, dans le cloud de votre choix, dans des scénarios hétérogènes et hybrides, ou dans des environnements multicloud. La partie de nos activités qui connaît la croissance la plus rapide est celle des services cloud, disponibles sur plusieurs clouds. Il est essentiel de pouvoir exécuter les applications où vous le souhaitez. C'est ce qui distingue InterSystems IRIS, par exemple, des installations fournies par les fournisseurs de cloud eux-mêmes ou de nombreuses options actuelles pour les magasins de données. Vous pouvez exécuter InterSystems IRIS et les applications créées avec ce produit où vous le souhaitez. Bien entendu, InterSystems IRIS est également disponible en tant que service géré dans le cloud. Articles supplémentaires à ce sujet: Différents modèles de données dans InterSystems IRIS Quatre API de base de données ECP et API de gestion de processus Comment développer en IRIS BI (y compris avec gestion du changement) Développement d'une solution d'analyse avec IRIS Utilisation de Python intégré Recherche vectorielle et modèles RAG (Retrieval Augmented Generation) Source: Plateforme de données InterSystems IRIS: Guide d'architecture
Article
Sylvain Guilbaud · Mai 19

Intégration avec InterSystems IRIS : un guide complet

Bonjour à la communauté, Exploitez tout le potentiel d'InterSystems IRIS et accompagnez votre équipe dans son intégration grâce à la gamme complète de ressources de formation InterSystems, disponibles en ligne et en présentiel, adaptées à chaque rôle de votre organisation. Les développeurs, administrateurs système, analystes de données et intégrateurs peuvent rapidement se familiariser avec la solution. Ressources d'intégration pour chaque rôle Développeurs Programme d'apprentissage en ligne: Getting Started with InterSystems IRIS for Coders (21h) Formation en classe: Developing with InterSystems Objects and SQL (5 days) Administrateurs système Parcours d'apprentissage: InterSystems IRIS Management Basics (10h) Formation en classe: Managing InterSystems Servers (5 days) Analystes de données Vidéo: Introduction to Analytics with InterSystems (6m) Parcours d'apprentissage pour chaque outil: Analyzing Data with InterSystems IRIS BI Delivering Data Visually with InterSystems Reports (1h 15m) Build Data Models Using Adaptive Analytics (2h 15m) Formation en classe: Using InterSystems Embedded Analytics (5 days) Integrators Programme d'apprentissage: Getting Started with InterSystems IRIS for Health for Integrators (14h) Formation en classe: Developing System Integrations et Building and Managing HL7 Integrations (5 days each) Implementers Parcours d'apprentissage: Deploying InterSystems IRIS in Containers and the Cloud (3h) Programme d'apprentissage: Getting Started with InterSystems IRIS for Implementers (26h) Project managers Regardez les vidéos de présentation des produits. Lisez les success stories pour vous inspirer : découvrez comment d’autres utilisent les produits InterSystems ! Autres ressources des services d'apprentissage 💻 Programme d'apprentissage en ligne: Inscrivez-vous gratuitement sur learning.intersystems.com pour accéder à des cours, vidéos et exercices à votre rythme. Vous pouvez également suivre des parcours d'apprentissage axés sur les tâches ou des programmes axés sur les rôles pour faire progresser votre carrière. 👩‍🏫 Formation en classe: Consultez le programme des formations en présentiel, en présentiel ou en classe virtuelle, ou demandez une formation privée pour votre équipe. Plus d'informations sur classroom.intersystems.com. 📘 documentation InterSystems IRIS : Documents de référence complets, guides et articles pratiques. Explore the documentation. 📧 Support: Pour le support technique, envoyez un e-mail à support@intersystems.com. Opportunités de certification Une fois que vous et les membres de votre équipe avez acquis suffisamment de formation et d’expérience, devenez certifié selon votre rôle ! Apprendre de la communauté 💬 Participez à l'apprentissage au sein de la communauté des développeurs : discutez avec d'autres développeurs, posez des questions, lisez des articles et restez informé des dernières annonces. Consultez cet article pour découvrir des conseils sur la façon d'apprendre au sein de la communauté des développeurs.. Grâce à ces ressources d'apprentissage, votre équipe sera parfaitement équipée pour optimiser les fonctionnalités d'InterSystems IRIS et favoriser la croissance et la réussite de votre organisation. Pour toute question, posez-la ici ou contactez votre ingénieur commercial dédié.
Annonce
Irène Mykhailova · Sept 22, 2022

50 % de réduction sur les examens de certification InterSystems à InterSystems UK&I Summit 2022

InterSystems est fier d'offrir 50 % de réduction sur les examens de certification InterSystems à tous les participants inscrits au UK&I Summit. Des bons seront disponibles au bureau d'inscription. Examens disponibles HealthShare Health Connect HL7 Interface Specialist InterSystems IRIS Core Solutions Developer HealthShare Unified Care Record Technical Specialist HealthShare Patient Index Technical Specialist InterSystems CCR Technical Implementation Specialist Nouveau ! InterSystems IRIS System Administration Specialist (le lien sera bientôt disponible) Ne manquez pas votre chance d'améliorer vos compétences ! Inscrivez-vous au UK&I Summit dès aujourd'hui !
Article
Iryna Mykhailova · Déc 2, 2022

Revue du cours Building Basic HL7 Integrations with InterSystems sur InterSystems Learning

Salut la Communauté! Parce que je n'avais aucune idée de comment construire une solution d'intégration pour HL7 et que je ne savais pas par où commencer, j'ai décidé de suivre le cours Building Basic HL7 Integrations with InterSystems sur le portail d’apprentissage en ligne InterSystems Learning pour avoir au moins l'idée par où commencer. Après avoir tout étudié, j'ai décidé que ce serait peut-être une bonne idée de partager mes pensées et mes réflexions à ce cours avec tout le monde. Ce parcours d'apprentissage se compose de cinq étapes : Découvrez un moteur d'intégration InterSystems (30 minutes) Acheminez efficacement les messages HL7v2 (1 heure) Modifier les données pour répondre aux exigences du système (1 heure 20 minutes) Dépanner au moment du besoin (2 heures) Pratiquez les compétences de ce chemin (1 heure 30 minutes) Mais avant de commencer à disséquer ce cours, voici quelques ressources facultatives qui peuvent être utiles si vous êtes un débutant complet dans les produits d’InterSystems : Cours en ligne : Introduction aux produits et technologies InterSystems (30m) Vidéo : Qu'est-ce qu'InterSystems IRIS for Health ? (3m) Le premier cours donne les bases des produits et technologies InterSystems et permet aux étudiants de découvrir quels produits existent, comment ils sont utilisés et comment ils se comparent les uns aux autres d'un point de vue non technique. Il faut environ 30 minutes pour terminer ce cours qui se compose de quatre leçons d'instruction et de plusieurs questions de quiz. Du deuxième cours, vous apprendrez ce qu'est InterSystems IRIS for Health. Il s'agit de la première et unique plateforme de données au monde spécialement conçue pour extraire la valeur des données de santé. Sur cette plateforme, les développeurs peuvent créer et faire évoluer des applications de soins de santé avec des outils spécialement conçus pour répondre aux besoins actuels et futurs des soins de santé modernes. Après le cours, le système propose à l'utilisateur de continuer avec deux autres cours : Commencer à construire une production de soins de santé dans un environnement de développement (cours en ligne, 30m) Passez à l'étape suivante avec la création d'intégrations HL7 avancées (parcours d'apprentissage, 2h) Revenons donc au parcours en cours et examinons plus en détail ses cinq étapes. La première est l'architecture d’intégration. Cela vous prend 30 minutes si vous ne faites pas de pauses. Ce cours contient trois leçons et plusieurs questions de quiz après chaque leçon. Cette partie vous apprendra l'architecture de base des capacités d'intégration et comment les données circulent à travers ces composants, permettant l'interopérabilité entre les systèmes. À la fin de ce cours, vous serez en mesure de : Identifier les parties d'un moteur d'intégration. Expliquer les fonctions des services métiers (business services), des processus métiers (business processes), des opérations métiers (business operations) et des adaptateurs (adapters). Une fois qu'un service métier a extrait des données dans la production, il peut : Envoyer des messages à un processus métier ou à une opération métier. Acceptez les réponses d'un processus métier ou d'une opération métier. Renvoyer les réponses aux applications appelantes. Les processus métier peuvent accepter, renvoyer et envoyer des messages de réponse vers et depuis des services métier et des opérations métier : Acceptez les messages de demande d'un service métier ou d'un autre processus métier. Coordonnez les demandes et les réponses de plusieurs composants de production. Renvoyer des réponses aux processus métier ou aux services métiers. L'objectif principal d'une opération métier est d'envoyer des données hors d'une production. Au sein d'une production, les adaptateurs effectuent les opérations suivantes : Gérer la technologie et le protocole spécifiques utilisés pour communiquer avec une application. Incluez des détails tels que les ports et les en-têtes de message qui aident la production à communiquer avec l'application. Isolez la logique spécifique à la connexion du reste de la production. Certains adaptateurs sont bidirectionnels, permettant aux messages de circuler de et vers des services ou des opérations métier. Il existe deux types d'adaptateurs : Adaptateurs entrants – utilisés dans les services métiers. Adaptateurs sortants – utilisés dans les opérations métiers. Décrire le flux de messages au sein d'une solution d'intégration. La deuxième étape consiste en 1 cours en ligne, 4 vidéos et un exercice : Cours : HL7 Business Services and Business Operations (30 minutes) Vidéo : Configuration de la validation des messages HL7 V2 dans les productions (6 minutes) Vidéo : Routage des messages HL7 (8 minutes) Vidéo : Utilisation de la syntaxe des parenthèses et des parenthèses HL7 V2 pour identifier l'URL des propriétés virtuelles (6 minutes) Vidéo : Utilisation de l'éditeur d'expression dans les règles métier (8 minutes) Exercice : Création d'une URL de routeur de messages (15 minutes) Le cours contient quatre leçons et plusieurs questions de quiz après chaque leçon. Cette partie vous apprendra comment créer, configurer et copier les services métier et les opérations métier utilisés pour l'entrée et la sortie des messages HL7v2 dans une production de plate-forme de données InterSystems IRIS. À la fin de ce cours, vous serez en mesure de : Créer de nouveaux services métiers et opérations métiers HL7v2 dans une production (à la fois avec des adaptateurs de fichiers et TCP). Copier un composant HL7v2 déjà dans une production. Configurer les services métiers et les opérations métiers HL7v2. La première vidéo montre comment configurer le paramètre de validation sur un routeur de messages HL7v2 pour valider les messages HL7v2 dans les productions d'interopérabilité. La deuxième vidéo montre la fonction des règles de routage HL7v2 dans les productions InterSystems IRIS for Health et comment utiliser l'éditeur de règles pour créer un ensemble de règles pour évaluer les messages entrants et les acheminer vers les systèmes en aval appropriés. Les deux vidéos suivantes vous donnent un aperçu de l'utilisation des règles dans le processus métier. Le dernier exercice vérifiera si vous avez compris comment créer un routeur de messages et définir des règles de routage des messages au sein d'une production HL7v2. Vous obtiendrez une expérience pratique sur la façon de : Créer une production HL7 V2. Construire un routeur de messages. Définir des règles de routage des messages au sein d'une production. La troisième étape consiste en un cours en ligne, un exercice et un vidéo : Cours : Bases des transformations de données (1 heure) Exercice : Création d'une URL de transformation de données (15 minutes) Vidéo : Conception de schémas personnalisés (3 minutes) Le cours contient huit leçons et plusieurs questions de quiz après chaque leçon. Cette partie vous apprendra comment créer des transformations de données avec l'interface graphique du portail de gestion, mapper des champs, utiliser des fonctions pour modifier les champs et utiliser des littéraux comme valeurs pour les champs. À la fin, vous apprendrez comment tester et mettre en œuvre la transformation. À la fin de ce cours, vous serez en mesure de : Expliquer les raisons possibles de l'utilisation d'une transformation de données. Une transformation de données crée un message cible basé sur un message source. Fréquemment, le message cible résultant a à la fois un format différent et des données différentes de la source. Créez une transformation de données à l'aide de l'assistant du Management portal. Décrivez quand vous utiliseriez deux valeurs possibles de Create : copy et new. Implémenter une fonction pour changer la valeur d'un champ. Affecter la valeur d'un champ cible à une valeur littérale. Expliquez la différence entre l'action if et l'action switch, et comment les utiliser dans vos transformations de données. Tester une transformation de données. L'exercice vérifiera si vous avez compris comment créer une transformation de données dans une production HL7v2.À la fin de cet exercice, vous serez en mesure de : Créer une transformation de données. Tester une transformation de données. La dernière vidéo vous montrera quand et comment concevoir des schémas personnalisés au sein de vos productions pour gérer les messages qui ne respectent pas les normes HL7v2. La quatrième étape consiste en 2 cours en ligne et un vidéo : Cours: Rechercher des messages à l'aide de la Message Viewer (1 heure 30 minutes) Vidéo : Gestion des erreurs dans HL7 Productions (7 minutes) Cours : Introduction au dépannage des productions (30 minutes) Le premier cours contient quatre leçons et plusieurs questions de quiz après chaque leçon. Cette partie vous apprendra comment naviguer dans la Message Viewer et rechercher des messages à l'aide des informations de l'en-tête du message, du corps du message et du contenu du message. À la fin de ce cours, vous serez en mesure de : Accéder et identifier les sections de la Message Viewer. Message Viewer est un outil utile pour rechercher des messages dans votre système. Par exemple, vous pouvez utiliser la visionneuse de messages pour rechercher tous les messages d'un hôpital local au cours des deux dernières heures ou toutes les transactions bancaires d'un certain jour. Recherchez des messages dans la Message Viewer à l'aide de critères de base, de champs d'en-tête, de propriétés de corps, de champs de table de recherche et de propriétés de document virtuel. Renvoyer des messages. La vidéo vous montrera les options de dépannage des productions HL7v2 dans InterSystems IRIS for Health™. Vous verrez comment utiliser les alertes pour résoudre rapidement les problèmes, comment gérer les messages incorrects et les NACK, et comment renvoyer ou suspendre les messages. Par exemple, nous pouvons ajouter une alerte en cas d'erreur : et voir la raison de l'erreur dans l’Event Log : De plus, nous pouvons ajouter une alerte si le message entrant est du mauvais format : Le dernier cours contient cinq leçons et plusieurs questions de quiz après chaque leçon. Cette partie vous apprendra à dépanner les productions, passer en revue les emplacements et les objectifs des pages du Management portal pour afficher les journaux, les messages, les files d'attente et les travaux. À la fin de ce cours, vous serez en mesure de : Accédez aux pages du portail de gestion : Configuration, Message Viewer, Event Log, Queues et Jobs. Trouvez des informations pour faciliter le dépannage sur les pages du Management portal. Recherchez des informations pour faciliter le dépannage dans les onglets de la page Configuration : Log, Messages, Queue et Jobs. La cinquième et dernière étape est un exercice : Construire votre première production HL7 (1 heure 30 minutes). La tâche est à passer d'un système hérité à InterSystems IRIS for Health et à créer une production HL7v2 basée sur un ensemble de spécifications, en utilisant une approche de la génération à la sortie qui crée une interface pour générer les mêmes messages que l’ancien système. À la fin de ce cours, vous serez capable de : Appliquez vos connaissances des concepts HL7v2 à un scénario réel Créez votre propre production HL7v2 avec InterSystems IRIS for Health Je peux dire que cet exercice exige plus de connaissance qu’il était donné lors de ce training. Mais c’est possible d'ouvrir des indices sur la façon de faire toutes les étapes. En tout cas je l'ai trouvé très utile et instructif de faire cette dernière partie. En a fait une belle touche finale pour les 6+ heures d'expérience. Si vous débutez avec les productions et/ou HL7v2, cette formation sera une belle première étape. Je la recommande totalement. Comme d'habitude, si vous avez des questions sur ce sujet ou sur la formation, n'hésitez pas à les poser dans les commentaires.
Annonce
Adeline Icard · Juin 15, 2023

InterSystems Supply Chain Orchestrator et InterSystems IRIS for Supply Chain sont désormais disponibles

InterSystems a le plaisir d'annoncer que le composant central d'InterSystems Supply Chain Orchestrator™, la version 2023.1 d'InterSystems IRIS for Supply Chain, est désormais généralement disponible (GA). InterSystems Supply Chain Orchestrator s'appuie sur InterSystems IRIS®, notre plate-forme de données complète axée sur le cloud qui permet à une architecture de matrice de données intelligente de faciliter la création et le déploiement d'applications hautes performances basées sur l'apprentissage automatique qui connectent les silos de données et d'applications. Il associe la puissance d'InterSystems IRIS à des accélérateurs et des cadres spécifiques à la chaîne d'approvisionnement pour fournir des solutions optimisées pour l'orchestration de la chaîne d'approvisionnement, la détection et la prévision de la demande, l'exécution et le reconditionnement rapide des biens de consommation. Un composant clé d'InterSystems Supply Chain Orchestrator est InterSystems IRIS for Supply Chain, qui rapproche l'architecture de matrice de données intelligente offerte par InterSystems IRIS des cas d'utilisation de la chaîne d'approvisionnement et aide à accélérer le retour sur investissement. * : nécessite le serveur avancé InterSystems IRIS ** : disponible via InterSystems Package Manager (IPM) Faits saillants des fonctionnalités InterSystems IRIS for Supply Chain 2023.1 offre les fonctionnalités suivantes en plus d'InterSystems IRIS : Un modèle de données de chaîne d'approvisionnement personnalisable Cubes d'analyse intégrés Cadre de configuration des KPI Gestion du cycle de vie des problèmes Analyse des problèmes et informations exploitables Prise en charge complète de l'API REST Documentation et références Documentation produit : InterSystems IRIS for Supply Chain 2023.1Apprentissage en ligne InterSystems : parcours d'apprentissage de la chaîne d'approvisionnementPrésentation d'InterSystems : chaîne d'approvisionnement