dr_tux:langage_de_script

Définition

Un Script MedinTux est un bloc de texte qui comporte des instructions situées entre deux doubles crochets, exemple :

{{::Intitule ( Importation Texte OCR ) }}

qui seront exécutées ou résolues et remplacées par le texte résultant de leur exécution. Si le texte résultant est vide alors l'instruction sera effacée ne modifiant pas alors le texte où elle est insérée. Ces scripts servent à effectuer toutes sortes d'opérations, comme produire des documents automatisés ou des menus intelligents.

Les scripts de MedinTux sont un vrai langage de Macros, et permettent à l'utilisateur d'inventer les fonctions dont il a besoin et qui ne sont pas présentes dans le programme. Nous appellerons et désignerons ces blocs de texte par les termes suivants (équivalents) :

  • instructions ou
  • champs de fusion ou
  • champs d'extraction ou
  • champs d'insertion

Les Script MedinTux sont récursifs, ce qui signifie qu'il est possible d'imbriquer plusieurs champs de fusion, les instructions les plus imbriquées seront résolues avant les autres. Dans l'exemple suivant :

script
$start_titleModifier l'image avec The Gimp$end_title\
{{SAVE LAST IMAGE NAME=../../tmp/}}\
{{:: exe_process (WaitEnd , /usr/bin/gimp ,$ToAbsPath ../../tmp/{{GET LAST IMAGE NAME}})}}\
{{:: replace_image ({{GET LAST IMAGE NAME}}, ../../tmp/{{GET LAST IMAGE NAME}},-1,-1,keep_src_file_Name remove_src ) }}

Le champ de fusion {{GET LAST IMAGE NAME}} sera résolu avant les autres, et remplacé par le nom de la dernière image enregistrée.

Les Script MedinTux sont orientés texte tout le texte situé en dehors des doubles crochets {{ }} ou situé en dehors des deux balises $start_title et $end_title est conservé et sera ajouté au résultat final y compris les retours à la ligne (la partie située entre $start_title et $end_title sera affichée comme infobulle).

Exemple :

script
Nom : {{NOM PRENOM PATIENT}} Sexe: {{SEXE PATIENT}}(e) : {{DATE NAISSANCE PATIENT}} Age : {{AGE PATIENT ABREGE}} ans

pourra ressembler à cela après résolution ou exécution des macros.

 Nom : TARTEMPION MARCEL Sexe: Masculin
 Né(e) : 01-01-2001 Age : 7 ans

Invalidation des fins de lignes Si le caractère \ est placé en fin de ligne, le retour chariot suivant cette ligne sera ignoré. Cela permet d'écrire sur plusieurs lignes un script long pour lequel l'on ne veut pas insérer de retours à la ligne.

Caractère d'échappement Si le caractère \ est placé avant un caractère, exemple \(, le caractère le suivant sera interprété comme un caractère de texte et non comme un caractère de structure d'instruction. Dans notre exemple, la parenthèse ouvrante ne sera pas interprétée comme un début de liste de paramètres de fonction.

Où se situent et se cachent les Scripts MedinTux ?

Les en-têtes et de pieds de pages d'impression accessibles par le gestionnaire d'utilisateurs gest_user,

les instructions contenues dans ces documents sont résolues lors de l'incorporation des en-têtes et de pieds de pages au cours d'une impression.

VARIABLES ET MENTIONS PARTICULIÈRES :
  • Si lors d'une résolution ou exécution de script ou de macro, le texte généré, contient la mention $PRINT_STOP alors l'impression du document sera interrompue.

