#InterSystems IRIS

0 Abonnés · 757 Publications

InterSystems IRIS est une plateforme complète de données
InterSystems IRIS vous offre tout le nécessaire pour capturer, partager, comprendre et agir sur la ressource le plus précieuse de votre entreprise : vos données.
En tant que plateforme complète, InterSystems IRIS élimine la nécessité d'intégrer plusieurs technologies de développement. Les applications nécessitent moins de code, moins de ressources système et moins de maintenance.

Article Guillaume Rongier · Sept 29, 2023 11m read

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

L'outil le plus populaire po










1
0 596
Article Iryna Mykhailova · Juil 17, 2024 4m read

Parmi les points problématiques de la maintenance des interfaces HL7 figure la nécessité d'effectuer un test de régression fiable lors du déploiement dans de nouveaux environnements et après les mises à jour. La classe %UnitTest permet de créer des tests unitaires et de les intégrer au code de l'interface. Les données de test peuvent également être enregistrées au sein de la classe de test unitaire, ce qui permet de réaliser rapidement et facilement des tests de fumée et des tests de régression.

##Ressources:

  • Classe %UnitTest standard

  • Ce tutoriel utilise une modification de UnitTest-RuleSe

UnitTest Results

0
0 57
InterSystems officiel Adeline Icard · Juil 11, 2024

La version 24.1 d'InterSystems Reports est désormais disponible sur le site InterSystems Software Distribution dans la section Components. Le logiciel s'appelle InterSystems Reports Designer et InterSystems Reports Server et est disponible pour les systèmes d'exploitation Mac OSX, Windows et Linux.

Cette nouvelle version apporte de grandes améliorations de notre partenaire, insightsoftware. InterSystems Reports 24.1 est optimisé par Logi Report version 24.1SP2 et comprend :

  • Personnalisez les annotations pour améliorer la représentation visuelle des pièces jointes dans un document compatibl
