dr_tux:inventaire_des_instructions_de_scripts

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
dr_tux:inventaire_des_instructions_de_scripts [2012/06/15 14:28]
94.23.1.28 NJqFLmYgkHlgkl
dr_tux:inventaire_des_instructions_de_scripts [2012/06/29 09:03] (Version actuelle)
admin ancienne révision restaurée
Ligne 1: Ligne 1:
-pas   estas equivocado Yo me codisnero Fanatico ​de Saint Seiya desde nene alla por el 94 cuando LLEGO ACA une Argentine ​  ​pero no Apoyo l'ONU carajo q Kurumada Haya de hacer los dejado dibujos, y hasta los Guiones! de hecho   ​supervisa ​  ​Que9 es eso loco? esos dibujos ​de perdre toile   ​ESE es Seiya? por favor parece el de Hunter XSE convirtio fr otro dibujo ​  ​moderno ​  ​hoy dia mas fils practicamente similares todos muy   ​sin embargo ​sur lo veo pq moi Interesapero no lo Apoyo.+<note tip>​toutes les instructions commençant par %%{{::%% sont épurées, et les attributs html de styles sont retirés. 
 +Si elles contiennent juste après les doubles deux points le caractère # comme ci après :</​note>​ 
 +<code bash Script général à remettre en page> 
 +{{::# Extract_ATCD (  
 +                                                                             <​b><​u>​° ::TYPE:: :</​u></​b>​ ,\ 
 +                                                                             &​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;​ ::LIBELLE:: ::MEDCHIR:: ::ETAT:: ::CODE:: ::NOTE:: ::DATE:: ::ALD:: ,\ 
 +                                                                             en date du :,\ 
 +en rapport avec une pathologie ALD) }}  
 + 
 +il ne sera pas opéré d'​épurage du code html afin de conserver les attributs html pouvant  
 +être nécessaires à la mise en page comme dans l'​instruction montrée en exemple  
 +le paramètre : <​b><​u>​° ::TYPE:: :</​u></​b>​  
 +comporte des attributs de mise en gras : <​b></​b>​ et souligné <u> </u>  
 +servant à positionner le style des titres des antécédents. 
 + 
 +4.5.3.1 |==> {{:: Extract (Observation | Fiche initiale, après , avant , tester , mettre, mode de conversion numérique)}}  
 + 
 +Ces instructions ont pour objectif d'​aller récupérer et mettre en  
 +forme des données appartenant à une rubrique. 
 + 
 +Paramètre N° 1 (rubrique) : 
 +    Le premier paramètre est la rubrique où aller chercher les données. 
 +    le paramètre rubrique peut être : 
 +    Observation,​ Prescription,​ Ordonnance, Ordonnance Vidal , Certificat , Courrier  
 +   ​ou vide auquel cas c'est dans la rubrique courante où seront extraites les données. 
 +    Un paramètre vide est composé d'​espaces uniquement comme dans l'​exemple en rouge : {{:: Extract ( , apres , avant , tester , mettre )}} 
 + ​IMPORTANTE SUBTILITE : à la suite de ce paramètre vous pouvez indiquer séparé par le caractère '​|'​ le titre précis d'un document dans lequel l'​extraction doit se faire. 
 +{{:: Extract (Observation | Fiche initiale , après , avant , tester , mettre )}}     
 + 
 +Paramètre N° 2 (délimiteur d'​extraction de début) : 
 +Terme après lequel la donnée doit être extraite. 
 +Paramètre N° 3 (délimiteur d'​extraction de fin) : 
 +Terme avant lequel la donnée doit être extraite. 
 +Paramètre N° 4 (facultatif opérateur de comparaison) : 
 +Terme avec lequel doit être comparé le texte extrait.  
 +La comparaison est dite vraie si le terme est contenu dans le texte extrait. 
 +Paramètre N° 5 (facultatif terme de remplacement) : 
 +Résultat à placer à la place du texte extrait si la comparaison est vraie. 
 +Paramètre N° 5 (facultatif terme de remplacement) : 
 +Résultat à placer à la place du texte extrait si la comparaison est vraie. 
 +Paramètre N° 6 (modificateur de conversion et extraction ) facultatif et par défaut si non positionné ou absent il n'en sera pas tenu compte. 
 + ​SI ​  ​contient $stopIfNotNum la conversion numérique s'​arrête au premier caractère non numérique. 
 + ​SI ​  ​contient $allString tous les caractères numériques de la chaîne seront retenus. 
 + ​SI ​  ​contient $toInt la conversion numérique ne conservera que la partie entière. 
 + ​SI ​  ​contient $keepHtml l'​extraction conservera les attributs html. 
 + ​SI ​   toute autre valeur, la conversion s'​arrêtera à la première occurrence de cette valeur. 
 +exemples concernant le mode de conversion voir la macro : TO_NUM :  
 + 
 +Exemple pour mieux comprendre :  
 +Installation d'une automatisation de la mention AT lors de l'​impression d'une ordonnance . 
 + 
 +Placez le texte suivant , 
 + 
 +Circonstances : Heure d'​Arrivée SU:   ​{{DT=hh|mm}} ​  
 + 
 +dans tous vos modèles de documents d'​observations et est donc il sera présent dans toutes vos observations. 
 +À la droite du terme : '​Circonstances :' un menu permet de saisir entre autres choix, le texte suivant : 'AT (sur les lieux du travail)'​ ce qui donne après sélection de l'​option,​ le texte suivant : 
 + 
 +Circonstances : AT (sur les lieux du travail) Heure d'​Arrivée SU:   08h30  
 + 
 + 
 +Sélection de l'​option AT (sur les lieux du travail) du menu déroulant d'une observation. 
 + 
 + 
 +L'​en-tête des ordonnances contient le champ d'​extraction suivant : 
 + 
 + {{:: Extract (Observation , Circonstances : , Heure d'​Arrivée SU: , AT ,AT )}} 
 + 
 +que va-t-il se passer ? 
 +Lors de l'​impression d'une ordonnance, son en-tête va être utilisé avec le champ d'​extraction ci-dessus, et il va être extrait de l'​observation en cours, la portion de texte située entre le terme délimiteur d'​extraction de début Circonstances : et le terme délimiteur d'​extraction de fin Heure d'​Arrivée SU: soit le texte suivant : AT (sur les lieux du travail) comme l'​imposent les paramètres N° 1 et le N°2. 
 +il sera vérifié dans le texte extrait AT (sur les lieux du travail) si la mention AT y est présente comme l'​impose le paramètre N° 3 et si c'est le cas, le paramètre N°4 : AT remplacera ​ {{:: Extract (Observation , Circonstances : , Heure d'​Arrivée SU: , AT ,AT )}} dans le texte de l'​en-tête.  
 +Cela aboutit à une automatisation de l'​inscription de la mention AT sur les ordonnances. 
 + 
 +De même, il est possible d'​imaginer un courrier automatisé qui va extraire des documents, des données situées entres deux titres balises constants sur vos modèles, séparant des zones clefs de vos observations. 
 + 
 + 
 +4.5.3.2 |==> {{::# Extract_ATCD (  <​b><​u>​° ::TYPE:: :</​u></​b>,​\ 
 +                                                       &​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;​ ::LIBELLE:: ::MEDCHIR:: ::ETAT:: ::CODE:: ::NOTE:: ::DATE:: ::ALD:: ,\ 
 +                                                       en date du :,\ 
 +en rapport avec une pathologie ALD) }}  
 + 
 + 
 +Cette instruction a pour objectif de mettre en forme les données appartenant aux antécédents de la rubrique terrain de façon à inclure les antécédents d'un patient dans vos documents.  
 +la liste sera classée et triée selon les familles positionées lors de la définition de l'​antécédent. 
 +Paramètre N° 1 (titre de la liste des antécédents médicaux) : 
 +   ​Inscrivez dans ce paramètre le motif HTML devant servir de titre aux antécédents médicaux. 
 +   ​Exemple : <​b><​u>::​TYPE::​ :</​u></​b>​ 
 +   si ce paramètre est égal à la valeur : lineaire alors, la présentation ne tiendra pas compte des autres paramètres et sera de type textuel, avec les antécédents ajoutés les uns à la suite des autres. 
 +   le paramètre ::TYPE:: sera remplacé par la famille et le genre de l'​antécédent. 
 +Paramètre N° 2 (sélecteur de présentation des propriétés des antécédents) : 
 +    Ce paramètre permet de déterminer l'​affichage d'une ligne d'​antécédent en indiquant au sein d'une ligne html l'​emplacement et les attribut d'​affichage de chaque propriété. 
 +   ​Exemple : &​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;​ ::LIBELLE:: ::MEDCHIR:: ::ETAT:: ::CODE:: ::NOTE:: ::DATE:: ::ALD:: 
 +            ::​LIBELLE:: ​        sera remplacé par le libellé de l'​antécédent. 
 +            ::​MEDCHIR:: ​     sera remplacé par la catégorie de l'​antécédent (Médical chirurgical etc..). 
 +            ::​\(MEDCHIR\):: ​   sera remplacé par la catégorie de l'​antécédent (Médical chirurgical etc..) entre parenthèses. 
 +            ::​ETAT:: ​             sera remplacé par l'​état de l'​antécédent (Actif, Passé). 
 +            ::​CODE:: ​            sera remplacé par le code CIM10 de l'​antécédent. 
 +            ::​NOTE:: ​             sera remplacé par le commentaire de l'​antécédent. 
 +            ::​DATE:: ​             sera remplacé par la date de l'​antécédent avec la formule d'​introduction indiquée dans le paramètre N°3. 
 +            ::​ALD:: ​              sera remplacé par la formule indiquée dans le paramètre N°4 si l'​antécédent est placé en ALD. 
 + 
 +Paramètre N° 3 (formule d'​introduction de la date) : 
 +   ​formule d'​introduction de la date 
 +   ​Exemple : en date du : 
 + 
 +Paramètre N° 4 (formule ALD) : 
 +   qui si l'​antécédent est en ALD remplacera le motif : ::ALD:: 
 +   ​Exemple : est en rapport avec une pathologie ALD 
 + 
 +Quelques exemples : 
 + 
 +   ​{{::#​Extract_ATCD ( 
 +                  <​b><​u>​° Antécédents ::TYPE:: :</​u></​b>​ ,\ 
 +                  &​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;&​nbsp;::​LIBELLE::​ ::MEDCHIR:: ::NOTE:: ::DATE:: ,\ 
 +                  en date du :,\ 
 +est en rapport avec une pathologie ALD) }} 
 + 
 +produira l'​affichage suivant : 
 + 
 +° Antécédents allergiques :  
 +      pénicilline G Gynécologiques Actif (6106A)  
 +      pollen Méd Passé (2530L)  
 +° Antécédents divers :  
 +      Problème de dépendance à la cocaïne Passé ~F14.2~  
 +      ascite maligne Passé ~C78~  
 +      Asthme sai Facteurs de risque familiaux Passé ~J45.9~ en date du :24-01-2008 est en rapport avec une pathologie ALD 
 +      ne se lave pas Facteurs de risque hygiène Passé  
 + 
 +4.5.3.3 |==> {{:: Extract_Table ( 
 +                                                                              VAR Constantes de Base ,\ 
 +                                                                              Pouls = 20 ; SAO2 = 80 ; Temp = 30 ,\ 
 +                                                                              DATE VISITE ,\ 
 +                                                                             ​2008/​12/​24,​\ 
 +                                                                              100, 20, 1, 200 ,\ 
 +                                                                              dd-MM-yyyy hh:mm=Dates de prises,\ 
 +                                                                              50) }} 
 + 
 +Cette instruction a pour objectif de mettre en forme des données provenant d'une table ou tableau de variable du terrain de façon à les inclure dans vos documents . 
 + 
 +Paramètre N° 1 (Nom du tableau ou de la table à afficher) : 
 +VAR Constantes de Base 
 +Nom du tableau ou de la table tel qu'​indiqué dans le modèle du tableau après la mention VAR 
 +exemple : Constantes de Base dans le modèle ci-dessous 
 + 
 +Exemple de modèle : 
 + 
 +[VAR Constantes de Base]      
 +   ​Modèle = Date, Pouls, 31536000, 130, 40, pps, Tachycardie,​ Bradycardie ​     
 +   ​Modèle = Date, SAO2, 31536000, 0, 92, %, , Hypoxie ​     
 +   ​Modèle = Date, Temp, 31536000, 40.5, 35, ?, Hypothermie,​ Hyperthermie ​     
 +[VAR Poids] ​     
 +   ​Modèle = Date, Poids, ​ 31536000, 100, 50, Kg(s), Obésité, Amaigrissement ​     
 +   ​Modèle = Date, Taille, 31536000, 0, 0, cm(s), ,       
 + 
 +Paramètre N° 2 (liste des variables à afficher) : 
 +Pouls = 20 ; SAO2 = 80 ; Temp = 30 
 +Cette liste présente chaque variable dont on désire afficher les valeurs, séparées par un point virgule. 
 +suit ensuite après le signe =  
 +                                                            soit le nombre de pixels aloués pour la largeur d'​affichage,​  
 +                                                            soit si le signe % suit cette valeur, le pourcentage de largeur d'​affichage. 
 +Paramètre N° 3 (première date à partir de laquelle afficher les données) : 
 +          ° soit la date est exprimée sous la forme : YYYY-MM-DD où YYYY est l'​année,​ MM est le mois de l'​année (entre 01 et 12), et DD est le jour du mois (entre 01 et 31).  
 +          ° soit la date est exprimée sous la forme des formules préétablies suivantes : 
 +                    TOUTE DATE pas de limite inférieure. 
 +                    DATE VISITE date de l'​observation en cours. 
 +                    DATE ACTUELLE date du jour en cours. 
 +Paramètre N° 4 (date de fin pour afficher les données) : 
 +          ° soit la date est exprimée sous la forme : YYYY-MM-DD où YYYY est l'​année,​ MM est le mois de l'​année (entre 01 et 12), et DD est le jour du mois (entre 01 et 31).  
 +          ° soit la date est exprimée sous les formes suivantes : 
 +                    + suivi d'une valeur correspondant au nombre d'​heures à rajouter à la date de début pour faire la date de fin. Expl : +24 
 +                    +- ou -+ suivi d'une valeur correspondant au nombre d'​heures à enlever à la date de début et à rajouter à la date de début pour faire la date de fin. Expl : +-24 
 +                    - suivi d'une valeur correspondant au nombre d'​heures à enlever à la date de début pour faire la date de fin. Expl : -24 
 +                    chiffre 0 ou vide, alors la date de fin est la date de début à laquelle est ajouté 24 heures. 
 +          ° soit la date est exprimée sous la forme des formules préétablies suivantes :  
 +                    TOUTE DATE pas de limite inférieure. 
 +                    DATE VISITE date de l'​observation en cours. 
 +                    DATE ACTUELLE date du jour en cours. 
 +Paramètre N° 5 (Largeur de la cellule) : 
 +          si exprimé en pourcentage se sera le pourcentage de la largeur totale. 
 +Paramètre N° 6 (Hauteur de la cellule) : 
 +          si exprimé en pourcentage se sera le pourcentage de la largeur totale. 
 +Paramètre N° 7 (Largeur de la ligne de séparation) : 
 +Paramètre N° 8 (Largeur totale du tableau) : 
 +          si exprimé en pourcentage se sera le pourcentage de la largeur totale de la page. 
 +Paramètre N° 9 (format d'​affichage des dates) : 
 +          exprimé selon la règle suivante : format des dates 
 +          ce paramètre peut être suivi (séparé par le signe = ) du titre de la colonne des dates. 
 +Paramètre N° 10 (largeur de la colonne des dates) : 
 +          si exprimé en pourcentage se sera le pourcentage de la largeur totale. 
 + 
 +Quelques exemples : 
 +          {{:: Extract_Table (VAR Constantes de Base , Pouls = 20 ; SAO2 = 80 ; Temp = 30 , TOUTE DATE , DATE VISITE, 100, 20, 1, 200 ,dd-MM-yyyy hh:mm=Dates de prises, 50)}} 
 +          {{:: Extract_Table (VAR Constantes de Base , Pouls = 20 ; SAO2 = 80 ; Temp = 30 , TOUTE DATE , TOUTE DATE, 100, 20, 1, 200 ,dd-MM-yyyy hh:mm=Dates de prises, 50)}} 
 +          {{:: Extract_Table (VAR Constantes de Base , Pouls = 20 ; SAO2 = 80 ; Temp = 30 , DATE VISITE , +24 , 100, 20, 1, 200 ,dd-MM-yyyy hh:mm=Dates de prises, 50)}} 
 +          {{:: Extract_Table (VAR Constantes de Base , Pouls = 20 ; SAO2 = 80 ; Temp = 30 , DATE VISITE , +-24 , 100, 20, 1, 200 ,dd-MM-yyyy hh:mm=Dates de prises, 50)}} 
 +          {{:: Extract_Table (VAR Constantes de Base , Pouls = 20 ; SAO2 = 80 ; Temp = 30 , DATE VISITE , -24 , 100, 20, 1, 200 ,dd-MM-yyyy hh:mm=Dates de prises, 50)}} 
 +          {{:: Extract_Table (VAR Constantes de Base , Pouls = 20 ; SAO2 = 80 ; Temp = 30 , DATE ACTUELLE , +24 , 100, 20, 1, 200 ,dd-MM-yyyy hh:mm=Dates de prises, 50)}} 
 + 
 + 
 +4.5.3.4 |==> {{:: Extract_VAR (VAR Constantes de Base , SAO2 , DATE VISITE , 0 , TOUTES )}} 
 +{{:: Extract_VAR (VAR Constantes de Base , SAO2 , DATE VISITE , -24 , PREMIERE )}} 
 +{{:: Extract_VAR (VAR Constantes de Base , SAO2 , DATE VISITE , +24 , DERNIERE )}} 
 +{{:: Extract_VAR (VAR Constantes de Base , SAO2 , DATE VISITE , +-24 , PLUS PROCHE )}} 
 + 
 +4.5.3.5 |==> {{\t*20}} cette instruction sera remplacée par 20 tabulations 
 +de même : {{\r*15}} sera remplacée par 15 caractères retour chariot, 
 +de même : {{\\*10}} sera remplacée par 10 caractères \ , 
 +de même : {{\n*25}} sera remplacée par 25 caractères fin de ligne, 
 +de même {{D*30}} sera remplacée par 30 caractères D 
 + 
 +4.5.3.6 |==> {{:: exe_process (  WaitEnd ,  ../​../​QLightPad/​bin/​QLightPad) ​ }} 
 + 
 +Exécute sans sommation le processus ou programme dont le chemin est désigné par le deuxième argument. 
 + 
 +Paramètre N° 1 (option d'​attente) : 
 +         peut prendre les valeurs suivantes :  
 +                  WaitEnd et alors il sera attendu la fin du processus. 
 +                  NoWaitEnd et alors la fin du processus n'est pas attendue. 
 + 
 +Paramètre N° 2 (chemin du processus ou programme à exécuter) : 
 +       Terme désignant le processus ou programme devant être exécuté. 
 +              ° ce chemin peut être exprimé en chemin relatif lorsqu'​il commence par deux points .. 
 +                 les deux points signifient alors de remonter d'un répertoire à partir du répertoire appelant (en général le répertoire appelant est : /​MedinTux/​Programmes/​drtux/​bin ) 
 +                exemple le chemin relatif suivant ../.. fera remonter dans le répertoire /​MedinTux/​Programmes. La conversion en chemin absolu est inhibée si la mention $IsAbsPath est présente dans le chemin. 
 +              ° Pour les MacOsX ce chemin peut être précédé de la mention $IsBinPath et alors le chemin sera considéré comme le binaire direct à exécuter et non comme une simple application( à laquelle sans cette mention il est ajouté le chemin vrai du binaire : .app/​Contents/​MacOS/​ ) 
 +                 ​exemple : {{:: exe_process ( NoWaitEnd , $IsBinPath../​../​QLightPad/​bin/​QLightPad.app/​Contents/​MacOS/​QLightPad)}} 
 +                 pour les autres Os, cette mention est ignorée. 
 +              ° Si la mention $IsAbsPath est présente dans le chemin, la conversion en chemin absolu est inhibée. 
 +              ° Si la mention $NoAddExe est présente dans le chemin, l'​extension .exe n'est pas ajoutée. Cela est utile pour l'​appel de script exemple lors de l'​appel direct d'un script PHP il ne faut pas ajouter l'​extension .exe au nom de l'​exécutable qui est ici le script. 
 + 
 +Paramètre N° 3 (premier argument du programme) : 
 +Paramètre N° N (nième argument du programme) : 
 +             ° Si un argument commence par le modificateur $File alors ce qui suit la suite de $File sera considéré comme le chemin d'un fichier dont le contenu sera placé dans l'​argument,​ et alors le nom de ce fichier peut contenir les mentions suivantes : 
 +                  $Glossaire ​        qui sera remplacée par le chemin du Glossaire. 
 +                  $Vigie ​              qui sera remplacée par le chemin de la Vigie. 
 + 
 +              ° Si un argument commence par le modificateur [$File] alors il sera transformé en $File après interprétation et remplacement par le contenu des $File normaux, cela permet de protéger la mention $File dans une ligne d'​arguments dans laquelle il est nécessaire de la placer, et éviter que le terme soit interprété et remplacé par le contenu. 
 +exemple : {{::​exe_process ( NoWaitEnd,​../​../​APropos/​bin/​APropos,​MailOnly,​roland-sevin@medintux.org?​subject=Salut tout le monde&​body=[$File]../​../​fichierDuCorpsDuMail.txt)}}  
 + 
 +              ° Mentions de conversion de chemins : il est parfois nécessaire de convertir en chemin absolu certaines parties des arguments, il faut alors encadrer la partie à convertir par les mentions suivantes : 
 +$ToAbsPath et $EndToAbsPath . 
 + 
 +              ° Mentions de direction d'un agument : Si un argument commence par la mention $toStdIn (qui peut être suivie de la mention $File) alors il sera écrit sur l'​entrée standard du processus. 
 + 
 +exemple : {{::​exe_process ( WaitEnd, ../​../​Plug/​OCR/​medintux2tess.sh,​ LastScanned.tif,​ LastScanned,​ -l fra, $ToAbsPath../​../​tmp$EndToAbsPath/,​ nodebug)}}\ 
 +              convertira le texte ../../tmp en chemin absolu comme par exemple /​MedinTux/​Programmes/​tmp . 
 +              cette fonctionnalité est très utile, car elle permet d'​exprimer des arguments de chemins en chemins relatifs afin de rendre le script indépendant de la localisation.  
 + 
 + 
 + 
 +4.5.3.7 |==> {{::import ( ../​../​tmp/​LastScanned.txt , insert , Observation , destPath, title )}} 
 + 
 +Paramètre N° 1 (chemin du fichier à importer) : 
 +         peut contenir les mentions suivantes :  
 +                  $Glossaire ​        qui sera remplacée par le chemin du Glossaire. 
 +                  $Theme ​            qui sera remplacée par le chemin du Thème. 
 + 
 +Paramètre N° 2 (modificateurs de comportement) : 
 +         peut contenir, séparées par un espace, les valeurs suivantes : 
 + 
 +              ° insert et alors le contenu du fichier sera ajouté au curseur texte. 
 +              ° new et alors il sera crée une nouvelle rubrique avec le contenu du fichier . 
 +              ° print en cas de création de nouveau document avec new une impression directe sera aussi effectuée. 
 +              ° replace et alors le contenu de la rubrique actuelle sera remplacé avec le contenu du fichier. 
 +              ° crlf2html et alors les retours chariot seront convertis en retours html <br />. 
 +              ° remove_src et alors le fichier d'​origine est détruit. 
 +              ° clear_src et alors le fichier d'​origine est effacé mais non détruit. 
 +              ° no_html et alors lors du mode insert seulement, le contenu du fichier sera débarrassé des tag html, et ne sera inséré que si il contient du texte significatif,​. 
 +              ° verbose et alors, s'il y a des erreurs, elles seront retournées dans le texte à la place du fichier à importer. 
 +              ° noInquire et alors, s'il y a des boîtes de confirmation de choix, elles seront ignorées et le fichier importé. 
 + 
 +Paramètre N° 3 (rubrique de destination) : 
 +         peut contenir le nom de la rubrique de destination,​ si omis alors c'est la rubrique active qui recevra le contenu du fichier. 
 + 
 +Paramètre N° 4 (facultatif : répertoire de copie du document) : 
 +         si indiqué et non vide alors le document sera copié le répertoire indiqué par ce paramètre. 
 + 
 +Paramètre N° 5 (facultatif : titre du document) : 
 +         peut contenir le titre du document. 
 + 
 +exemple : {{::import ( $Glossaire/​Vigie/​Classeurs/​Hospitalisation.html , new noInquire , Observation )}}\ 
 +              créera une nouvelle rubrique Observation avec le fichier : $Glossaire/​Vigie/​Classeurs/​Hospitalisation.html . 
 +              $Glossaire sera remplacé par le chemin du glossaire. Il ne sera pas demandé de confirmation si un même fichier du même jour existe déjà. 
 + 
 +Cette instruction est utile, car permet de réaliser des scripts d'​insertion de plusieurs documents à la fois sous forme de liasse de documents : 
 + 
 +exemple : Création d'une liasse de documents. J'ai un protocole de prise en charge d'une entorse de la cheville. Lors d'une immobilisation plâtrée, il est utile de produire plusieurs documents : 
 +              ° une ordonnance de médicaments avec notamment une injection d'​HBPM. 
 +              ° une prescription d'​injections destinée à l'​infirmière qui fera les injections. 
 +              ° une prescription de surveillance des plaquettes deux fois par semaine. 
 +              ° un document d'​information au patient concernant la surveillance plâtrée. 
 +              ° éventuellement un courrier au médecin qui va suivre ce patient. 
 + 
 +              Il suffit alors de placer dans un script de menu déroulant plusieurs instructions d'​importation qui chacune importeront un des documents ci-dessus, et en un clic ils seront tous créés. 
 +              Il n'y a plus qu'à imprimer. 
 + 
 + 
 +4.5.3.8 |==> {{::​delete_file (../​../​tmp/​LastScanned.txt,​ clear)}} 
 + 
 +4.5.3.9 |==> {{::​copy_file($ToAbsPath ../​../​tmp/​{{GET LAST IMAGE NAME}} , $ToAbsPath ../​../​tmp/​NewName.png,​ $remove_src_file)}} 
 + 
 +4.5.3.10 |==> {{SAVE CURRENT DOC=../​../​tmp/​exemple.text}} 
 +4.5.3.11 |==> {{GET SAVE FILE NAME = ../​../​tmp/​}} 
 +4.5.3.12 |==> {{GET LAST IMAGE NAME}} 
 +4.5.3.13 |==> {{GET LAST IMAGE SRC_NAME}} 
 +4.5.3.14 |==> {{SAVE LAST IMAGE NAME== ../../tmp/ }} 
 +{{SAVE LAST IMAGE NAME=../​../​tmp/​ }}{{:: copy_files ($ToAbsPath ../​../​tmp/​{{GET LAST IMAGE NAME}} , 
 +$ToAbsPath ../​../​tmp/​NewName.png,​ $remove_src_file)}} 
 +4.5.3.15 |==> {{::​insert_image (./​Ressources/​icones/​PingouinsSimple.png , 300 , 500) }} 
 +{{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_name 
 +$remove_src_file)}} 
 +4.5.3.16 |==> {{:: replace_image ({{GET LAST IMAGE NAME}}, ../​../​tmp/​{{GET LAST IMAGE NAME}},​-1,​-1,​ $keep_src_name 
 +$remove_src_file) }} 
 +4.5.3.17 |==> {{:: OPEN_FILE_NAME(Fichiers IMAGE [*.jpg *.jpeg *.png *.PNG *.gif *.GIF *.JPEG *.JPG];;​Tous les fichiers [*], $ToAbsPath../​../​tmp$EndToAbsPath/​}} 
 +Cette instruction permet d'​ouvrir le sélecteur de fichiers afin de sélectionner un fichier. 
 +Paramètre N° 1 (filtre de sélection). 
 +Paramètre N° 2 ( facultatif : prépositionne le répertoire avec lequel s'​ouvrira le sélecteur de fichier ) 
 +{{:: replace_image ({{GET LAST IMAGE NAME}}, {{OPEN_FILE_NAME}},​ -1, -1, $keep_Original_W $keep_Original_H) }} 
 +{{:: replace_image ({{GET LAST IMAGE NAME}}, {{OPEN_FILE_NAME}},​ 600, -1) }} 
 + 
 +4.5.3.18 |==> {{IF {{SEXE PATIENT}} = F | e | |}} 
 +{{IF {{::Upper ( {{ADRESSE COMPLETE MEDECIN}} ) }} %= MARS | commence par MARS | ne commence pas par MARS|}} 
 +{{IF {{::Upper ( {{ADRESSE COMPLETE MEDECIN}} ) }} =% EILLE | finit par EILLE | ne finit pas par EILLE|}} 
 +{{IF {{::Upper ( {{ADRESSE COMPLETE MEDECIN}} ) }} %% SEIL | contient SEIL | ne contient pas SEIL|}} 
 +{{IF {{::Lower ( {{ADRESSE COMPLETE MEDECIN}} ) }} %% seil | contient seil | ne contient pas seil|}} 
 +{{IF {{::DaysTo( {{DATE OBSERVATION}},​{{CURRENT DATE}} ) }} > 30 | Observation datant de plus de 30 jours ||}} 
 +{{IF {{AGE PATIENT ANNEE ABREGE}} >= 18 | Majeur | Mineur|}} 
 + 
 +4.5.3.19 |==> {{:: Intitule ( Intitule du document , add ) }} 
 +{{:: Intitule ( Intitule du document , change ) }} 
 +{{:: Intitule ( Intitule du document ) }} 
 +4.5.3.20 |==> {{:: sous_type ( sous_type du document , add ) }} 
 +{{:: sous_type ( sous_type du document , change ) }} 
 +{{:: sous_type ( sous_type du document ) }} 
 +4.5.3.21 |==> {{::Calc (25 , * , POIDS) }} 
 +{{::Calc (25 , x , POIDS) }} 
 +{{::Calc (25 , + , POIDS) }} 
 +{{::Calc (25 , / , POIDS) }} 
 +{{::Calc (25 , - , POIDS) }} 
 +{{::Calc (25 , * , TAILLE) }} 
 +{{::Calc (25 , * , SURFACE) }} 
 +{{::Calc (25 , * , BMI) }} 
 +{{::Calc (25 , * , {{AGE PATIENT ANNEE ABREGE}}) }} 
 +4.5.3.22 |==> {{INTERVENANT = Médecine générale CHAMPS DESIRES = TNP,S,A,CV DECALAGE= }} 
 +{{INTERVENANT = Médecine générale CHAMPS DESIRES = TNP,S,A,CV DECALAGE= SEP=<​hr>​}} 
 +4.5.3.23 |==> {{INTERV_STRUCT_XXX = Médecine generale STYLE = liste CHAMPS DESIRES = TNPSACV DECALAGE= }} 
 +{{INTERV_STRUCT_XXX = Médecine generale STYLE = noms CHAMPS DESIRES = TNPSACV DECALAGE= }} 
 +{{INTERV_CHAMP_XXX_TITRE}} 
 +{{INTERV_CHAMP_XXX_SPECIALITE}} 
 +{{INTERV_CHAMP_XXX_NOM}} 
 +{{INTERV_CHAMP_XXX_PRENOM}} 
 +{{INTERV_CHAMP_XXX_ADR_1}} 
 +{{INTERV_CHAMP_XXX_ADR_2}} 
 +{{INTERV_CHAMP_XXX_ADR_3}} 
 +{{INTERV_CHAMP_XXX_CODE_POST}} 
 +{{INTERV_CHAMP_XXX_VILLE}} 
 +{{INTERV_CHAMP_XXX_NOM}} 
 +{{INTERV_CHAMP_XXX_NOM}} 
 + 
 +4.5.3.24 |==> {{DATE TIRET}} 
 +4.5.3.25 |==> {{dd-MM-yyyy}} 
 +4.5.3.26 |==> {{date}} 
 +4.5.3.27 |==> {{HHHMM}} 
 +4.5.3.28 |==> {{DT=expression}} 
 +4.5.3.29 |==> {{hh:mm}} 
 +4.5.3.30 |==> {{DATE DOCUMENT=Prescription FORMAT=dd-MM-yyyy}} 
 +4.5.3.31 |==> {{DATE VISITE}} 
 +4.5.3.32 |==> {{DATE OBSERVATION}} 
 +4.5.3.33 |==> {{USER TITRE PS}} 
 +4.5.3.34 |==> {{USER ADRESSE COMPLETE MEDECIN}} 
 +4.5.3.35 |==> {{USER ADRESSE MEDECIN}} 
 +4.5.3.36 |==> {{USER VILLE MEDECIN}} 
 +4.5.3.37 |==> {{USER CP MEDECIN}} 
 +4.5.3.38 |==> {{USER SEXE MEDECIN}} 
 +4.5.3.39 |==> {{USER SPECIALITE MEDECIN}} 
 +4.5.3.40 |==> {{USER IDENTIFICATION MEDECIN}} 
 +4.5.3.41 |==> {{USER CONVENTION MEDECIN}} 
 +4.5.3.42 |==> {{USER NOM PRENOM MEDECIN}} 
 +4.5.3.43 |==> {{USER NOM MEDECIN}} 
 +4.5.3.44 |==> {{USER PRENOM MEDECIN}} 
 +4.5.3.45 |==> {{USER LOGIN MEDECIN}} 
 + 
 +4.5.3.46 |==> {{TITRE PS}} 
 +4.5.3.47 |==> {{ADRESSE COMPLETE MEDECIN}} 
 +4.5.3.48 |==> {{ADRESSE MEDECIN}} 
 +4.5.3.49 |==> {{VILLE MEDECIN}} 
 +4.5.3.50 |==> {{CP MEDECIN}} 
 +4.5.3.51 |==> {{SEXE MEDECIN}} 
 +4.5.3.52 |==> {{SPECIALITE MEDECIN}} 
 +4.5.3.53 |==> {{IDENTIFICATION MEDECIN}} 
 +4.5.3.54 |==> {{CONVENTION MEDECIN}} 
 +4.5.3.55 |==> {{NOM PRENOM MEDECIN}} 
 +4.5.3.56 |==> {{NOM MEDECIN}} 
 +4.5.3.57 |==> {{PRENOM MEDECIN}} 
 +4.5.3.58 |==> {{AGE PATIENT ABREGE}} 
 +4.5.3.59 |==> {{AGE PATIENT ANNEE ABREGE}} 
 +4.5.3.60 |==> {{AGE PATIENT}} 
 +4.5.3.61 |==> {{NUM. TEL1 PATIENT}} 
 +Cette instruction retourne le premier numéro de téléphone du patient. 
 +Variantes : {{NUM TEL1 PATIENT}} 
 + 
 +4.5.3.62 |==> {{NUM. TEL2 PATIENT}} 
 +Cette instruction retourne le deuxième numéro de téléphone du patient. 
 +Variantes : {{NUM TEL2 PATIENT}} 
 +4.5.3.63 |==> {{NUM. TEL3 PATIENT}} 
 +Cette instruction retourne le troisième numéro de téléphone du patient. 
 +Variantes : {{NUM TEL3 PATIENT}} 
 + 
 +4.5.3.64 |==> {{EMAIL PATIENT}} 
 +4.5.3.65 |==> {{DATE NAISSANCE PATIENT=format de la date}} 
 +retourne la date de naissance de l'​assuré selon le format spécifié dans le paramètre facultatif N°1 
 +Paramètre N° 1 (format de retour pour la date : facultatif et par défaut dd-MM-yyyy) voir en paragraphe 3.4.3.5  
 + 
 +4.5.3.66 |==> {{SEXE PATIENT}} 
 +4.5.3.67 |==> {{TITRE PATIENT}} 
 +4.5.3.68 |==> {{PROFESSION PATIENT}} 
 +4.5.3.69 |==> {{NOMBRE D'​ENFANT PATIENT}} 
 +4.5.3.70 |==> {{VILLE PATIENT}} 
 +4.5.3.71 |==> {{CODE POSTAL PATIENT}} 
 +4.5.3.72 |==> {{ADRESSE PATIENT}} 
 +4.5.3.73 |==> {{ADRESSE COMPLETE PATIENT}} 
 +4.5.3.74 |==> {{ADRESSE PATIENT UNE LIGNE}} 
 +4.5.3.75 |==> {{NUM. SECU PATIENT = separateur}} 
 +Cette instruction retourne le numéro de sécurité sociale du patient. 
 +Paramètre N° 1 ( séparateur de clef facultatif). si indiqué alors la clef du numéro de sécurité sociale est rajoutée avec l'​éventuel séparateur indiqué dans le paramètre N°1. 
 +Si la valeur du séparateur est égale à $no key , le numéro de sécurité sociale du patient est retourné sans la clef. 
 +Variantes : {{NUM SECU PATIENT}} 
 + 
 +4.5.3.76 |==> {{NOM PRENOM ASSURE}} 
 +4.5.3.77 |==> {{NOM PRENOM INTERVENANT=Médecine générale}} 
 +4.5.3.78 |==> {{NOM PATIENT}} 
 +4.5.3.79 |==> {{PRENOM PATIENT}} 
 +4.5.3.80 |==> {{NOM PRENOM PATIENT}} 
 +4.5.3.81 |==> {{POIDS PATIENT}} 
 +4.5.3.82 |==> {{BMI PATIENT}} 
 +4.5.3.83 |==> {{SURFACE PATIENT}} 
 +4.5.3.84|==>​ {{::Nouveau Document (nom rubrique)}} 
 +Cette instruction permet de créer un nouveau document avec pour nom de la rubrique, un des types suivants : Observation Prescription Documents Terrain. 
 +Variantes : {{Nouveau Document = nom rubrique}} 
 +4.5.3.85 |==> {{:: TEST(String,​ Valeur1, = ,Valeur2, c'est vrai, c'est faux )}} 
 +Variantes : {{:: SI (String, Valeur1, = ,Valeur2, c'est vrai, c'est faux )}} 
 +Cette instruction de type opérateur ternaire, permet de faire des tests conditionnels. 
 +Paramètre N° 1 (type de test). 
 +° Si S les valeurs testées seront des chaînes. 
 +° Si N les valeurs comparées sont des valeurs numériques 
 + 
 +Paramètre N° 2 (première valeur à tester ) 
 + 
 +Paramètre N° 3 (opérateur de test à effectuer) 
 + 
 +° Si = teste l'égalité. 
 +° Si > vrai si Valeur1 supérieure à Valeur2 
 +° Si < vrai si Valeur1 inférieure à Valeur2 
 +° Si >= vrai si Valeur1 supérieure ou égale à Valeur2 
 +° Si <= vrai si Valeur1 inférieure ou égale à Valeur2 
 +° Si != vrai si Valeur1 différente ​de Valeur2 
 +° Si %= vrai si Valeur1 commence par Valeur2 
 +° Si =% vrai si Valeur1 finit par Valeur2 
 +° Si %=% vrai si Valeur1 contient de Valeur2 
 + 
 +Paramètre N° 4 (deuxième valeur à tester). 
 +Paramètre N° 5 (données à placer si vrai). 
 +Paramètre N° 6 (données à placer si faux). 
 + 
 +{{:: TEST(NumériqueValeur1, = ,Valeur2, c'est vrai, c'est faux )}} 
 +{{:: SI (S,{{SEXE MEDECIN}},​=,​F,​e)}} 
 +{{:: Si (N,{{AGE PATIENT}},>​=,​18,​majeur,​mineur)}} 
 + 
 + 
 + 
 + 
 +4.5.3.86 |==> {{::Fill ( 38 , --- )}} 
 + 
 +Paramètre N° 1 (nombre de répétitions) : 
 +Paramètre N° 2 (motif à répéter) : 
 +         Peut contenir la valeur suivante spc qui sera remplacée par un espace. 
 +         Si le deuxième paramètre est absent, le motif par défaut à répéter sera un espace. 
 + 
 +4.5.3.87 |==> {{:: DO_LISTE (Bernard|Bruno|Jean|Vincent|Paul , Choix d'un prénom , | , retour, nbr de champs à afficher, mode multi ou simple sélection)}} 
 + 
 +Cette instruction permet d'​afficher un dialogue de liste de choix d'​items. 
 + 
 +Paramètre N° 1 (liste des items séparés par le séparateur indiqué en paramètre N°3 ou | si celui-ci est absent) .  
 +                         ​Facilité :   si, dans un item, est présent le motif ::, il sera affiché à la place le caractère espace. 
 +                                        Cette facilité permet d'​afficher des items constitués eux-mêmes d'un ensemble d'​éléments 
 +                                        séparés par un séparateur que l'on ne veut pas rendre visible lors de l'​affichage.  
 +                                         
 +Exemple : {{:: DO_LISTE (TARTEMPION::​Bernard|COEUR::​Bruno|AYMARD::​Jean|MAUVE::​Guy , Choix d'un prénom ,|, retour_de_liste,​-1,​ S )}} 
 +                     ​{{VAR=retour_de_liste}} 
 + 
 +                 ​Affichera la liste suivante:  
 +                   
 +                 ​affichera : Rejected si vous cliquez sur le bouton de fermeture sans avoir cliqué sur un item de la liste. 
 +                 ​affichera : Accepted si vous cliquez sur le bouton de fermeture après avoir cliqué sur un item de la liste. 
 +Paramètre N° 2 (titre du dialogue) ce paramètre est facultatif. 
 +Paramètre N° 3 (séparateur d'​items) ce paramètre est facultatif et alors le séparateur par défaut sera | si EOL se sera les fins de lignes .  
 +Paramètre N° 4 (variable de retour) ce paramètre est facultatif et, si indiqué, est le nom d'une variable dans laquelle sera retourné : '​Rejected'​ si la fenêtre a été fermée sans qu'un choix ait été fait . '​Accepted'​ si un des éléments de la liste a été cliqué. La valeur de cette variable peut être obtenue par la suite en faisant comme dans l'​exemple ci-dessus {{VAR=retour_de_liste}} . 
 +Paramètre N° 5 (nombre de champs à afficher par item) paramètre facultatif qui permet de limiter l'​affichage d'un item composé de plusieurs champs à seulement certains champs. Ce nombre est le nombre de champs séparés par :: qu'il conviendra d'​afficher par item. Cela permet de cacher par exemple lors du retour d'une requête SQL, une clef primaire. Le séparateur de champs composant l'item doit être obligatoirement :: lors de l'​affichage il sera remplacé par un espace, lors de la sélection d'un item, le texte retourné, contient lui l'​entière liste des champs séparés par ::, comme lors de l'​appel. 
 +Si -1 alors tous les champs sont à afficher. 
 +Paramètre N° 6 (mode multisélection) paramètre facultatif qui permet de limiter de spécifier le mode de sélection simple '​S'​ ou multi '​M'​. 
 + 
 +Exemple : {{:: DO_LISTE (TARTEMPION::​Bernard::​103|COEUR::​Bruno::​105|AYMARD::​Jean::​110|MAUVE::​Guy::​140 , Choix d'un prénom ,|, retour,​2)}} 
 + 
 +                Affichera la liste suivante:  
 +                        
 +                et retournera : AYMARD::​Jean::​110 si vous cliquez sur la ligne correspondante. Nous voyons que l'​affichage dans la liste remplace :: par un espace et que la liste n'​affiche que les deux premiers champs séparés par :: comme indiqué par le paramètre N° 5 et cache donc le dernier champ qui est un nombre. 
 + 
 +Exemple sophistiqué : permettant le choix d'un correspondant et d'​affecter la clef primaire de ce correspondant à une variable, pouvant être utilisée par la suite pour récupérer son adresse postale ou autres renseignements,​ pour automatiser l'​en-tête d'un courrier. 
 + 
 +{{\ 
 +{{:: SET_VAR(resultat,​{{::​DO_LISTE({{::#​SQL_SELECT (Personnes , Nom |Prenom|ID_PrimKey,​WHERE NumOrdre!=''​ , 30,::,|) }},Nom du médecin,​|,​retourAdressePar,​2)}})}}\ 
 +{{:: VAR_SPLIT(AdressePar_,​{{VAR=resultat}},::​)}}\ 
 +}}\ 
 +{{REM= -------------- utilisation par la suite des renseignements du choix --------------}}\ 
 +{{::#​TEST(S,​{{VAR=retourAdressePar}},​=,​Accepted,​  
 +Nom : {{VAR=AdressePar_0}} 
 +Prénom : {{VAR=AdressePar_1}} 
 +Clef primaire : {{VAR=AdressePar_2}},​)}} 
 + 
 + 
 +4.5.3.88 |==> {{::​SQL_EXEC( requete sql )}} 
 +Cette instruction exécute une requête SQL sur la base DrTuxTest . 
 +4.5.3.89 |==> {{::​SQL_GET_RUB_HEAD_PK ( Observation) }} 
 +Cette instruction affiche la clef primaire de la rubrique en cours d'​affichage,​ instruction utile pour les appels aux programmes externes et instructions SQL. 
 +Paramètre N° 1 (nom de la rubrique) . 
 +         ​Paramètre facultatif. Si le nom de la rubrique n'est pas précisé, c'est la rubrique courante en cours d'​affichage qui est concernée 
 +Variantes : {{SQL_GET_RUB_HEAD_PK = nom rubrique}} 
 + 
 + 
 +4.5.3.90 |==> {{::​SQL_SELECT ( table , nom|prenom|sexe , WHERE nom=paul , 1000 , % , | , &​nbsp;&​nbsp;&​nbsp;​° Nom : %0 Prénom : %1 Sexe : %2 )}} 
 + 
 +Cette instruction permet d'​exécuter une requête SQL et de formater le retour par exemple pour l'​afficher avec la liste de choix d'​items {{:: DO_LISTE}}. 
 + 
 +Paramètre N° 1 (nom de la table sur laquelle la requête s'​exécute) . 
 +Paramètre N° 2 (nom des champs à retourner séparés par | ) 
 +Paramètre N° 3 (condition SQL de la requête). 
 +Paramètre N° 4 (nombre maximum de réponses par défaut 20, facultatif). 
 +Paramètre N° 5 (séparateur de champs lors du retour, par défaut un espace, facultatif). 
 +                           si ce séparateur prend la valeur :     ​$SET_VAR ​    alors chaque champ retourné après exécution de la requête SQL  
 +                           le sera dans une variable dont le nom aura la forme suivante nomdelatable.nomduchamp0  
 +                           où 0 sera l'​occurrence du retour soit le numéro de la rangée (notez que cela peut créer beaucoup de variables). 
 +Paramètre N° 6 (séparateur de lignes lors du retour, par défaut un retour chariot, facultatif). 
 +Paramètre N° 7 (Masque d'​intégration des données facultatif). 
 +Si, dans ce paramètre, vous placez une chaîne de caractères contenant : le séparateur de champ donné en paramètre N°5 auquel vous accolez le numéro d'​ordre du champ tel qu'il apparaît dans le paramètre N°2, comme par exemple %0 pour nom %1 pour prénom %2 pour le sexe, alors, pour chaque réponse de la requête, la sortie se fera en ajoutant cette chaîne avec les motifs %0 %1 %2 remplacés par la valeur du champ correspondant suivie du séparateur de lignes. Cela permet d'​envisager des sorties avec la présentation de votre choix. 
 + 
 +exemple : {{::​Do_liste(\ 
 +{{::#​SQL_SELECT ( Personnes , Nom|Prenom , WHERE Qualite='​Maintenance informatique'​ , 300 , &nbsp; , | ) }},\ 
 +Nom du médecin 
 +)}} 
 +              affichera la liste des intervenants limitée à 300 lignes, ayant pour qualité Maintenance informatique. 
 + 
 +exemple : {{::​DO_LISTE({{::#​SQL_SELECT (Personnes , Nom |Prenom,​WHERE NumOrdre!=''​ , 30,&​nbsp;,​| ) }}, Nom du médecin)}} 
 + 
 +              affichera la liste des intervenants médecins limitée à 30 lignes de résultats. 
 + 
 +               
 + 
 +exemple : 
 +{{::#​SQL_SELECT ( fchpat_Intervenants INNER JOIN Personnes ON fchpat_Intervenants.fchpat_Intervenants_IntervPK=Personnes.ID_PrimKey ,  
 +Personnes.Qualite|Personnes.Nom|Personnes.Prenom|Personnes.Tel_1 ,  
 +WHERE fchpat_Intervenants.fchpat_Intervenants_PatPK = '​{{SQL_GET_DOSS_PK}}'​ , 300,​%,<​br>,&​nbsp;&​nbsp;&​nbsp;​° %0 : %1 %2 Tél. %3) }} 
 +               ​affichera la liste des intervenants limitée à 300 lignes, concernant le patient en cours. 
 +exemple : 
 + 
 +Correspondants du patient : 
 +{{::#​SQL_SELECT ( fchpat_Intervenants INNER JOIN Personnes ON fchpat_Intervenants.fchpat_Intervenants_IntervPK=Personnes.ID_PrimKey , Personnes.Qualite|Personnes.Nom|Personnes.Prenom|Personnes.Tel_1 , WHERE fchpat_Intervenants.fchpat_Intervenants_PatPK = '​{{SQL_GET_DOSS_PK}}'​ , 300 ,​%,<​br>,&​nbsp;&​nbsp;&​nbsp;​° %0 : %1 %2 Tél. %3) }}  
 + 
 +produira l'​affichage suivant : 
 + 
 +Correspondants du patient : 
 +   ° Infirmière : DUPOND Béatrice Tél. 1212121234 
 +   ° Maintenance informatique : GERMAIN Pascal Tél. 1212121234 
 +   ° Cardiologue : DUCOEUR Bertrand Tél. 1212121234 
 + 
 + 
 +4.5.3.91 |==> {{:: LINE_EDIT (texte, title, texte d'​information)}} 
 +Cette instruction affiche un dialogue simple d'​édition de texte vous permettant de saisir un petit texte. 
 + 
 +Paramètre N° 1 (chaîne pour préremplir la ligne d'​édition) 
 +Paramètre N° 2 (titre du dialogue d'​édition) 
 +Paramètre N° 3 (facultatif : texte d'​information sur la nature de al saisie) peut contenir les mentions suivantes :  
 +                  $File sera considéré comme le chemin d'un fichier à charger et alors le nom de ce fichier peut contenir les mentions suivantes. 
 +                  $Glossaire ​        qui sera remplacée par le chemin du Glossaire. 
 +                  $Vigie ​              qui sera remplacée par le chemin de la Vigie. 
 +Paramètre N° 4 (facultatif : répertoire où se trouvent les images) peut contenir les mentions suivantes :  
 +                  $Glossaire ​        qui sera remplacée par le chemin du Glossaire. 
 +                  $Vigie ​              qui sera remplacée par le chemin de la Vigie. 
 +                  par défaut, le répertoire des images est celui de l'​éventuel fichier indiqué à la suite de $File du Paramètre N° 1. 
 + 
 +Exemple : {{:: LINE_EDIT (Ligne de texte en édition, test de l'​édition)}} affichera le dialogue suivant : 
 + 
 + 
 + 
 +Exemple :  
 + 
 +     {{:: LINE_EDIT (Ligne de texte en édition, test de l'​édition,​$File../​../​Doc/​index.html)}}  
 + 
 +affichera le dialogue suivant : 
 + 
 + 
 +Exemple :  
 + 
 +          {{:: LINE_EDIT (3000, Période du timer, Nouvelle période pour le timer : <br>* si négatif le timer sera activé juste une fois pour la période définie.<​br>​* si positif le timer sera activé à chaque période.<​br>​* zéro le timer s'​arrête et n'est plus actif., paramétrage d'un menu timer)}} 
 + 
 +affichera le dialogue suivant : 
 + 
 + 
 + 
 +4.5.3.92 |==> {{SQL_GET_DOSS_GUID}} 
 +Cette instruction affiche le GUID (identifiant unique) du dossier en cours, instruction utile pour les appels aux programmes externes et instructions SQL. 
 +Variantes : {{GET_DOSS_GUID}} {{GET_DOSS_GUID}} {{GUID}} 
 + 
 +4.5.3.93 |==> {{SQL_GET_DOSS_PK}} 
 +Cette instruction affiche la clef primaire du dossier en cours, instruction utile pour les appels aux programmes externes et instructions SQL. 
 +4.5.3.94 |==> {{OS}} 
 +Cette instruction,​ utile pour les possesseurs de chien, retourne L'OS en cours. 
 +W si Windows 
 +M Si MacOS 
 +L Si Linux 
 +4.5.3.95 |==> {{:: APPEND_DOC_IN_CLASSEUR (hierarchie,​ forcerInsertion)}} 
 +Cette instruction de classement automatique est celle qui va permettre à un document d'​indiquer lors de sa création 
 +et insertion par l'​utilisateur,​ l'​endroit où il doit être classé dans la Vigie. 
 + 
 +Paramètre N° 1 (hiérarchie de classeurs indiquant le classeur final où doit être classé le document) . 
 +Paramètre N° 2 (ce paramètre détermine le devenir d'un document si il n'a pas pu être classé dans la Vigie) 
 +Lorsque le classeur de destination indiqué par le paramètre N°1 (hiérarchie de classeurs de destination) 
 +n'est pas accessible (n'​existe pas, inaccessible pour ce profil ou ce filtre, etc ...) 
 +° si ce paramètre est supérieur à 0 (zéro), le document sera ajouté et créé mais non classé dans la Vigie. 
 +° si ce paramètre est à zéro, le document ne sera ni classé ni ajouté ou créé. 
 +Exemple : 
 +dans cet exemple, le document ayant ces macros-instructions sera classé dans deux classeurs à la fois. 
 +Si le classement dans un des classeurs échoue, le document sera tout de même créé (forcerInsertion à 1). 
 + 
 +{{\ 
 +{{::​Append_doc_in_classeur (Classeur_Médecine_Générale/​Non classés, 1)}}\ 
 +{{::​Append_doc_in_classeur (Historique du dossier, 1)}}\ 
 +}} 
 + 
 +4.5.3.96 |==> {{DOC_TYPE=Prescription,​ 1}} 
 +Cette instruction placée en début de document indique et force une rubrique de destination dans laquelle le document doit être placé lors de son chargement. 
 +Paramètre N° 1 (Rubrique de destination du document) 
 +Paramètre N° 2 (facultatif) si 1, il n'est pas posé de question au cas où un document est déjà existant à cette date.  
 + 
 + 
 +4.5.3.97 |==> {{GET_SELECTION=Nom de la variable}} 
 +Cette instruction retourne le texte sélectionné dans le texte en cours. 
 +Paramètre N° 1 (facultatif) modificateur de méthode 
 +Si ce paramètre est égal à la valeur $File alors la sélection sera écrite sur le disque dans le fichier indiqué à la suite de $File . 
 +Si ce paramètre est égal à la valeur $Paste alors la méthode de sélection sera un copy/paste (parfois meilleurs résultats) . 
 +Sinon ce paramètre indique le nom d'une variable à initialiser avec le contenu de la sélection. Idem à {{:: VAR_SET(Nom de la variable, $Selection}} 
 + 
 + 
 + 
 +4.5.3.98 |==> {{:: VAR_SET(Nom de la variable, valeur de la variable)}} 
 +Cette instruction positionne la variable 'Nom de la variable'​ indiquée par le premier paramètre, sur la valeur indiqué dans le deuxième paramètre. Cette instruction est utile pour stocker un résultat provenant d'une série de macro complexes. Par la suite, il suffira juste d'​utiliser {{VAR=Nom de la variable}} pour récupérer la valeur sans avoir à effectuer ni réécrire la macro complexe. 
 +Paramètre N° 1 (nom de la variable) 
 +Paramètre N° 2 (valeur de la variable)  
 +              si cette valeur commence par le modificateur $Selection alors elle sera initialisée avec le contenu du texte sélectionné dans l'​éditeur de texte courant idem à {{GET_SELECTION=Nom de la variable}} 
 +              si cette valeur commence par le modificateur $File alors ce qui suit la suite de $File sera considéré comme le chemin d'un fichier à charger et alors le nom de ce fichier peut contenir les mentions suivantes : 
 +                  $Glossaire ​        qui sera remplacée par le chemin du Glossaire. 
 +                  $Vigie ​              qui sera remplacée par le chemin de la Vigie. 
 + 
 +Variantes : {{:: SET_VAR(nom de la variable, valeur de la variable)}} 
 + 
 + 
 +4.5.3.99 |==> {{VAR=Nom de la variable}} 
 +Cette instruction place le contenu de la variable dont le nom est indiqué par le paramètre : Nom de la variable. 
 +Paramètre N° 1 (nom de la variable) 
 +Variantes : {{PUT_VAR=nom de la variable}} 
 + 
 + 
 +4.5.3.100 |==> {{:: LIST_DIR (repertoire,​ filtre, extension, sep, 1) }} 
 +Cette instruction crée une chaîne constituée de tous les éléments trouvés dans le répertoire spécifié dans le paramètre N° 1 , séparés par le séparateur indiqué par le terme sep. 
 +La liste peut être filtrée par un filtre sur les extensions et sur les nom des fichiers. 
 + 
 +Paramètre N° 1 (nom du répertoire dont il faut lister le contenu) 
 +Paramètre N° 2 (liste de chaînes validantes : facultative)  
 +Liste des chaînes validantes séparées par le séparateur sep, qui, si une est contenue dans le nom d'un des éléments du répertoire,​ retient cet élément comme à inclure dans la liste. 
 +Si cette liste est vide, il ne sera pas tenu compte de cette liste. 
 +Paramètre N° 3 (liste des extensions validantes : facultative) 
 +Liste des extensions validantes séparées par le séparateur sep, qui si une est contenue dans l'​extension d'un des éléments du répertoire,​ retient cet élément comme à inclure dans la liste. 
 +Si cette liste est vide, il ne sera pas tenu compte de cette liste. 
 +Paramètre N° 4 (séparateur : falcultatif) 
 +si non indiqué par défaut, est égal à | 
 +Paramètre N° 5 (nature de la liste : falcultatif) 
 +si non indiqué par défaut, est égal à 0 
 +si à 1 alors il sera listé les répertoires. 
 + 
 + 
 +4.5.3.101 |==> {{:: MESSAGE_ALERT (message, titre, bouton1, bouton2, bouton3, bouton4, hauteur, largeur, chemin des images) }} 
 +variante {{:: FORM_MESSAGE (message, titre, bouton1, bouton2, bouton3, bouton4, hauteur, largeur, chemin des images) }} 
 + 
 +Cette instruction affiche un dialogue à choix multiples constitué d'un texte d'​information et d'un maximum de quatre boutons de choix. 
 +Le texte retourné est celui du bouton cliqué. 
 +Paramètre N° 1 (message du texte d'​information) qui, si commence par 
 +                  $File sera considéré comme le chemin d'un fichier à charger et alors le nom de ce fichier peut contenir les mentions suivantes. 
 +                  $Glossaire ​        qui sera remplacée par le chemin du Glossaire. 
 +                  $Vigie ​              qui sera remplacée par le chemin de la Vigie. 
 + 
 +Paramètre N° 2 (titre du dialogue : facultatif)  
 +Paramètre N° 3 à 6 (texte des boutons : facultatif) si aucun bouton n'est défini, le bouton par défaut ok est activé. Cela permet d'​afficher très simplement un texte d'​information. 
 +Paramètre N° 7 (largeur du dialogue : facultatif)  
 +Paramètre N° 8 (hauteur du dialogue : facultatif)  
 +Paramètre N° 9 (répertoire où se trouvent les images : facultatif) peut contenir les mentions suivantes :  
 +                  $Glossaire ​        qui sera remplacée par le chemin du Glossaire. 
 +                  $Vigie ​              qui sera remplacée par le chemin de la Vigie. 
 +                  par défaut, le répertoire des images est celui de l'​éventuel fichier indiqué à la suite de $File du Paramètre N° 1. 
 +Exemple : 
 + 
 +                  {{::#​MESSAGE_ALERT (message de test pour vous pour démonstration de l'​instruction \ 
 +                  MESSAGE_ALERT il est même possible d'placer des images\ 
 +                  ,\ 
 +                  exemple MESSAGE ALERT, bouton1, bouton2, bouton3, bouton4, 450, 250) }} 
 + 
 +affichera la boîte de dialogue suivante : 
 + 
 +                   
 + 
 + 
 +Exemple :  
 +                  {{::#​MESSAGE_ALERT ($File../​../​Doc/​index.html,​exemple MESSAGE ALERT, bouton1,,,, 470,​220,​../​../​Doc) }} 
 +ou la variante (alors le répertoire des images sera déduit de ../​../​Doc/​index.html ) 
 +                  {{::#​MESSAGE_ALERT ($File../​../​Doc/​index.html,​ exemple MESSAGE ALERT, bouton1,,,, 470,220) }} 
 + 
 +affichera la boîte de dialogue suivante : 
 + 
 +                   
 + 
 + 
 +4.5.3.102 |==> {{:: MESSAGE_POPUP (message, chemin bitmap, tempo) }} 
 +variante {{:: FORM_POPUP_MESSAGE (message, chemin bitmap, tempo) }} 
 +Cette instruction affiche un petit texte dans un popup surgissant en bas à droite de l'​écran,​ pour par exemple signaler pourquoi une action est sans effet. 
 + 
 +Paramètre N° 1 (texte du message à afficher) 
 +Paramètre N° 2 (chemin du bitmap à afficher : facultatif)  
 +Paramètre N° 3 (temps de persistance du popup à l'​écran en milli secondes : facultatif et alors par défaut 1000 ms soit 1 seconde) 
 + 
 + 
 +4.5.3.103 |==> {{:: FORM_DATE (05-06-1956,​ titre du dialogue , format de retour, liste de présélection de dates}} 
 +Paramètre N° 1 (date à prépositionner) format dd-MM-yyyy 
 +Paramètre N° 2 (titre du dialogue : facultatif et par défaut Choix dans la date)  
 +Paramètre N° 3 (format de retour : facultatif et par défaut dd-MM-yyyy) voir en paragraphe 3.4.3.5 
 +Paramètre N° 4 (menu de présélection des dates: facultatif) ce paramètree permet de positionner un bouton de menu avec une présélection de dates 
 +chacune des options de ce menu est séparée de l'​autre par le séparateur '​|'​ . La syntaxe d'une option est la suivante : 
 +     Ce jour à 8:00 h pour une option repositionnant à la date du jour 
 +     Ce jour à 8:00 h + 1 jour pour une option repositionnant à la date du jour plus un jour 
 +     Ce jour à 8:00 h + 8 jours pour une option repositionnant à la date du jour plus huit jours 
 +     Ce jour à 8:00 h - 8 jours pour une option repositionnant à la date du jour moins huit jours etc .... 
 + 
 +exemple : {{:: FORM_DATE ({{dd-MM-yyyy}},​ titre du dialogue ,​dd-MM-yyyy,​ Ce jour à 8:00 h|Ce jour à 8:00 h + 1 jour|Ce jour à 8:00 h + 2 jours|Ce jour à 8:00 h + 3 jours|Ce jour à 8:00 h + 4 jours|Ce jour à 8:00 h + 6 jours|Ce jour à 8:00 h + 8 jours|Ce jour à 8:00 h + 15 jours)}} 
 + 
 +exemple de menu avec les jours mois et années et heures prépositionnées : 
 +     Ce jour à 8:00 h - 2 jours|Ce jour à 8:00 h - 1 jour|Ce jour à 8:00 h - 24 h|Ce mois à 0:00 h|Ce mois à 0:00 h - 1 mois|Cette année à  0:00 h|Cette année à  0:00 h - 1 an 
 + 
 + 
 + 
 + 
 + 
 +4.5.3.104 |==> {{:: FORM_HEURE (12:45:32, format de retour}}} 
 +Cette instruction affiche le dialogue de choix de l'​heure et en retourne l'​heure saisie selon le paramètre : format de retour . 
 +Paramètre N° 1 (heure à prépositionner : facultatif et par défaut l'​heure courante) format hh:mm:ss 
 +Paramètre N° 2 (format de retour : facultatif et par défaut hh:mm:ss) voir en paragraphe 3.4.3.5 
 + 
 + 
 + 
 + 
 +4.5.3.105 |==> {{:: FORM_DATE_HEURE (05-06-1956,​ 12:30:45, titre du dialogue , format de retour date, format de retour heure, séparation,​ , liste de présélection de dates}} 
 +Cette instruction affiche le calendrier et l'​heure pour choisir une date et une heure et en retourne la valeur saisie selon le format indiqué dans le quatrième et cinquième paramètre : format de retour . 
 +Paramètre N° 1 (date à prépositionner : facultatif et par défaut la date courante) format dd-MM-yyyy 
 +Paramètre N° 2 (heure à prépositionner : facultatif et par défaut l'​heure courante) format hh:mm:ss 
 +Paramètre N° 3 (titre du dialogue : facultatif et par défaut saisie de la date et de l'​heure) 
 +Paramètre N° 4 (format de retour pour la date : facultatif et par défaut dd-MM-yyyy) voir en paragraphe 3.4.3.5  
 +Paramètre N° 5 (format de retour pour l'​heure : facultatif et par défaut hh:mm:ss) voir en paragraphe 3.4.3.5  
 +Paramètre N° 6 (texte à placer entre la date et l'​heure : facultatif et par défaut un espace)  
 +Paramètre N° 7 (menu de présélection des dates: facultatif) ce paramètre permet de positionner un bouton de menu avec une présélection de dates 
 +chacune des options de ce menu est séparée de l'​autre par le paramètre '​|'​ . La syntaxe d'une option est la suivante : 
 +     Ce jour à 8:00 h pour une option repositionnant à la date du jour 
 +     Ce jour à 8:00 h + 1 jour pour une option repositionnant à la date du jour plus un jour 
 +     Ce jour à 8:00 h + 8 jours pour une option repositionnant à la date du jour plus huit jours 
 +     Ce jour à 8:00 h - 8 jours pour une option repositionnant à la date du jour moins huit jours etc .... 
 + 
 +exemple : {{:: FORM_DATE_HEURE ( {{dd-MM-yyyy}},​ 08:​00:​00,​saisie de l'​heure et de la date,​dd-MM-yyyy,​ hh:mm, à , Ce jour à 8:00 h|Ce jour à 8:00 h + 24 hr|Ce jour à 8:00 h + 2 jours|Ce jour à 8:00 h + 3 jours|Ce jour à 8:00 h + 4 jours|Ce jour à 8:00 h + 6 jours|Ce jour à 8:00 h + 8 jours|Ce jour à 8:00 h + 15 jours)}} 
 + 
 +exemple de menu avec les jours mois et années et heures prépositionnées : 
 +     Ce jour à 8:00 h - 2 jours|Ce jour à 8:00 h - 1 jour|Ce jour à 8:00 h - 24 h|Ce mois à 0:00 h|Ce mois à 0:00 h - 1 mois|Cette année à  0:00 h|Cette année à  0:00 h - 1 an 
 +exemple :  
 +en date du {{:: FORM_DATE_HEURE (05-06-1956,​ 12:30:45, saisie de l'​heure et de la date,​dd-MM-yyyy,​ hh:mm, à ) }} 
 + 
 +affichera le dialogue suivant : 
 + 
 +qui après saisie donnera : en date du 05-06-1956 à 12:30 
 + 
 +4.5.3.106 |==> {{REM= texte de votre choix }} 
 +Cette instruction ne fait rien, et permet d'​afficher un commentaire dans le texte de la macro . 
 +4.5.3.107 |==> {{:: INCLUDE( chemin du fichier, modificateur ) }} 
 +Cette instruction charge un fichier et en retourne le contenu. 
 +Paramètre N° 1 (chemin du fichier à charger) ​         peut contenir les mentions suivantes :  
 +                  $Glossaire ​        qui sera remplacée par le chemin du Glossaire. 
 +                  $Vigie ​              qui sera remplacée par le chemin de la Vigie. 
 +Paramètre N° 2 (modificateur : facultatif) si contient : crlf2html alors les retours chariots seront conservés et convertis en <br>  
 +4.5.3.108 |==> {{:: VAR_SPLIT( prefix, string to split , séparateur,​ allowEmptyEntries) }} 
 +Cette instruction distribue les segments d'une chaîne séparés par un séparateur indiqué par le troisième argument : séparateur,​  
 +en plusieurs variables dont le nom est constitué par : le deuxième argument auquel est ajouté l'​occurrence du segment dans la chaîne. 
 +Paramètre N° 1 (nom préfixé de la variable) ​        ​préfixe du nom de la variable auquel sera ajoutée l'​occurrence du segment dans la chaîne. 
 +Paramètre N° 2 (chaîne de caractères à séparer) ​   exemple '​premier segment | deuxième segment | troisième segment'​. 
 +Paramètre N° 3 (séparateur facultatif) ​       contient ​ le séparateur. Si vide il sera pris par défaut le séparateur |  
 +Paramètre N° 4 (entrées vides autorisées facultatif par defaut TRUE)        
 +                  si valeur = FALSE, si un segment est vide, il n'y aura pas de variable affectée. 
 +                  si valeur = TRUE (valeur par défaut) , si un segment est vide il y aura une variable vide affectée. 
 + 
 +4.5.3.109 |==> {{VAR_LIST_CLEAR}} Cette instruction détruit toutes les variables afin de réinitialiser la liste des variables. 
 +4.5.3.110 |==> {{USER_EMAIL_MEDECIN}} Retourne l'​email du médecin en cours d'​utilisation du programme. 
 +4.5.3.111 |==> {{USER_TEL_1_MEDECIN}} Retourne le premier numéro de téléphone du médecin en cours d'​utilisation du programme. 
 +4.5.3.112 |==> {{USER_TEL_2_MEDECIN}} Retourne le deuxième numéro de téléphone du médecin en cours d'​utilisation du programme. 
 +4.5.3.113 |==> {{USER_TEL_3_MEDECIN}} Retourne le troisième numéro de téléphone du médecin en cours d'​utilisation du programme. 
 +4.5.3.114 |==> {{EMAIL_MEDECIN}} Cette instruction retourne l'​email du médecin auteur du document en cours. 
 +4.5.3.115 |==> {{TEL_1_MEDECIN}} Cette instruction retourne le premier numéro de téléphone du médecin auteur du document en cours. 
 +4.5.3.116 |==> {{TEL_2_MEDECIN}} Cette instruction retourne le deuxième numéro de téléphone du médecin auteur du document en cours. 
 +4.5.3.117 |==> {{TEL_3_MEDECIN}} Cette instruction retourne le troisième numéro de téléphone du médecin auteur du document en cours. 
 + 
 + 
 +4.5.3.118 |==> {{::#​CADRE(largeur,​ epaisseur du bord, marge, espace entre cellules, justification,​ séparateur de ligne, cadre N°1, cadre N°2, cadre N°2, ....)}}  
 +Cette instruction permet de présenter un affichage sous forme de cadres horizontaux. Elle est utile par exemple dans les documents types pour afficher un cadre gauche avec les coordonnées du médecin, un cadre central avec les caractéristiques du documents, un cadre droit avec les coordonnées du destinataire. 
 + 
 +Paramètre N° 1 (largeur totale du cadre) est exprimé en pixels mais peut être exprimé en % de la largeur totale alors il faut faire suivre la valeur par le caractère % exemple 100% . 
 +Paramètre N° 2 (épaisseur du cadre) si zéro, le cadre ne sera pas dessiné. 
 +Paramètre N° 3 (marge interne) marge interne au cadre en pixels. 
 +Paramètre N° 4 (espace entre cellules) ​ en pixels. 
 +Paramètre N° 5 (justification du cadre général) left, center, right. 
 +Paramètre N° 6 (motif à utiliser à la place des retours chariots \r\n ) en général <br> . 
 +Paramètre N° 7 à 7+N (contenu de chaque cadre) chacun de ces paramètres sera considéré comme un cadre, par défaut la largeur de chaque cadre sera celle générale définie par le paramètre N°1 divisé par le nombre de cadres. Cependant, si la définition d'un cadre comporte le motif suivant : $WIDTH 30% $END_WIDTH encadrant une valeur, celle-ci sera utilisée à la place de celle par défaut.  
 + 
 +Exemple avancé de macro à placer dans l'​en-tête d'un document pour choisir et afficher l'​adresse d'un médecin correspondant lors d'une impression :  
 + 
 +Lors d'une impression avec cet en-tête, il est demandé de choisir le médecin auquel est destiné le document dans une liste DO_LISTE qui présente le résultat d'une requête SQL SQL_SELECT listant tous les médecins correspondants.  
 +Si la liste est quittée sans choix {{VAR=retour}} = Rejected l'​impression sera annulée car il sera placé la mention $PRINT_STOP  
 +Si il est choisi un correspondant,​ ses coordonnées postales seront affichées dans un cadre en haut à droite du document afin de pouvoir poster directement le document dans une enveloppe à fenêtre.  
 +Remarquez l'​astuce qui consiste a créer une variable actionDoListe contenant elle même l'​instruction DO_LISTE (présente une liste) ou M_NOP (ne fait rien) selon le résultat du test du statut d'​exécution de la macro.  
 +Remarquez le choix du séparateur de champ particulier :: pour que DO_LISTE puisse afficher les items composés de plusieurs champs, avec masquage de la dernière donnée (ID_PrimKey). 
 + 
 +La Macro : 
 + 
 +{{\ 
 +{{REM= ---------------------- test du statut d'​impression -----------------------------}}\ 
 +{{REM= ne faire appel à la liste des medecins }}\ 
 +{{REM= que si il n'y a pas encore eu de resolution }}\ 
 +{{REM= de macro lors de l'​impression }}\ 
 +{{REM= sous Mac DO_LISTE ne doit pas etre re-executee lors }}\ 
 +{{REM= d'un changement d'​en-tete }}\ 
 + 
 +{{:: SET_VAR(actionDoListe,​{{::​ TEST(S,​{{VAR=$SCRIPT_STATUS}},​=,​$PRINT_SCRIPT_END,​M_NOP,​DO_LISTE)}})}}\ 
 +{{:: SET_VAR(actionDoListe,​{{::​ TEST(S,​{{OS}},​=,​M,​{{::​ TEST(S,​{{VAR=$SCRIPT_STATUS}},​=,​$PRINT_HEADER_CHANGED,​M_NOP,​{{VAR=actionDoListe}})}},​{{VAR=actionDoListe}})}})}} 
 +{{:: SET_VAR(resultatDoListeEnteteCourrier,​{{::​{{VAR=actionDoListe}}({{::#​SQL_SELECT (Personnes , Nom |Prenom|ID_PrimKey,​WHERE NumOrdre!=''​ , 30,::,|) }},Choix du mécecin destinataire,​|,​retourChoixMedecinPrint,​2)}})}}\ 
 +{{:: VAR_SPLIT(AdressePar_,​{{VAR=resultatDoListeEnteteCourrier}},::​)}}\ 
 +{{REM= -------------- utilisation par la suite des renseigments du choix --------------}}\ 
 +{{REM= pour selectionner les renseignements du destinataire }}\ 
 +{{:: SQL_SELECT (Personnes,​Nom|Prenom|Adresse|CodePostal|Ville|ID_PrimKey,​WHERE ID_PrimKey='​{{VAR=AdressePar_2}}',​1,​$SET_VAR)}}\ 
 + 
 +{{REM= -------------- creation des variables des contenus des cadres -----------------}}\ 
 +{{::#​SET_VAR(cadreGauche,<​center>​{{TITRE PS}} {{NOM PRENOM MEDECIN}}<​br>​{{IDENTIFICATION MEDECIN}}<​br>​{{CONVENTION MEDECIN}}<​br>​{{USER ADRESSE COMPLETE MEDECIN}}<​br>​Tél. {{TEL_1_MEDECIN}})}}\ 
 +{{::#​SET_VAR(cadreCentral,​ )}}\ 
 +{{::#​SET_VAR(cadreDestinataire,<​br><​br><​br><​br>​{{VAR=Personnes.Nom0}} {{VAR=Personnes.Prenom0}}<​br>​{{VAR=Personnes.Adresse0}}<​br>​{{VAR=Personnes.CodePostal0}} {{VAR=Personnes.Ville0}})}}\ 
 + 
 +{{REM= -------------- si choix annuler stocker la mention $PRINT_STOP ----------------}}\ 
 +{{REM= d'​annulation ​de l'​impression dans retourChoixMedecinPrint }}\ 
 +{{::#​SET_VAR(retourChoixMedecinPrint,​{{::#​TEST(S,​{{VAR=retourChoixMedecinPrint}},​=,​Rejected,​$PRINT_STOP,​)}})}}\ 
 +}} 
 +{{REM= -------------- affichage des cadres -------------------------------------------}} 
 +{{::#​CADRE(100%,​0,​ 0 ,0 ,​right,<​br>,​$WIDTH 25% $END_WIDTH{{VAR=cadreGauche}},​$WIDTH 45% $END_WIDTH{{VAR=cadreCentral}},​$WIDTH 30% $END_WIDTH{{VAR=cadreDestinataire}})}} 
 +{{REM= ----------------------- si choix annuler afficher $PRINT_STOP -----------------}} 
 +{{REM= que si il n'ya pas de changement d'​entete }} 
 +{{:: TEST(S,​{{VAR=$SCRIPT_STATUS}},​=,​$PRINT_HEADER_CHANGED,​ ,​{{VAR=retourChoixMedecinPrint}})}} 
 + 
 +Exemple avancé de macro à placer dans un modèle de document pour choisir un médecin correspondant destinataire :  
 + 
 +Lors du double clic d'un document dans le Glossaire, cette macro propose et affiche la liste des médecins correspondants et après choix positionne un cadre texte avec les coordonnées du médecin auteur du courrier ou document et dans un autre cadre les coordonnées du destinataire du document dans un cade prêt à poster. 
 +S'il est choisi un correspondant,​ ses coordonnées postales seront affichées dans un cadre en haut à droite du document afin de pouvoir poster directement le document dans une enveloppe à fenêtre.  
 +Remarquez l'​astuce qui consiste a créer une variable actionDoListe contenant elle même l'​instruction DO_LISTE (présente une liste) ou M_NOP (ne fait rien) selon le résultat du test du statut d'​exécution de la macro.  
 +Remarquez les doubles tests imbriqués pour tester une valeur ou l'​autre. 
 +Remarquez le retour de la mention particulière __ERREUR Fusion :__ lorsque la liste de choix a été quittée sans choix {{VAR=retour}} = Rejected, ayant pour conséquence la non incorporation du document dans MedinTux. 
 +Remarquez le choix du séparateur de champ particulier :: pour que DO_LISTE puisse afficher les items composés de plusieurs champs, avec masquage de la dernière donnée (ID_PrimKey). 
 + 
 +La Macro : 
 + 
 +{{\ 
 +{{REM= ---------------------- LA MACRO QUI TUE ----------------------------------------}}\ 
 +{{REM= test du statut du document pour }}\ 
 +{{REM= ne faire appel à la liste des medecins }}\ 
 +{{REM= que lors de l'​incorporation du document et non }}\ 
 +{{REM= lors de la prévisualisation }}\ 
 +{{:: SET_VAR(actionDoListe,​{{::​ TEST(S,​{{VAR=$SCRIPT_STATUS}},​%%,​$FUSION_ADD,​DO_LISTE,​{{::​ TEST(S,​{{VAR=$SCRIPT_STATUS}},​%%,​$FUSION_CREATE,​DO_LISTE,​M_NOP)}})}})}}\ 
 +{{:: SET_VAR(resultatDoListeEnteteCourrier,​{{::​{{VAR=actionDoListe}}({{::#​SQL_SELECT (Personnes , Nom |Prenom|ID_PrimKey,​WHERE NumOrdre!=''​ , 30,::,|) }},Choix du mécecin destinataire,​|,​retourChoixMedecin,​2)}})}}\ 
 +{{:: VAR_SPLIT(AdressePar_,​{{VAR=resultatDoListeEnteteCourrier}},::​)}}\ 
 + 
 +{{REM= -------------- utilisation par la suite des renseigments du choix --------------}}\ 
 +{{REM= pour selectionner les renseignements du destinataire }}\ 
 +{{:: SQL_SELECT (Personnes,​Nom|Prenom|Adresse|CodePostal|Ville|ID_PrimKey,​WHERE ID_PrimKey='​{{VAR=AdressePar_2}}',​1,​$SET_VAR)}}\ 
 +{{REM= -------------- creation des variables des contenus des cadres -----------------}}\ 
 +{{::#​SET_VAR(cadreGauche,<​center>​{{TITRE PS}} {{NOM PRENOM MEDECIN}}<​br>​N° Adeli {{IDENTIFICATION MEDECIN}}<​br>​{{CONVENTION MEDECIN}}</​center><​p>​{{USER ADRESSE COMPLETE MEDECIN}}<​br>​Tél. {{TEL_1_MEDECIN}}</​p>​)}}\ 
 +{{::#​SET_VAR(cadreCentral,​ )}}\ 
 +{{::#​SET_VAR(cadreDestinataire,<​br><​br><​br><​br>​{{VAR=Personnes.Nom0}} {{VAR=Personnes.Prenom0}}<​br>​{{VAR=Personnes.Adresse0}}<​br>​{{VAR=Personnes.CodePostal0}} {{VAR=Personnes.Ville0}})}}\ 
 +}} 
 +{{REM= -------------- affichage des cadres -------------------------------------------}}\ 
 +{{::#​CADRE(100%,​0,​ 0 ,0 ,​right,<​br>,​$WIDTH 25% $END_WIDTH{{VAR=cadreGauche}},​$WIDTH 45% $END_WIDTH{{VAR=cadreCentral}},​$WIDTH 30% $END_WIDTH{{VAR=cadreDestinataire}})}} 
 +{{::#​TEST(S,​{{VAR=retourChoixMedecin}},​=,​Rejected,​__ERREUR Fusion :__,)}} 
 + 
 +4.5.3.119 |==> {{NUM. CLEF PATIENT}} 
 +Cette instruction retourne la clef du numéro de sécurité sociale du patient. 
 +Variantes : {{NUM CLEF PATIENT}} 
 + 
 +4.5.3.120 |==> {{USER_POLITESSE_MEDECIN}} retourne la mention indiquée dans le champ Politesse dans l'​annuaire des utilisateurs,​ pour l'​utilisateur en cours. 
 +4.5.3.121 |==> {{POLITESSE_MEDECIN}} retourne la mention indiquée dans le champ Politesse dans l'​annuaire des utilisateurs,​ pour l'​utilisateur de l'​observation en cours d'​affichage. 
 +4.5.3.122 |==> {{:: LEFT( chaîne à traiter, nombre de caractères)}}  
 +Paramètre N° 1 (chaîne de caractères à traiter) chaîne de caractères à traiter. 
 +Paramètre N° 2 (nombre ce caractères) nombre de caractères 
 +retourne la partie gauche de la chaîne coupée au nombre de caractères indiqués dans le premier paramètre. 
 + 
 +4.5.3.123 |==> {{:: MID(chaîne à traiter, position , nombre de caractères) }}  
 +retourne une partie de chaîne débutant à la position (comptée à partir de zéro) indiquée par le premier paramètre coupée au nombre de caractères indiqués dans le deuxième paramètre. 
 +Paramètre N° 1 (chaîne de caractères à traiter) chaîne de caractères à traiter. 
 +Paramètre N° 2 (position) position à partir de laaquelle il faut couper la chaîne 
 +Paramètre N° 3 (nombre ce caractères) nombre de caractères à retenir à partir de la position indiquée dans le premier paramètre.  
 +ce paramètre est facultatif, si il est omis alors tous les caractères à partir de la position indiquée dans le premier paramètre seront retenus. 
 + 
 +4.5.3.124 |==> {{:: RIGHT(chaîne à traiter, nombre de caractères ) }} 
 +retourne la partie droite de la chaîne coupée au nombre de caractères indiqués dans le premier paramètre. 
 +Paramètre N° 1 (chaîne de caractères à traiter) chaîne de caractères à traiter. 
 +Paramètre N° 2 (nombre ce caractères) nombre de caractères 
 + 
 +4.5.3.125 |==> {{:: REMOVE( chaîne à traiter , élément à retirer ) }} 
 +Variante : {{:: RM( chaîne à traiter , élément à retirer ) }} 
 +retire toutes les occurrences d'une chaîne de caractères d'une autre chaîne. 
 +Paramètre N° 1 (chaîne de caractères à traiter) chaîne de caractères à traiter. 
 +Paramètre N° 2 (facultatif élément à retirer) chaîne de caractères à retirer, si non précisé par défaut espace. 
 +exemple : {{:: REMOVE(tralala itou, a ) }} deviendra trllt itou 
 + 
 +4.5.3.126 |==> {{:: CLEAR_SPACES(chaîne à traiter) }} 
 +Variante : {{:: CS(chaîne à traiter) }} 
 +retire tous les espaces, tabulations de début et de fin d'une chaîne de caractères. 
 +Paramètre N° 1 (chaîne de caractères à traiter) chaîne de caractères à traiter. 
 +exemple : {{:: CS( texte ) }} deviendra '​texte'​ 
 + 
 +4.5.3.127 |==> {{:: T0_NUM( chaîne à traiter , mode) }} 
 +Variante : {{:: TN( chaîne à traiter , mode ) }} 
 +Tente de transformer en nombre une chaîne de caractères. 
 +Paramètre N° 1 (chaîne de caractères à traiter) chaîne de caractères à traiter. 
 +Paramètre N° 2 (mode de conversion) facultatif et par défaut positionné à $stopIfNotNum 
 + ​SI ​  ​contient $stopIfNotNum la conversion s'​arrête au premier caractère non numérique. 
 + ​SI ​  ​contient $allString tous les caractères numériques ​de la chaîne seront retenus. 
 + ​SI ​  ​contient $toInt la conversion ne conservera que la partie entière. 
 + ​SI ​   toute autre valeur, la conversion s'​arrêtera à la première occurrence ​de cette valeur. 
 +exemples :  
 +      {{:: TN ( 1234.34 ce texte suit la valeur et ne sera pas évalué car par défaut le mode est stopIfNotNum) }} deviendra '1234,34 ' 
 +      {{:: TN ( 1234.34 ce qui suit 56 sera retenu car le mode est : allString , $allString) }} deviendra '​1234,​3456 ' 
 +      {{:: TN ( 1234.34 ce qui suit 56 sera retenu jusqu'​à fin de la partie numérique car indiqué en 2 ème paramètre comme occurrence de fin , fin de la partie numérique) }} deviendra '​1234,​3456 ' 
 + 
 +4.5.3.128 |==> {{DATE NAISSANCE ASSURE=format de la date}} 
 +retourne la date de naissance de l'​assuré selon le format spécifié dans le paramètre facultatif N°1 
 +Paramètre N° 1 (format de retour pour la date : facultatif et par défaut dd-MM-yyyy) voir en paragraphe 3.4.3.5  
 + 
 +4.5.3.129 |==> {{EXIT}} 
 +exécute la procédure de fin de MedinTux.  
 + 
 +4.5.3.130 |==> {{DDR=dd-MM-yyyy}} 
 +retourne la date des dernières règles 
 + 
 +4.5.3.131 |==> {{TERME_GROSSESSE}} 
 +retourne le nombre de semaines d'​aménorrhée à la date courante. 
 + 
 +4.5.3.132 |==> {{:: DAYSTO( date de départ , date de fin )}} 
 +Variante : {{:: DT( date de départ, date de fin ) }} 
 +retourne le nombre de jours à partir de la date placée dans le parametre N°1 et le Paramètre N°2. Le format des dates doit être xxxxddxxxxxxMMxxxxxxyyyyxxxxhhxxxxmmxxxss (voir : Format des dates) où x peut représenter n'​importe quel caractère non numérique. Les heures minutes secondes peuvent être omises et alors elles seront en interne mises sur 00:00:00 
 +Paramètre N° 1 (date de départ) chaîne de caractères à traiter. 
 +Paramètre N° 2 (facultatif : date de fin) si non précisé il prend la valeur de la date courante. 
 + 
 +4.5.3.133 |==> {{:: DATE_CALC( date de départ , valeur, operateur, valTyp, format date retour )}} 
 +Variante : {{:: DTC( date de départ , valeur, operateur, valTyp, format date retour ) }} 
 +retourne le nombre de jours à partir de la date placée dans le parametre N°1 et le Paramètre N°2. Le format des dates doit être xxxxddxxxxxxMMxxxxxxyyyyxxxxhhxxxxmmxxxss (voir : Format des dates) où x peut représenter n'​importe quel caractère non numérique. Les heures minutes secondes peuvent être omises et alors elles seront en interne mises sur 00:00:00. 
 +Paramètre N° 1 (date de départ) chaîne de caractères à traiter. 
 +Paramètre N° 2 (valeur à ajouter ou soustraire) valeur à ajouter ou soustraire 
 +Paramètre N° 3 (facultatif : opérateur) + - par défaut (si omis) sur + 
 +Paramètre N° 4 (facultatif : type de valeur à ajouter ou soustraire) si non précisé il prend la valeur J (jours). 
 + ​SI ​  ​contient S           la valeur numérique à ajouter ​ est en secondes. 
 + ​SI ​  ​contient ​  ​J ou D  la valeur numérique à ajouter ​ est en jours. 
 + ​SI ​  ​contient M          la valeur numérique à ajouter ​ est en mois. 
 + ​SI ​  ​contient A ou Y   la valeur numérique à ajouter ​ est en années. 
 +Paramètre N° 5 (facultatif : format du type de date à retourner) Le format des dates. si non précisé dd-MM-yyyy (voir : Format des dates) . 
 + 
 + 
 +4.5.3.134 |==> {{:: DATE_TONUM( date de départ , valTyp)}} 
 +Variante : {{:: DTN( date de départ , valTyp ) }} 
 +retourne une valeur numerique entière (nombre de secondes) à partir de la date placée dans le parametre N°1 et le 01 Janvier 1970. Le format des dates doit être xxxxddxxxxxxMMxxxxxxyyyyxxxxhhxxxxmmxxxss(voir : Format des dates) où x peut représenter n'​importe quel caractère non numérique. Les heures minutes secondes peuvent êtres omises et alors elle seront en interne mises sur 00:00:00. 
 +Paramètre N° 1 (date de départ) chaîne de caractères à traiter. 
 +Paramètre N° 2 (facultatif : type de valeur numérique à retourner) si non précisé il prend la valeur S (secondes). 
 + ​SI ​  ​contient S           la valeur numérique à retourner est en secondes. 
 + ​SI ​  ​contient ​ J ou D   la valeur numérique à retourner est en jours. 
 + ​SI ​  ​contient M          la valeur numérique à retourner est en mois. 
 + ​SI ​  ​contient A ou Y   la valeur numérique à retourner est en années. 
 + 
 +4.5.3.135 |==> {{:: DATE_FROMNUM( numvalTyp, format date retour )}} 
 +Variante : {{:: DTFN( num , valTyp, format date retour ) }} 
 +retourne la date et temps depuis le nombre de secondes écoulées depuis le 01 Janvier 1970 (voir : Format des dates). 
 +Paramètre N° 1 (nombre de secondes) chaîne de caractères à traiter soit le nombre de secondes depuis le 01 Janvier 1970. 
 +Paramètre N° 2 (facultatif : type de valeur numérique à retourner) si non précisé il prend la valeur S (secondes). 
 + ​SI ​  ​contient S           la valeur numérique est en secondes. 
 + ​SI ​  ​contient ​  J ou D  la valeur numérique est en jours. 
 + ​SI ​  ​contient M          la valeur numérique est en mois. 
 + ​SI ​  ​contient A ou Y   la valeur numérique est en années. 
 +Paramètre N° 3 (facultatif : format du type de date à retourner) Le format des dates. si non précisé dd-MM-yyyy (voir : Format des dates) . 
 + 
 + 
 +4.5.3.136 |==> {{:: ABS_PATH( chemin de fichier exprimé en relatif)}} 
 +Variantes : {{:: AP( chemin de fichier exprimé en relatif ) }} {{AP = chemin de fichier exprimé en relatif }} {{ABS_PATH = chemin de fichier exprimé en relatif }}  
 +Converti le chemin donné dans le paramètre N°1 en chemin absolu. 
 +Paramètre N° 1 (chemin à convertir) chemin exprimé en relatif exemple : ../​../​Doc/​index.html 
 + 
 +Exemple : {{AP = ../../Doc}} devient /​home/​ro/​MedinTux-V2.14-Synth-src/​Programmes/​Doc/​index.html 
 + 
 + 
 +4.5.3.137 |==> {{:: FILE_EXISTS( chemin de fichier à tester exprimé en relatif)}} 
 +Variantes : {{:: FE( chemin de fichier à tester exprimé en relatif ) }} {{FE = chemin de fichier exprimé en relatif }} {{FILE_EXISTS = chemin de fichier à tester exprimé en relatif }}  
 +Converti le chemin donné dans le paramètre N°1 en chemin absolu, et teste si il existe:  
 +Si le fichier existe existe la valeur de retour est le resultat de la conversion. 
 +Si le fichier n'​existe pas la valeur de retour est une chaîne vide. 
 +Paramètre N° 1 (chemin à convertir) chemin exprimé en relatif exemple : ../​../​Doc/​index.html 
 + 
 +Exemples :  
 +{{FE = ../​../​Doc/​index.html}} devient /​home/​ro/​MedinTux-V2.14-Synth-src/​Programmes/​Doc/​index.html 
 +{{FE = ../​../​Doc/​truc_inexistant.html}} devient une chaîne vide . 
 + 
 + 
 +4.5.3.138 |==> {{:: REPLACE_BY( chaîne à évaluer, élément à trouver, élément de remplacement )}} 
 +Variante : {{:: RB( chaîne à évaluer, élément à trouver, élément de remplacement ) }} 
 +remplace les occurrences d'un motif de caractères par un autre motif de caractères. 
 +Paramètre N° 1 (chaîne à évaluer) chaîne de caractères à traiter . 
 +Paramètre N° 2 (occurrence à remplacer) occurrence à remplacer. 
 +Paramètre N° 3 (motif de caractères de remplacement) motif de caractères de remplacement . 
 + 
 + 
 +4.5.3.139 |==> {{:: INDEX_OF( chaîne à évaluer )}} 
 +Variante : {{:: IO( chaîne à évaluer ) }} 
 +retourne la position d'un motif de caractères dans une chaîne de caractères (-1 si pas trouvée). 
 +Paramètre N° 1 (chaîne à évaluer) chaîne de caractères à traiter . 
 + 
 + 
 +4.5.3.140 |==> {{:: LENGTH( chaîne à évaluer )}} 
 +Variante : {{:: LEN( chaîne à évaluer ) }} 
 +retourne le nombre de caractères d'une chaîne. 
 +Paramètre N° 1 (chaîne à évaluer) chaîne de caractères à traiter . 
 + 
 + 
 +4.5.3.141 |==> {{:: EXPORT_TABLES( date de début, date de fin, definition des tables à exporter, separateur de table, largeur cellule par defaut, hauteur cellule par defaut, largeur du tracé, largeur totale du tableau, format d'​affichage des dates, largeur de la colonne des dates )}} 
 +Cette instruction a pour objectif de mettre en forme des données provenant de tables ou tableaux de variables du terrain de façon à les inclure dans vos documents . 
 + 
 + ​Paramètre N° 1 (première date à partir de laquelle afficher les données) : 
 +          °  soit la date est exprimée sous la forme : YYYY-MM-DD où YYYY est l'​année,​ MM est le mois de l'​année (entre 01 et 12), et DD est le jour du mois (entre 01 et 31).  
 +          °  soit la date est exprimée sous la forme des formules préétablies suivantes : 
 +                    TOUTE DATE        pas de limite inférieure. 
 +                    DATE VISITE ​        date de l'​observation en cours. 
 +                    DATE ACTUELLE ​   date du jour en cours. 
 +          °  si absent alors il prendra la valeur de "​01-01-1900"​ 
 + ​Paramètre N° 2 (date de fin pour afficher les données) : 
 +          °  soit la date est exprimée sous la forme : YYYY-MM-DD où YYYY est l'​année,​ MM est le mois de l'​année (entre 01 et 12), et DD est le jour du mois (entre 01 et 31).  
 +          °  soit la date est exprimée sous les formes suivantes : 
 +                    + suivi d'une valeur correspondant au nombre d'​heures à rajouter à la date de début pour faire la date de fin. Expl : +24 
 +                    +- ou -+   suivi d'une valeur correspondant au nombre d'​heures à enlever à la date de début et à rajouter à la date de début pour faire la date de fin. Expl : +-24 
 +                    - suivi d'une valeur correspondant au nombre d'​heures à enlever à la date de début pour faire la date de fin. Expl : -24 
 +                    chiffre 0 ou vide, alors la date de fin est la date de début à laquelle est ajouté 24 heures. 
 +          °  soit la date est exprimée sous la forme des formules préétablies suivantes :  
 +                    TOUTE DATE        pas de limite inférieure. 
 +                    DATE VISITE ​        date de l'​observation en cours. 
 +                    DATE ACTUELLE ​   date du jour en cours. 
 +          °  si absent alors il prendra la valeur de "​01-01-3000"​ 
 + 
 +Paramètre N° 3 (liste de définition des tables à exporter) : 
 +          °  Ce paramètre doit comporter une série de chaines de définition de table, déterminant quelles tables exporter, et quelles colonnes à exporter de ces tables. 
 +Syntaxe d'une définition de table : 
 + 
 +VAR nomDeLaTable [nomDelaColonne = largeur octroyée pour l'​affichage de la colonne; nomDelaColonneSuivante = largeur octroyée pour l'​affichage de la colonne]  
 + 
 +Exemple : VAR Constantes de Base [ Pouls=50; SAO2=80; Temp=100] VAR Poids [ Poids=50; Taille=80 ]  
 +Nom du tableau ou de la table tel qu'​indiqué dans le modèle du tableau après la mention VAR 
 +exemple :   ​Constantes de Base   dans le modèle ci-dessous 
 + 
 +Exemple de modèle : 
 + 
 +[VAR Constantes de Base]      
 +   ​Modèle = Date, Pouls, 31536000, 130, 40, pps, Tachycardie,​ Bradycardie ​     
 +   ​Modèle = Date, SAO2, 31536000, 0, 92, %, , Hypoxie ​     
 +   ​Modèle = Date, Temp, 31536000, 40.5, 35, ?, Hypothermie,​ Hyperthermie ​     
 +[VAR Poids] ​     
 +   ​Modèle = Date, Poids, ​ 31536000, 100, 50, Kg(s), Obésité, Amaigrissement ​     
 +   ​Modèle = Date, Taille, 31536000, 0, 0, cm(s), ,       
 + 
 +Paramètre N° 4 (séparateur entre les tables) : 
 +Ce paramètre facultatif indique un motif de séparation de tables. 
 +Si cette valeur commence par le modificateur $File  alors ce qui suit la suite de $File sera considéré comme le chemin d'un fichier à charger et alors le nom de ce fichier peut contenir les mentions suivantes : 
 +                  $Glossaire ​        qui sera remplacée par le chemin du Glossaire. 
 +                  $Vigie ​              qui sera remplacée par le chemin de la Vigie. 
 +          °  si absent alors il prendra la valeur de "<​br>"​ 
 + 
 + ​Paramètre N° 5 (Largeur par défaut de la cellule si non exprimée avec la mention = ) : 
 +          si exprimé en pourcentage se sera le pourcentage de la largeur totale. 
 + ​Paramètre N° 6 (Hauteur de la cellule) : 
 +          si exprimé en pourcentage se sera le pourcentage de la largeur totale. 
 + ​Paramètre N° 7 (Largeur de la ligne de séparation par défaut 1) : 
 + ​Paramètre N° 8 (Largeur totale du tableau par défaut 100%) : 
 +          si exprimé en pourcentage se sera le pourcentage de la largeur totale de la page. 
 + ​Paramètre N° 9 (format d'​affichage des dates par défaut dd-MM-yyyy hh) : 
 +          exprimé selon la règle suivante : format des dates 
 +          ce paramètre peut être suivi (séparé par le signe = ) du titre de la colonne des dates. 
 + ​Paramètre N° 10 (largeur de la colonne des dates par défaut 50 ) : 
 +          si exprimé en pourcentage se sera le pourcentage de la largeur totale. 
 + 
 +Quelques exemples : 
 +{{:: EXPORT_TABLES( 2010-01-01 , 2010-31-12 , VAR Constantes de Base[Pouls=50;​ SAO2=80; Temp=100] VAR Poids[Poids=50;​ Taille=80] , 30%, 20, 1, 100% ,dd-MM-yyyy hh, 50)}} 
 + 
 + 
 +4.5.3.142 |==> {{:: EXPORT( nom du fichier, source des données, ..... autres paramètres selon source de données ...... )}} 
 +Cette instruction polymorphe très puissante a pour objectif de mettre en forme des données provenant de différentes sources de MedinTux et de les écrire sur le disque. 
 + 
 +Paramètre N° 1 (fichier de destination) : fichier de destination dans lequel seront placées les données. 
 +           
 +Paramètre N° 2 (source des données) : 
 +                  T pour string enrichie ​   A pour ASCII      D pour dossier ​              S pour selection 
 +Paramètre N° 3        string a exporter ​                     string a exporter ​      liste des rubriques séparées par |   ​String a exporter a laquelle sera ajoutée la sélection Paramètre N° 4     mode conversion ascii     mode conv. ascii  date debut                   mode conversion ascii 
 +Paramètre N° 5     ​A/​alwaysWrite F/​fullOnly ​ A ou F            date fin                     A ou F (A/​alwaysWrite F/​fullOnly) 
 +Paramètre N° 6                                                séparation des fiches avec les 
 +                                                              mentions possibles ci-dessous. 
 +                                                               ​$NomPatient $PrenomPatient  
 +                                                               ​$DateDeb $DateFin  
 +                                                               ​$DateDebFiche $DateFinFiche  
 +                                                               ​$HeureDeb $HeureFin $NomRub  
 +                                                               ​$TitreRub $User $SignUser  
 +                                                               ​$NumFicheRub $GUIDPat $PkPat  
 +                                                               ​$pkFiche $Duree $NumFicheTot  
 +                                                             si commence par la mention : $File alors c'est le fichier  
 +                                                            mentionné qui sera utilisé comme séparateur de fiches. 
 + 
 +Paramètre N° 7 en-tête du fichier d'​exportation 
 +                                                             peut être un fichier html avec les macros de votre choix. 
 +                                                             si il commence par la mention : $File alors c'est le fichier  
 +                                                            mentionné qui sera utilisé comme en-tête. 
 + 
 +Paramètre N° 8 filtre sql where si mentionne, alors la chaîne sera utilisée en 
 +                                                            complément du filtrage SQL habituel sur les dates. 
 +                                                            si il commence par la mention : $File alors c'est le fichier  
 +                                                            mentionné qui sera utilisé comme filtre sql where. 
 + 
 + ​IMPORTANT : Dans le mode exportation de dossier (Paramètre N° 2 (source des données) : avec la valeur D) , un répertoire du nom du fichier est créé, et c'est à l'​intérieur de ce répertoire que se trouvent : le fichier html correspondant à l'​exportation,​ et les images nécessaires à ce fichier. ​   
 +  
 + 
 +Un exemple qui exporte le dossier patient en entier, le transforme en PDF et l'​envoie par kmail : 
 +{{\ 
 +{{:: SET_VAR(FName,​{{NOM PRENOM PATIENT}}-{{GUID}})}}\ 
 +{{REM=--------------------- exportation du dossier complet -------------------------------}}\ 
 +{{:: EXPORT(../​../​tmp/​{{VAR=FName}}.html , D, Terrain|Observation|Prescription|Documents|Vigie,​ 1900-01-01T00:​00:​00,​ 2200-01-01T00:​00:​00,​$File../​../​pdf/​SeparateurEntete.html,​$File../​../​pdf/​ObservEntete.html) }}\ 
 +{{REM=--------------------- impression en PDF --------------------------------------------}}\ 
 +{{:: exe_process (WaitEnd ,​../​../​APropos/​bin/​APropos,​ToPDF,​$ToAbsPath../​../​tmp/​{{VAR=FName}}/​{{VAR=FName}}.html)}}\ 
 +{{REM=---------------------- envoi par mail-----------------------------------------------}}\ 
 +{{:: exe_process (NoWaitEnd ,/​usr/​bin/​kmail,​-c,​roland-sevin@medintux.org,​-s,​Dossier de {{TITRE PATIENT}} {{NOM PRENOM PATIENT}},​--msg,​$ToAbsPath../​../​pdf/​TestEnvoiMail.txt,​--attach,​$ToAbsPath../​../​tmp/​{{VAR=FName}}/​{{VAR=FName}}.pdf)}}\ 
 +}} 
 + 
 + 
 + 
 +4.5.3.143 |==> {{:: REPLACE_IN_FILE( nom du fichier source, nom du fichier destination,​ nom de la variable N°1, nom de la variable N°2, ... nom de la variable N°n )}} 
 +Variante : {{:: RF( nom du fichier source, nom du fichier destination,​ nom de la variable N°1, nom de la variable N°2, ... nom de la variable N°n ) }} 
 + 
 +Cette instruction permet de remplacer dans un fichier, des occurrences d'un motif du type {{nom de la variable N°1}} 
 +par le contenu de cette variable. 
 + 
 +Paramètre N° 1 (fichier source) : fichier d'​origine,​ où se trouvent les motifs de type {{nom de la variable}}  
 +                  $Glossaire ​        qui sera remplacée par le chemin du Glossaire. 
 +                  $Vigie ​              qui sera remplacée par le chemin de la Vigie. 
 +Paramètre N° 2  (fichier de destination) : fichier de destination créé avec les motifs de type {{nom de la variable}} remplacés par les contenus des variables correspondantes. 
 +                  $Glossaire ​        qui sera remplacée par le chemin du Glossaire. 
 +                  $Vigie ​              qui sera remplacée par le chemin de la Vigie. 
 +Paramètre N° 3  (nom de la première variable) : dont il faudra remplacer le motif {{nom de la variable}} par son contenu. 
 +Paramètre N° 4 (nom de la deuxième variable) : dont il faudra remplacer le motif {{nom de la variable}} par son contenu. 
 +Paramètre N° n (nom de la nième variable) :  dont il faudra remplacer le motif {{nom de la variable}} par son contenu. ​  
 + 
 +Exemple : remplir des formulaires pdf avec pdftk. 
 + 
 +Exemple de fichier XFDF déjà rempli avec des données du formulaire 
 +à envoyer avec pdftk pour qu'il remplisse le formulaire pdf 
 +avec la commande suivante : 
 + 
 +pdftk document.pdf fill_form données.xfdf output document-rempli.pdf 
 +Créer un fichier modèle avec les tags {{nom de la variable}} 
 + 
 +Exemple :  
 + 
 +° fichier de référence : modeleXFDF.xml (placé dans notre exemple dans le répertoire pdf de MedinTux) 
 + 
 +<?xml version="​1.0"​ encoding="​UTF-8"?>​ 
 +<xfdf xmlns="​http://​ns.adobe.com/​xfdf/"​ xml:​space="​preserve">​ 
 +<​fields>​ 
 +<field name="​Nom Patient">​ 
 +<​value>​{{NomPatient}}</​value>​ 
 +</​field>​ 
 +<field name="​Prenom Patient">​ 
 +<​value>​{{PrenomPatient}}</​value>​ 
 +</​field>​ 
 +</​fields>​ 
 +<f href="​fichier.pdf"​ /> 
 +</​xfdf>​ 
 + 
 +° Macro exploitant ce fichier en le remplissant avec les données du patient en cours, par des valeurs collectées au préalable dans les variables idoines. 
 + 
 +{{\ 
 +{{:: REM ----------- collecte des données dans les variables idoines --------------}}\ 
 +{{:: SET_VAR(NomPatient,​{{NOM PATIENT}})}}\ 
 +{{:: SET_VAR(PrenomPatient,​{{PRENOM PATIENT}})}}\ 
 +{{REM=--------------------- remplacement des tags dans le fichier de réference -------------------------------}}\ 
 +{{REM= par les valeurs des variables }}\ 
 +{{:: REPLACE_IN_FILE(../​../​pdf/​modeleXFDF.xml,​../​../​pdf/​replacedXFDF.xml,​NomPatient,​PrenomPatient)}}\ 
 +}} 
 + 
 +° fichier résultat : replacedXFDF.xml où l'on voit les variables remplacées par les valeurs du patient. 
 + 
 +<?xml version="​1.0"​ encoding="​UTF-8"?>​ 
 +<xfdf xmlns="​http://​ns.adobe.com/​xfdf/"​ xml:​space="​preserve">​ 
 +<​fields>​ 
 +<field name="​Nom Patient">​ 
 +<​value>​TARTEMPION</​value>​ 
 +</​field>​ 
 +<field name="​Prenom Patient">​ 
 +<​value>​MARCEL</​value>​ 
 +</​field>​ 
 +</​fields>​ 
 +<f href="​fichier.pdf" /> 
 +</​xfdf>​ 
 + 
 +</​code>​
dr_tux/inventaire_des_instructions_de_scripts.txt · Dernière modification: 2012/06/29 09:03 par admin