Lors de la résolution et exécution d'un script la variable $SCRIPT_STATUS accessible dans un script avec {{VAR=$SCRIPT_STATUS}} peut prendre les valeurs suivantes :

  • nom de la rubrique_$FUSION_ADD_Tout lors du remplacement d'un document déjà existant d'une rubrique de MedinTux par un modèle ou document-type du Glossaire.
  • nom de la rubrique_$FUSION_ADD_Ajouter lors de l'ajout à un document déjà existant d'une rubrique de MedinTux, d'un modèle ou document-type du Glossaire.
  • nom de la rubrique_$FUSION_CREATE lors de la création d'un nouveau document d'une rubrique de MedinTux à partir d'un modèle ou document-type du Glossaire.
  • nom de la rubrique_$FUSION_END lorsque l'exécution d'une macro ou script a été opéré est est terminé (vous ne devriez pas avoir à vous en servir).

Le nom de la rubrique peut prendre les valeurs suivantes selon la rubrique dans laquelle st exécutée la macro : Observation, Prescription, Documents, Identification.

  • $PREVISUALISATION lorsque l'exécution d'une macro ou script est en train de se faire dans le cadre de la fenêtre de prévisualisation du Glossaire.
  • $PREVISUALISATION_END lorsque l'exécution d'une macro ou script vient de se terminer dans le cadre de la fenêtre de prévisualisation du Glossaire.
  • $PRINT_SCRIPT_BEFORE Lorsque lors d'une impression aucune exécution de script d'en-tête et de pied de page n'a encore été réalisée cette valeur est retournée (script exécuté la première fois).
  • $PRINT_HEADER_CHANGED Cette valeur est positionnée si dans le dialogue d'impression le modèle d'impression a été changé, et que l'éventuel script de l'en-tête et du pied de page de ce modèle va être exécuté.
  • $PRINT_SCRIPT_END Cette valeur est positionnée après la résolution et exécution lors d'une impression d'un script de l'en-tête et du pied de page.

Les modèles de documents types ou maquettes du Glossaire

les instructions contenues dans ces documents sont résolues lors de l'incorporation du document dans une rubrique de MedinTux.

Le système de Menus déroulants de MedinTux

accessible par le bouton dans le gestionnaire de dossier médical drtux. Les instructions contenues dans ces documents sont résolues lors de l'incorporation dans un document après exécution de l'option de menu correspondant au script.

Le système de Menus utilisateur de la barre de menu de MedinTux
options encadrées en rouge

Ces instructions seront exécutées et résolues lors du clic sur une des options. Les fichiers de configuration se trouvent dans drtux/bin/Ressources/Menus

Le menu d'entrée

Aactionné lors du démarrage du programme après le chargement des documents, c'est un script, programmable comme les autres. Cela permet d'ajouter de nombreuses fonctions intelligentes à effectuer lors du démarrage du programme, comme :

  • Positionnement de variables par extraction de données dans des fiches
  • lancement de programmes tiers
  • positionnement de diverses valeurs
  • informations personnalisées dans la zone d'affichage
  • etc.

Il se situe dans drtux/bin/Ressources/Macro de debut. Si ce répertoire n'existe pas, il n'y aura pas de menu d'entrée.

par exemple pour le désactiver, renommer le répertoire Macro de debut en Macro de debut_0

Le menu de sortie (actionné par toute action de sortie du programme, comme Alt+F4, Fichier→ Quitter, etc.) est un script, programmable comme les autres. Cela permet d'ajouter de nombreuses fonctions intelligentes à la sortie du programme, comme :

  • vérification du contenu des observations
  • lancement de la comptabilité
  • envoi d'une copie de l'observation par mail à l'utilisateur
  • informations personnalisées dans la zone d'affichage
  • etc.

Il se situe dans drtux/bin/Ressources/Macro de sortie. Si ce répertoire n'existe pas, il n'y aura pas de menu de sortie.

par exemple, pour le désactiver, renommer le répertoire Macro de sortie en Macro de sortie_0

Inventaire des instructions

Inventaire des instructions de scripts FIXME (remettre en page l'inventaire. Trouver un solution pour une présentation claire pour le lecteur.)

dr_tux/langage_de_script.txt · Dernière modification: 2012/06/29 09:05 par admin