Article
Lorenzo Scalese · Jan 9 109m de lecture

Nouvelles extensions SDA de HealthShare

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).
 
   
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;