0
0 57
Question ala zaalouni · Juil 9, 2024
  1. Lors de l'enregistrement des composants : j'ai utilisé cette commande :
  2. "Utils.migrate("/external/src/CoreModel/Python/settings.py")" ;
  3. L'erreur apparaît : "Une erreur s'est produite : iris.cls: error finding class",
  4. J'ai changé avec ces deux lignes :
  5. résultat = sous-processus.run(["iop", "-m", "/external/src/CoreModel/Python/settings.py"], stdout=sous-processus.PIPE, stderr=sous-processus.PIPE, check=True)
  6. subprocess.run(["iop", "-m", "/external/src/CoreModel/Python/settings.py"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, check=True)
  7. il y a aussi une erreur : "Une err
0
0 57
Article Sylvain Guilbaud · Juil 8, 2024 2m read

Pour des raisons pratiques, il peut être souhaitable qu'après un redémarrage du serveur Linux, l'instance IRIS soit automatiquement démarrée. 

Vous trouverez ci-dessous les étapes à suivre pour automatiser le démarrage d'IRIS lors d'un reboot du serveur Linux, via systemd :

1. Créer un fichier iris.service dans /etc/systemd/system/iris.service contenant les informations suivantes 

[Unit]
Description=InterSystems IRIS Data Platform
After=network.target

[Service]
Type=forking
User=irisusr
ExecStart=/usr/bin/iris start iris
ExecStop=/usr/bin/iris stop iris quietly
Restart=on-failure
0
0 138
Question Julia Pertin · Juin 6, 2024

Bonjour, 

Je peux récupérer au sein d'un interop un objet dynamique vide : "{}"

Il faudrait que je puisse ajouter une condition afin de ne pas faire un traitement dans le cas ou je n'ai pas de contenu. Le seul moyen que j'ai trouvé pour l'instant c'est de vérifier si $LENGTH > 2 car cela me prend en compte les accolades. 

Avez-vous un moyen beaucoup plus propre ? 

Merci pour vos réponses

2
0 68
Article Lorenzo Scalese · Juil 2, 2024 7m read

Enfin et avec un peu de retard, nous concluons cette série d'articles sur notre moteur de Workflow en montrant un exemple de connexion que nous pourrions établir à partir d'une application mobile.

Dans l'article précédent, nous avons présenté un exemple d'application permettant un contrôle détaillé d'une pathologie chronique telle que l'hypertension, tant pour le patient que pour son médecin associé. Dans cet exemple, le patient pourra accéder à une application web à partir de son téléphone portable (en fait, à une page web conçue pour s'adapter à cet appareil) dans laquelle il recevra des not


0
0 69
Article Pierre LaFay · Juin 26, 2024 2m read

InterSystems FAQ rubric

Le type TIMESTAMP correspond au type de données %Library.TimeStamp (=%TimeStamp) dans les produits InterSystems, et le format est YYYY-MM-DD HH:MM:SS.nnnnnnnnn.

Si vous souhaitez modifier la précision après la virgule, définissez-la à l'aide de la méthode suivante.

1) Définir la précision à l'échelle du système

Portail de gestion : [Administration du système] > [Configuration] > [Paramètres SQL et objets] > [Paramètres SQL généraux] 
Précision de l'heure par défaut pour GETDATE(), CURRENT_TIME, CURRENT_TIMESTAMP. Vous pouvez spécifier le nombre de chiffres entre 0 et

0
0 53
Article Pierre LaFay · Juin 26, 2024 1m read

InterSystems FAQ rubric

Pour désactiver le délai d'attente, réglez le délai d'attente de la requête sur désactivé dans les paramètres DSN :

Panneau de configuration de Windows > Outils d'administration > Sources de données (ODBC) > Configuration DSN du système

Si vous cochez la case Désactiver le délai d'attente des requêtes, le délai d'attente sera désactivé.

Si vous souhaitez le modifier du côté de l'application, vous pouvez le définir au niveau de l'API ODBC.

Définissez l'attribut SQL_ATTR_QUERY_TIMEOUT lorsque vous appelez la fonction ODBC SQLSetStmtAttr avant de vous connecter à la s

0
0 75
Article Pierre LaFay · Juin 26, 2024 2m read

Si vous voulez obtenir le premier et le dernier jour d'un mois, j'ai une ClassMethod à vous proposer (version 2, correction d'une erreur trouvée par Eduard) :

ClassMethod GetMonthPeriods(InitialYear As%Integer, EndYear As%Integer) As%Status
{
    set sc = $$$OKset result = []
    For CurrentYear = InitialYear:1:EndYear {
        For CurrentMonth = 1:1:12 {
            set item = {}
            If CurrentMonth < 10 {
                Set CurrentMonthStr = "0"_CurrentMonth
            } Else {
                Set CurrentMonthStr = ""_CurrentMonth
            }
            Set
0
0 41
Article Pierre LaFay · Juin 26, 2024 3m read

Contexte

Dans les versions >=2021.2 d'InterSystems IRIS, nous pouvons utiliser le [binaire irispython pour écrire directement du code python au-dessus de nos instances IRIS] (https://docs.intersystems.com/iris20212/csp/docbook/DocBook.UI.Page.cls?KEY=AEPYTHON#AEPYTHON_runpython_script). Cela nous permet d'utiliser des paquets python, d'appeler des méthodes, de faire des requêtes SQL et de faire à peu près tout ce qui se fait en Objectscript mais en python.

Par exemple, ci-dessous, je vérifie si un espace de noms est présent :

#!/usr/irissys/bin/irispython
import iris
# call arbitrary class met

image

0
0 58
Article Pierre LaFay · Juin 26, 2024 1m read

Récemment, j'ai voulu obtenir une liste de toutes les requêtes mises en cache et de leurs textes. Voici comment procéder.

Créez d'abord une procédure SQL renvoyant le texte de la requête mise en cache à partir d'un nom de routine de requête mise en cache :

Class test.CQ
{

/// SELECT test.CQ_GetText()
ClassMethod GetText(routine As %String) As %String [ CodeMode = expression, SqlProc ]
{
##class(%SQLCatalog).GetCachedQueryInfo(routine)
}

}

Ensuite, vous pouvez exécuter cette requête :

SELECT Routine, test.CQ_GetText(Routine)
FROM %SQL_Manager.CachedQueryTree()

Et obtenir une li

0
0 53
Article Pierre LaFay · Juin 26, 2024 2m read

InterSystems FAQ rubric

La procédure de téléchargement à partir d'un serveur FTP est la suivante.

1. Télécharger le fichier image sur le serveur FTP

 set tmpfile="c:\temp\test.jpg"
 set ftp=##class(%Net.FtpSession).%New() 
 // connect to FTP server
 do ftp.Connect("","<username>","<password>")
 // set transfer mode to BINARY
 do ftp.Binary()
 // Move to the directory to upload
 do ftp.SetDirectory("/temp/upload")
 // Prepare a stream of files to upload  
 set file=##class(%File).%New(tmpfile)
 do file.Open("UK\BIN\")
 // upload file
 // 1st argument: File name to create at upload destination
 // 2nd arg


0
0 79
Article Pierre LaFay · Juin 24, 2024 5m read

InterSystems FAQ rubric

Les données des produits InterSystems (données de ligne de table, données d'instance d'objet) sont stockées dans des variables globales.
La taille des données de chaque variable globale peut être obtenue en cliquant sur les propriétés de la variable globale que vous souhaitez visualiser sur la page Portail de gestion > Système > Configuration > Base de données locale > Globales, puis en cliquant sur le bouton Calculer la taille sur la page Attributs globaux qui s'affiche.
Pour afficher la taille des données des globaux dans un espace de noms, vous pouvez appeler l'utilit

0
0 65
Article Guillaume Rongier · Juin 24, 2024 10m read

InterSystems IRIS dispose d'une série de dispositifs facilitant la capture, la persistance, l'interopérabilité et la génération d'informations analytiques à partir de données au format XML. Cet article vous montrera comment procéder:

  1. Capture du XML (via un fichier dans notre exemple);
  2. Traitement des données capturées en interopérabilité;
  3. Persistance du XML dans les entités/tables persistantes;
  4. Création des vues analytiques pour les données XML capturées.

Capture des données XML

L'InterSystems IRIS dispose de nombreux adaptateurs intégrés pour capturer des données, notamment les suivants:

  1. Ad
























0
1 101
Article Lorenzo Scalese · Juin 20, 2024 7m read

Dans notre article précédent, nous avons présenté les concepts généraux ainsi que le problème que nous voulions résoudre en utilisant le moteur de tâches intégré dans InterSystems IRIS. Dans l'article d'aujourd'hui, nous verrons comment configurer une production d'interopérabilité pour fournir une solution.

Configuration du moteur de workflow

Tout d'abord, nous allons définir les rôles des tâches à gérer. Dans notre exemple, nous allons définir deux types de tâches:

  • AutomaticBloodPressureRole: pour créer des tâches automatiques qui ne nécessitent aucune intervention de la part de l'utilisateu

0
0 58
Article Lorenzo Scalese · Juin 18, 2024 6m read

Cela fait un certain temps que j'ai l'intention de faire une sorte de démonstration de concept avec la fonctionnalité Workflow (flux de travail), qui, comme beaucoup d'autres fonctionnalités disponibles dans IRIS, tend à passer inaperçue aux yeux de nos clients (et je fais ici mon mea culpa). C'est pourquoi j'ai décidé il y a quelques jours de développer un exemple de configuration et d'exploitation de cette fonctionnalité en la connectant à une interface utilisateur développée en Angular.

Pour ne pas faire un article trop long et le rendre plus accessible, je vais le diviser en 3 parties. Dan

0
0 69
Article Iryna Mykhailova · Juin 17, 2024 2m read

FAQ InterSystems

Vous pouvez utiliser la classe %IndexBuilder pour effectuer une reconstruction d'index à l'aide de plusieurs processus. L'exemple suivant a pour but de définir l'index standard HomeStateIdx pour la colonne Home_State (informations d'état de l'adresse de contact) de Sample.Person.

Les étapes sont les suivantes:

1. Masquez le nom de l'index à ajouter/reconstruire à partir de l'optimiseur de requêtes.

>write$system.SQL.SetMapSelectability("Sample.Person","HomeStateIdx",0)
1

2. Ajoutez %IndexBuilder à la superclasse la plus à droite de la définition de classe qui définit le

0
0 68
Article Pierre LaFay · Juin 12, 2024 1m read

InterSystems FAQ rubric

Si vous souhaitez exécuter un fichier exécutable du système d'exploitation, une commande ou un programme créé dans un produit InterSystems au démarrage de ce dernier, écrivez le traitement dans la routine SYSTEM^%ZSTART. (La routine %ZSTART est créée dans l'espace de noms %SYS).

Avant d'écrire du code dans la routine SYSTEM^%ZSTART, assurez-vous qu'il fonctionne correctement dans toutes les conditions.

Si la routine ^%ZSTART est mal écrite, ou si elle est écrite correctement mais que la commande ne renvoie pas de réponse ou qu'une erreur se produit pendant le traitem

0
0 51
Annonce Irène Mykhailova · Juin 11, 2024

Bonjour à tous,

L'équipe de certification d'InterSystems Learning Services développe un examen de certification InterSystems ObjectScript Specialist, et nous contactons la communauté pour obtenir des commentaires qui nous aideront à évaluer et à établir le contenu de cet examen. Veuillez noter qu'il s'agit de l'un des deux examens en cours de développement pour remplacer notre examen InterSystems IRIS Core Solutions Developer. Vous pouvez trouver plus de détails sur notre examen InterSystems IRIS Developer Professional ici.

0
0 42
InterSystems officiel Guillaume Rongier · Juin 10, 2024

Les mises à jour récentes d'Intersystems Language Server introduisent de nombreuses améliorations significatives visant à améliorer l'expérience et la productivité des développeurs. Je vais parler de certains des principaux ici, tandis que la liste complète, y compris de nombreuses corrections de bugs, peut être trouvée dans le CHANGELOG de Language Server.

Descriptions détaillées des erreurs de syntaxe

Dans le passé, toutes les erreurs de syntaxe étaient signalées simplement comme "Erreur de syntaxe". Désormais, l'erreur de syntaxe signalée dans le volet PROBLEMES de VS Code contient les mê

0
0 81
Question Julia Pertin · Mai 15, 2024

Bonjour, 

Je souhaite réaliser une méthode générique pour modifier des propriétés d'une classe dynamique. Lorsque je fais un JSONImport() cela fonctionne très bien pour certains objet, or dans le cas d'un objet contenant une liste cela m'ajoute un élément en plus au lieu de la modifier. J'ai essayée de vérifier le type lors de l'itération du JSON afin de faire un Insert mais je n'arrive pas à utiliser les $METHOD sur le Insert ou même le %Set. 

Voici la classe : 

Class Epc.conf.poste Extends (%Persistent, %JSON.Adaptor)
{

Property NomPoste As%String(%JSONFIELDNAME = "NomPoste", MAXLEN 

2
0 114
Article Sylvain Guilbaud · Juin 7, 2024 10m read

Avant-propos

Les versions 2022.2 et ultérieures d'InterSystems IRIS offrent la possibilité de s'authentifier auprès d'une API REST à l'aide de jetons web (JWT) JSON. Cette fonctionnalité renforce la sécurité en limitant le lieu et la fréquence de transfert des mots de passe sur le réseau et en fixant un délai d'expiration pour l'accès.

L'objectif de cet article est de servir de tutoriel sur la façon d'implémenter une API REST fictive en utilisant InterSystems IRIS et de verrouiller l'accès à cette API par le biais de JWT.

REMARQUE Je ne suis PAS développeur. Je ne fais aucune déclaration quant

retrieving specific character

0
1 92
Article Iryna Mykhailova · Juin 5, 2024 3m read

Le stockage en colonnes est l'une des offres les plus récentes proposées par InterSystems IRIS.Contrairement au stockage traditionnel basé sur les lignes, il optimise le traitement des requêtes en stockant les données dans des colonnes plutôt que dans des lignes, permettant ainsi un accès et une récupération plus rapides des informations pertinentes.

Quelques articles ont été rédigés sur les moments il doit être utilisé pour donner le plus grand coup de pouce à un système et sur la façon de créer des tables comme celle-ci à l'aide de SQL.

CREATETABLEtable (column1 type1, column2 type2, column3 type3) WITH STORAGETYPE = COLUMNAR  -- ex 1CREATETABLEtable (column1 type1, column2 type2, column3 type3 WITH STORAGETYPE = COLUMNAR)  -- ex 2

et même les tests de performances.

Comme nous le savons tous, InterSystems IRIS est un SGBD multimodèle et il donne un accès transparent aux mêmes données en utilisant un accès relationnel et objet. Le premier est donc couvert dans d’autres articles, mais qu’en est-il du dernier?

0
0 80