0 Abonnés · 10 Publications

Studio est une application cliente, conçue à partir d'objets Caché, qui s'exécute sur des systèmes d'exploitation basés sur Windows-. Elle peut se connecter à tout serveur Caché (compatible avec la version actuelle de Studio), quels que soient la plateforme et le système d'exploitation utilisés par ce serveur.

Documentation.

Article Pierre LaFay · Déc 30, 2023 6m read

Introduction

Depuis qu'InterSystems a récemment annoncé l'arrêt du support d'InterSystems Studio à partir de la version 2023.2 au profit du développement exclusif d'extensions pour l'IDE Visual Studio Code (VSC), estimant que ce dernier offre une expérience supérieure par rapport à Studio, beaucoup d'entre nous, développeurs, avons changé ou commencé à utiliser VSC. Beaucoup se sont peut-être demandé comment ouvrir le Terminal pour effectuer des opérations, car VSC n'a pas de panneau de sortie comme Studio, ni de fonctionnalité intégrée pour ouvrir le terminal IRIS, sauf en téléchargeant les plugins développés par InterSystems.

1
0 222
InterSystems officiel Adeline Icard · Déc 9, 2024

Cela fait un moment que je n'ai pas publié d'article sur Embedded Git sur la Communauté des développeurs, et j'aimerais faire le point sur l'énorme quantité de travail que nous avons accompli cette année et sur la direction que nous allons prendre ensuite.

Contexte

Si vous créez des solutions sur IRIS et que vous souhaitez utiliser Git, c'est parfait ! Utilisez simplement VSCode avec un dépôt git local et transmettez vos modifications sur le serveur : c'est aussi simple que cela.

Mais que se passe-t-il si :

0
0 45
Article Iryna Mykhailova · Juil 31, 2024 2m read

Je me suis retrouvé dans la situation peu confortable de travailler avec un système Linux sur lequel quelqu'un avait accidentellement désactivé l'accès utilisateur au shell Linux. HealthConnect était en cours d'exécution, assurant la maintenance de centaines d'interfaces. Pour résoudre le problème d'accès, cependant, nous devions arrêter l'hôte pour l'application d'un correctif.

Sans le shell, la commande iris n'est pas disponible pour contrôler l'instance, nous étions donc confrontés au risque d'arrêter le serveur de manière inélégante. Nous voulions éviter cela si possible...

0
0 68
Article Iryna Mykhailova · Juin 27, 2024 6m read

Introduction

Dans les prochaines semaines, mes collègues prévoient de commencer à utiliser VSCode pour coder avec les produits d'InterSystems. Parmi les nombreux avantages, je soulignerais la possibilité de se connecter facilement à d'autres technologies, telles que GitHub. En outre, VSCode propose également une vaste boutique d'extensions, où vous pouvez trouver de nombreux add-ons gratuits qui rendent le codage plus rapide et plus efficace. Enfin, pour conquérir le cœur de tous les développeurs, c'est open source.

Cela étant dit, commençons le tutoriel. N'hésitez pas à sauter certaines étapes si vous vous sentez à l'aise pour les réaliser sans aide.

Étape 1 - Téléchargement et installation de VSCode

Recherchez "VSCode download" ou cliquez sur this linkce lien pour télécharger à partir de la page officielle. Sélectionnez l'installation correcte pour votre ordinateur et exécutez le fichier téléchargé.

Une fois l'exécutable lancé, il vous sera demandé d'accepter la licence, de sélectionner quelques préférences (qui sont très personnelles et dont je ne parlerai pas dans ce texte), et de procéder à l'installation. 
 

Étape 2 - Installation des extensions InterSystems

Ouvrez votre VSCode dans l'onglet Extensions et recherchez le paquet ObjectScript Extension Pack dans la boutique.

Installez le paquet complet.
 

Étape 3 - Configuration de votre VSCode pour vos instances

Une fois les extensions installées, vous devriez avoir un onglet InterSystems. Vous pouvez le sélectionner et cliquer sur "+" dans la section des serveurs, comme indiqué ci-dessous, et vous serez invité à fournir des informations sur la connexion, telles que l'hôte, le port, le nom d'utilisateur et le mot de passe.

Sinon, vous pouvez aller dans votre fichier VSCode general settings.json, que vous pouvez trouver en cliquant sur l'engrenage de gestion   sur le côté gauche en bas de l'écran, en sélectionnant les configurations, et en cliquant sur "Ouvrir les paramètres (JSON)" ("Open Settings (JSON)")    sur le côté droit en haut de l'écran.

Là, vous pouvez coller le fragment JSON suivant, en le modifiant pour qu'il pointe vers votre instance.

"intersystems.servers": {
        "[YOUR SERVER NAME]": {
            "webServer": {
                "scheme": "http",
                "host": "127.0.0.1",
                "port": 53472
            },
            "username": "_system"
        }

 

Étape 4.1 - Connexion à un serveur et à un espace de noms pour le développement local

Toujours dans l'onglet InterSystems, sélectionnez la section Explorer et cliquez sur le bouton "Choisir le serveur et l'espace de noms" (Choose server and namespace).

Vous devriez être invité à choisir parmi les serveurs ajoutés lors de la dernière étape, votre nom d'utilisateur et votre mot de passe, ainsi qu'un espace de noms.

Ensuite, toujours dans le même onglet, vous pouvez utiliser la section d'exploration (Explore) ou la section des projets (Projects) pour choisir les classes et/ou les projets que vous souhaitez exporter. Si vous choisissez ce type de développement, vous pouvez ouvrir les fichiers exportés dans un espace de travail VSCode et vous connecter à GitHub, par exemple.

Étape 4.2 - Connection à un serveur et à un espace de noms pour développer sur le serveur (ma préférence)

Ouvrez l'onglet Intersystèmes dans la section Serveurs et choisissez un serveur.

Vous pouvez choisir un projet et cliquer sur le crayon pour l'ouvrir en mode édition sur votre espace de travail ou ou sur l'œil pour l'ouvrir en mode lecture.

De même, vous pouvez choisir entre les mêmes options directement sur l'espace de noms pour ouvrir tous ses fichiers dans l'espace de travail (ma préférence)

Dans les deux cas, il se peut que l'on vous demande à nouveau un nom d'utilisateur et un mot de passe. 
 

Étape 5 - Codage

Dans l'onglet de l'explorateur, après la dernière étape, votre espace de travail ressemble à l'image ci-dessous.

Vous pouvez créer un fichier et de nouveaux dossiers en cliquant avec le bouton droit de votre souris sur un répertoire, en sélectionnant "nouveau fichier" ("new file") et en le nommant avec le modèle FOLDERNAME.FILENAME.cls. En d'autres termes, vous devez nommer les dossiers en séparant les noms par des points. Le nom précédant le dernier point sera le nom du fichier, et le nom suivant le dernier point sera l'extension des fichiers COS, cls.
Par exemple, vous pouvez nommer votre fichier comme dans l'image ci-dessous, "folderone.foldertwo.filename.cls", dans le dossier User, et cliquer sur "Enter".

Ainsi, le répertoire et le fichier suivants devraient être créés automatiquement.

Maintenant, vous êtes prêt à coder comme vous le feriez en Studio.

 

Quelques conseils supplémentaires

- Vous pouvez appuyer sur Ctrl+Shift+V pour ouvrir les fichiers .int.

- Attention: contrairement à Studio, Ctrl + S dans VSCode compilera le fichier en plus de l'enregistrer.

- Maintenant, je vais vous montrer la meilleure fonctionnalité que j'ai rencontrée jusqu'à présent en codant avec VSCode. C'est de l'or en barre. Imaginez que vous ayez une instance de développeur pour les premières phases d'un projet, une autre instance pour les tests avec vos clients, et peut-être même encore une autre pour la production. Il peut être fastidieux de migrer les fichiers et les modifications entre les instances de Studio. Cependant, si vous utilisez VSCode, c'est assez simple.

Dans l'onglet Explorateur (Explorer), ouvrez la source et le fichier cible. Par exemple, si j'ai un fichier définissant des  données persistantes, et que j'ai ajouté des champs sur mon serveur de développement, et que je souhaite les transférer sur mon serveur de production, j'ouvrirai le fichier de développement et le fichier de production pour les mêmes données persistantes (une discussion sur l'ouverture de plusieurs serveurs ou espaces de noms est abordée dans la rubrique suivante).

Une fois que les deux sont ouverts, ils apparaissent dans la section "Éditeurs ouverts" ("Open Editors").

Sélectionnez le fichier source avec le bouton droit de votre souris et cliquez sur "Sélectionner pour comparer" ("Select to compare"). Cliquez avec le bouton droit sur le fichier cible et choisissez "Comparer avec sélectionné" ("Compare with selected").
BOUM! Vous aurez alors ce magnifique fichier de comparaison ouvert, comme illustré ci-dessous.

La barre située à droite de l'écran indique les différences entre les fichiers, et vous pouvez l'utiliser pour naviguer simultanément entre eux. Les couleurs rouge et verte signifient que quelque chose diffère dans les fichiers. Le rouge signifie que le fichier source contient du texte qui ne figure pas dans le fichier cible. Le vert signifie que le fichier cible contient du texte qui ne figure pas dans le fichier source. 

Cliquez sur les flèches du milieu pour transférer les modifications de la source vers la cible.

En outre, cliquez sur la flèche biface dans le coin supérieur droit de l'écran pour changer les côtés des fichiers : la source sera la cible et vice versa.

En appuyant sur Ctrl+S lorsque l'éditeur est ouvert, les deux fichiers sont enregistrés et compilés.

- Vous pouvez ouvrir plusieurs instances et espaces de noms à la fois dans votre espace de travail, tant que votre ordinateur peut le gérer. Cependant, pour que vous puissiez vous faire une idée, ces dernières semaines, j'ai travaillé avec deux espaces de noms lourds provenant de différentes instances, Studio, Microsoft Teams (qui est scandaleusement lourd), et deux autres applications pour se connecter à la base de données et aux API, le tout en même temps, avec un ordinateur ayant la configuration suivante: 8 Go de RAM et CPU de 2,10 GHz. La seule chose qui a parfois été un peu lente, c'est Studio.

Poursuite de la discussion

J'aimerais parler de débogage avec VSCode. Je n'ai pas encore trouvé quelqu'un qui l'apprécie plus que les outils de débogage de Studio. Personnellement moi, je ne suis pas très habitué à utiliser les outils de débogage VSCode avec les produits InterSystems, et même si Studio est beaucoup plus lourd, je préfère le laisser ouvert lorsque j'ai besoin de déboguer. Comment combinez-vous ces technologies? Quels sont les outils que vous préférez?

0
0 83
InterSystems officiel Sylvain Guilbaud · Mai 13, 2024

Comme la plupart d'entre vous l'ont déjà entendu, InterSystems a annoncé l'abandon de Studio avec la sortie d'IRIS 2023.2. Un plan de dépréciation détaillé a été révélé en novembre, et nous atteignons maintenant la première étape de ce plan. À partir des kits de préversion 2024.2, les kits Windows ne contiendront plus Studio. Cela signifie que les nouvelles installations utilisant ce kit n'installeront pas Studio et que la mise à niveau d'une instance existante vers la version 2024.2 (ou ultérieure) supprimera Studio du répertoire bin de l'instance.

0
0 50
InterSystems officiel Sylvain Guilbaud · Nov 15, 2023

Comme annoncé pour la première fois en mai, et après de nombreuses présentations et discussions approfondies lors du Global Summit 2023, nous poursuivons notre projet de rendre obsolète InterSystems Studio (obsolète désigne une fonctionnalité ou une technologie qu'InterSystems ne développe plus activement et pour laquelle de meilleures options existent).

1
0 90
InterSystems officiel Sylvain Guilbaud · Mai 26, 2023

InterSystems s'engage à fournir une expérience de développement de haute qualité, y compris un excellent IDE (Integrated Developer Experience). Au cours des dernières années, nous avons fait évoluer les outils ObjectScript de Visual Studio Code en parallèle avec notre IDE de longue date, InterSystems Studio. Il y a eu plus de 46 000 téléchargements du plug-in VSCode-ObjectScript, et les commentaires des développeurs indiquent qu'il s'agit d'une excellente expérience de développement, et maintenant supérieure à InterSystems Studio.

0
0 88
InterSystems officiel Sylvain Guilbaud · Mars 16, 2023

Je suis heureux d'annoncer la version 2.6.0 de l'extension VS Code ObjectScript, contenant un certain nombre d'améliorations qui facilitent la vie d'un développeur. Certains faits saillants sont décrits ci-dessous. Comme toujours, retrouvez la liste complète des modifications dans le CHANGELOG, y compris de nombreux correctifs de bogues et de vulnérabilités.

Changez rapidement de namespace

0
0 138
Article Lorenzo Scalese · Jan 9, 2023 109m read

Création et utilisation des nouvelles extensions SDA pour le stockage d'éléments de données personnalisés

Dans HSCore 15.01, il existe une nouvelle façon de stocker les éléments de données personnalisés.  HealthShare peut désormais utiliser des extensions personnalisées pour de nombreux éléments SDA.

Cet article a pour but de :

  1. Montrer comment configurer votre système pour utiliser les extensions SDA.
  2. Créer une nouvelle propriété d'extension SDA
  3. Utiliser la nouvelle propriété d'extension SDA dans les transactions HL7
  4. Interagir avec les nouvelles données
  5. Montrer la nouvelle extension SDA utilisée dans une personnalisation du Rapport de résumé du patient (Patient Summary Report).
<td>
   
</td>
 
 
Note: Pour cet article, je me sers de build :
HS-2016.1.1.108.0-hscore15.01_hsaa15_hspi15_hsviewer15.01_linkage15-b2136-win_x64
J'ai également créé le système en utilisant “d ##class(HS.Util.Installer).InstallBusDemo()”

 

Configurez votre système pour les extensions SDA

Cette section décrit comment configurer les extensions SDA pour un environnement HSCore 15.01.

Création d'un nouvel espace de noms

Dans le cadre des nouvelles extensions SDA, le nom de l'espace de noms personnalisé doit être HSCUSTOM.

Vous pouvez l'ajouter en allant dans : Management Portal->System Administration->Configuration->System Configuration->Namespaces (Portail de gestion->Administration du système->Configuration->Configuration du système->Espaces de noms).

Étapes pour créer un nouvel espace de noms :

  1. Cliquez sur le bouton "Create New Namespace" (créer un nouvel espace de noms).
  2. Entrez HSCUSTOM dans le champ “Name of the namespace” (Nom de l'espace de noms) (obligatoire).
  3. Sélectionnez le bouton "Create New Database" (Créer une nouvelle base de données)

  • Saisissez HSCUSTOM dans le champ "Enter the name of your database" (Entrez le nom de votre base de données).
  • Pour le champ “Database directory” (Répertoire de la base de données) :
    1. Cliquez sur le bouton "Browse...".
    2. Créez un nouveau dossier/répertoire, j'ai nommé mon répertoire "HSCUSTOM", il se trouve dans le répertoire “mgr”.
    3. Cliquez sur le bouton “OK”
  • Cliquez sur le bouton “Next”

  • Acceptez les valeurs par défaut, et cliquez sur le bouton "Next".
  • Créez une nouvelle ressource appelée %DB_HSCUSTOM et octroyez-lui des droits de lecture et d'écriture
  • Cliquez sur le bouton "Finish" (terminer).

4.  De retour à l'écran "New Namespace" (nouvel espace de noms), cliquez sur le bouton "Save" (enregistrer).

Cette procédure a pour effet de créer un nouvel espace de noms HSCUSTOM avec tous les mappings par défaut.

Exportation du paquet HS.Local

Une des choses que nous devons faire est de copier les classes et le code de la base de données HSLIB vers la base de données HSCUSTOM.

Vous pouvez le faire de plusieurs façons.  Je vais vous parler de la façon de le faire à partir de Studio ou de Terminal.

Exportation à partir de Studio :

  1. Connectez-vous à Studio
  2. Changez l'espace de noms en espace de noms HSLIB (remarque : ceci peut être fait à partir de n'importe quel espace de noms qui a un paquetage HS mappé à HSLIB)
  3. Allez dans le menu "Tools->Export" (outils - exportation).
  4. Cliquez sur le bouton "Add" (ajouter)
  5. Sélectionnez le dossier HS/Local, sélectionnez tout et cliquez sur le bouton "Open" (ouvrir).
  6. Cela va tout sélectionner
  7. Sélectionnez un fichier local ou distant pour exporter ces classes
    • Dans cet exemple, j'ai nommé le fichier "HSLocal.xml"

      8.  Cliquez sur le bouton "OK". 

Exportation à partir d'une session Terminal :

  1. Connectez-vous à Terminal
  2. Changez l'espace de noms en espace de noms HSLIB ( remarque : ceci peut être fait à partir de n'importe quel espace de noms qui a un paquetage HS mappé à HSLIB )
  3. HSLIB>d $system.OBJ.Export("HS.Local.*.cls","C:\Intersystems\Export\HSLocal.xml")

Ajoutez une nouvelle cartographie de paquet

Le paquet "HS.Local" doit être référencé à partir du nouvel espace de noms HSCUSTOM.  Lorsque HSCUSTOM sera créé, "HS" sera mappé vers HSLIB.  Vous devrez ajouter "HS.Local" à l'espace de noms HSCUSTOM, car il est actuellement pointé vers HSLIB.

Vous pouvez le faire manuellement via le Management Portal (Portail de gestion) ou de manière programmatique.

Management Portal (Portail de gestion) :

  1. Allez dans le Portail de gestion->Administration du système->Configuration->Configuration du système->Espaces de noms.
  2. Recherchez HSCUSTOM dans la colonne des espaces de noms et sélectionnez le lien "Package Mapping".
  3. Cliquez sur le bouton "New"
  4. Sélectionnez HSCUSTOM dans le menu déroulant "Pakage Database Location" (location de la base de données de paquet)
  5. Sélectionnez le bouton radio "Specify a new package” (Spécifier un nouveau paquet).
  6. Entrez HS.Local dans le champ "Packaga Name" (Nom du paquet)

         7. Cliquez sur le bouton "OK"

Par programmation :

Vous pouvez créer du code pour ajouter ce mappage à un espace de noms.

  1. Déplacez-vous vers l'espace de noms %SYS
    • HSCUSTOM> ZN “%SYS”
  2. Définissez la propriété de la base de données
    • %SYS> set tProperties("Database")="HSCUSTOM"
  3. Créez le mappage
    • %SYS>w ##class(Config.MapPackages).Create("HSCUSTOM","HS.Local",.tProperties)

Remarque:  Vous devrez le faire pour chaque espace de noms et instance qui est un espace de noms HealthShare, à l'exception des espaces de noms Library.   Il est important d'avoir ces mappages pour que les autres espaces de noms puissent accéder au code HSCUSTOM à utiliser dans leur traitement, comme les applications telles que Patient Index et Health Insight.

Importation du paquet HS.Local

Maintenant que les paquets HS.Local pointent vers HSCUSTOM, vous pouvez déplacer les classes que nous avons exportées précédemment dans l'espace de noms HSCUSTOM.

Vous pouvez le faire de plusieurs façons.  Je vais vous parler de la façon de le faire à partir de Studio ou de Terminal.

Importation à partir de Studio:

  1. Connectez-vous à Studio
  2. Changez l'espace de noms en espace de noms HSCUSTOM.
  3. Allez dans le menu Tools->Import Local (Outils->Importer Local).
  4. Sélectionnez le fichier que vous avez exporté
  5. Appuyez sur le bouton "Open" (ouvrir).
  6. Vous devriez voir toutes les classes cochées et l'option "Compile Imported Items" (Compiler les éléments importés) cochée.

     7.  Cliquez sur le bouton "OK". 

Importation à partir d'une session Terminal :

  1. Connectez-vous à Terminal
  2. Changer l'espace de noms en HSCUSTOM
  3. HSLIB>d $system.OBJ.Load("C:\Intersystems\Export\HSLocal.xml",”ck”)

Résumé

Nous avons maintenant l'infrastructure pour les nouvelles extensions SDA personnalisées de HSCore 15.01.  Nous avons les classes HS.Local définies dans une nouvelle base de données HSCUSTOM et nous avons tous les espaces de noms qui pointent vers la localisation appropriée.

Si vous avez plus d'une instance de cache, l'espace de noms HSCUSTOM et les mappages HS.Local doivent se trouver sur chaque instance qui exécute HealthShare.

Création d'une nouvelle extension SDA personnalisée

Maintenant que nous avons les éléments nécessaires, nous allons créer une nouvelle propriété personnalisée.

Nous allons commencer par créer une propriété personnalisée pour le Patient SDA (SDA du patient).

En regardant les annotations HL7, il semble que "Veterans Military Status" (statut militaire des vétérans), qui est le PID, pièce 27, n'est pas utilisé dans SDA, alors essayons de créer ceci comme notre extension SDA personnalisée.

Comme la pièce PID 27 est un champ d'entrée codé, nous allons montrer que les nouvelles extensions SDA personnalisées sont plus que la paire nom/valeur précédente, il s'agit maintenant d'un type de données plus complexe.  Dans cet exemple, nous créons un type de propriété personnalisé.

Edit HS.Local.SDA3.PatientExtension.cls

Nous devons ajouter la nouvelle propriété à HS.Local.SDA3.PatientExtension.cls

  1. Connectez-vous à Studio
  2. Changez l'espace de noms en HSCUSTOM
  3. Modifiez HS.Local.SDA3.PatientExtension.cls
  4. Ajouter une classe personnalisée "Custom Class"
    • Cette classe représente un type de données complexe qui aura :
      • Champ de code
      • Description du Champ

    5.   Ajoutez la propriété VeteransMilitaryStatus

  • Propriété VeteransMilitaryStatus En tant que CUSTOM.SDA3.CodeTableDetail.VeteransMilitaryStatus;

      6.  Compilez HS.Local.SDA3.PatientExtension.cls

      7.  Compilez la classe HS.SDA3.Patient

      8.  Compilez la classe HS.Registry.Patient

Cette propriété est maintenant disponible pour être ajoutée/modifiée/supprimée à partir du streamlet SDA.

Utiliser la nouvelle propriété d'extension SDA dans les transactions HL7

Avant de pouvoir utiliser la propriété d'extension SDA, nous devons créer une nouvelle classe personnalisée qui étendra la classe HS.Gateway.HL7.HL7ToSDA3.  Ce code sera exécuté sur la passerelle EDGE.

Voici un exemple de code de la nouvelle classe personnalisée :

Class CUSTOM.Gateway.HL7.HL7ToSDA3 Extends HS.Gateway.HL7.HL7ToSDA3 [ Not ProcedureBlock ]
{

/// Méthode de rappel pour le traitement personnalisé du streamlet Patient
ClassMethod OnPatient()
{
                do ..write(cr_"&lt;Extension>")
                set tVMSCode = $$$xml($g(^||d(s,27,1)))
                set tVMSDescription = $$$xml($g(^||d(s,27,2)))
                if tVMSCode'="" {
                                do ..write(cr_"&lt;VeteransMilitaryStatus>")
                                do ..write(cr_""_tVMSCode_"")
                                do ..write(cr_"&lt;Description>"_tVMSDescription_"&lt;/Description>")
                                do ..write(cr_"&lt;/VeteransMilitaryStatus>")
                }             
                do ..write(cr_"&lt;/Extension>")
                Quit
}

Mise à jour de Production de Edge Gateway Ensemble.

Modifiez l'opération : HS.Gateway.HL7.InboundProcess et changez le paramètre "HL7ToSDA3Class" pour utiliser la nouvelle classe que nous venons de créer.

Cliquez sur le bouton "Apply" (appliquer) pour enregistrer les modifications.

Nous utilisons le message HL7 suivant :  (Notez que la pièce PID 27 a une valeur de "V^Veteran")

MSH|^~\&||HC6|||||ADT^A04|||2.5EVN|A04|20160711094500PID|||STM123^^^HC6^MR||Bolton^George||19271014|M|||1 Memorial Drive^^Cambridge^MA^02142||||||||028345081||||||||V^Veteran

 

Nous traitons maintenant ce HL7 sur une passerelle Edge Gateway.

Maintenant si nous regardons la trace, nous pouvons voir nos données dans le <Patient> SDA.

Interaction avec les nouvelles données

Maintenant que nous avons les données stockées dans SDA qui se trouvent sur le Edge (et le Registry (Registre)), nous pouvons les examiner de plusieurs façons.

Sur l'Edge, je peux exécuter le code suivant :

ClassMethod ListVeteransStatus()
{
                #dim tPatient as HS.SDA3.Patient            
                set sql="Select ID from HS_SDA3_Streamlet.Patient"
                set statement = ##class(%SQL.Statement).%New()
                set tSC = statement.%Prepare(sql)
                quit:$$$ISERR(tSC) tSC
                set result = statement.%Execute()
                while result.%Next() {
                      set tStreamletID = result.ID
                      set tSC = ##class(HS.SDA3.Container).LoadSDAObject(tStreamletID,.tPatient)
                      w !,tPatient.Name.GivenName_" "_tPatient.Name.FamilyName
                      w ": Veteran Status = "_tPatient.Extension.VeteransMilitaryStatus.Description
                }             
                Quit
}

 

Et j'obtiens ce qui suit :

HSEDGE1>d ##class([sample class]).ListVeteransStatus()
George Bolton: Veteran Status = Veteran

On peut voir que nous utilisons la propriété "Extension.VeteransMilitaryStatus.Description" pour afficher les nouvelles données personnalisées.

Sur HSREGISTRY, nous pouvons consulter les éléments suivants :

HSREGISTRY>s oPat=##class(HS.Registry.Patient).%OpenId(1)HSREGISTRY>w oPat.Extension.VeteransMilitaryStatus.CodeVHSREGISTRY>w oPat.Extension.VeteransMilitaryStatus.DescriptionVeteran

 

Pour les informations sur les patients, nous pouvons voir que la propriété personnalisée est disponible non seulement dans le SDA qui est stocké sur la passerelle Edge Gateway, mais aussi dans le registre des patients "Patient Registry".

Utilisation d'un SDA personnalisé dans une personnalisation du rapport sommaire du patient "Patient Summary Report".

Ceci n'est qu'un aperçu rapide de la manière dont vous pouvez utiliser la nouvelle extension SDA dans un code personnalisé.

Dans cet exemple, nous allons créer un rapport sommaire du patient "Patient Summary Report".

J'ai créé une classe CUSTOM.Reports.Patient.Summary, je peux simplement ajouter un nouvel élément à afficher en utilisant le code suivant :

&lt;item field="Extension/VeteransMilitaryStatus/Description" >
        &lt;caption value="Military Status" style="padding:5px;"/>
&lt;/item>

Now, when we bring up the patient and view Patient Summary Reports we can see the following:

Summary

This article showed how to set up the environment to use the new SDA extensions.  It showed how to populate the new property using HL7.  We showed how to access the data.  In this case, we were using patient data, so we were able to access it from both the Edge gateway and Registry.  We also used this new information in an example using a custom patient summary report.  Now that this data is in the SDA, it can be used by Health Insight and Patient Index as well as any other place that uses SDA.

0
0 44
Article Iryna Mykhailova · Déc 10, 2022 2m read

Comme vous l'avez probablement remarqué, la documentation en ligne de produits a énormément progressé ces dernières années. Parmi les nombreuses améliorations sous le capot, la documentation est devenue plus facile à lire et à naviguer. Et nous avons maintenant un puissant moteur de recherche qui vous permet d'accéder à ce dont vous avez besoin avec plus de précision que nous ne pourrions jamais le faire avec l'ancien système de documentation. Alors que la plupart d'entre vous n'ont probablement eu que des impacts positifs sur vos flux de travail, j'ai remarqué que certains d'entre vous ont

0
0 55