Médycs: Qu’est ce qu’une incidence ?

Si je consulte l’aide “INCIDENCE”

Le langage d’incidence permet à un utilisateur avancé d’automatiser certains comportements du logiciel.

  • Il s’agit donc d’une Macro Commande, comme dans WORD (Une commande accessible à l’utilisateur et qui permet de lancer une action)

Une incidence est une formule de calcul, qui va retourner une valeur.

  • Une formule qui retourne une valeur on appellerait  ça officiellement une Fonction

Il faudra veiller que la formule retourne bien le type de donné attendu par le contexte. Par exemple : une formule qui calcule la valeur par défaut d’une question de type date, devra retourner une date. etc.

  • C’est ce qu’on appelle une fonction “typée

Sauf qu’une fonction en dehors d’un type, a toujours un nom qui permet de l’appeler,
Par exemple la fonction DATE qui retourne la date du jour s’appelle AUJOURDHUI ou NOW,
Or une incidence n’a pas de Nom, il ne s’agit donc pas d’une fonction

L’incidence est incluse dans un Objet (courrier par exemple), or un objet ne peut manipuler que 2 types de paramètres ,
les propriétés et les évènements.

L’incidence est donc tout simplement une ligne de commande ou instruction qui manipule un objet

  1. soit dans ses propriétés (par exemple “visible/caché”,
  2. soit dans ses événements (par ex “Ouvrir”)

A partir de la version 5.2, il est possible d’utiliser un système de calculs intermédiaire (aussi appelé incidences multi-lignes).

  • L’incidence est donc bien une “ligne de commande”,
  • Chaque ligne est constituée d’un opérateur := (signe d’attribution inspiré du langage Pascal)
    1. Avec à gauche une VARIABLE (voir ce mot) appelée LVALUE en langage Geek
    2. Et à droite une VALEUR (ou RVALUE)
  • Par exemple : @@_MONAGE := 32

En PHP chaque variable est annoncé par le Symbole $
En langage Médycs c’est @@_
L’association de plusieurs lignes constitue donc bien une “MacroCommande”, véritable mini programme

Avec 2 petites particularités très intéressantes :

  1. Les variables définies dans le Script peuvent être réutilisées (voir suite … variables)
    • Il serait bon qu’on nous précise la portée des Variables @@_ (locale, globale ou super globale)
    • C’est a dire est que ça marche ?
      1. juste dans le script
      2. dans toute la chaine de procédure qui accompagne le script (questions, questionnaires, courrier etc ..)
      3. partout dans Medycs quel que soit la procédure invoquée
  2. le Script retourne toujours la valeur de la dernière ligne de commande.

Bon ben voila, le mot est lâché,

En français une incidence c’est donc un SCRIPT !

 

Alors réécrivons maintenant l’aide en Français

Principes

Le langage MedycSCRIPT permet à un utilisateur avancé d’automatiser certains comportements du logiciel.

Un MedycSCRIPT est une ligne de commande, qui peut retourner une valeur.

L’usage fait de cette valeur dépend du contexte du MedycSCRIPT (valeur par défaut d’une question, masquer une question, déclencher un courrier …)

Ces valeurs peuvent être des chaînes de caractères, des nombres, des dates ou des valeurs booléennes.

Les lignes de commandes peuvent être constituées d’opérations simples (+, -, * ou /), d’appel à des fonctions, de référence à des questions (faisant partie du questionnaire en cours ou pas), de constante (numériques, dates ou chaînes de caractères).

Il faudra veiller que la dernière ligne de commande retourne bien le type de donné attendu par le contexte. Par exemple : une ligne de commande qui calcule la valeur par défaut d’une question de type date, devra retourner une date. etc.

Les usages les plus courant sont :
⦁ affecter une valeur par défaut à une question
En fonction de réponse faites à des questions précédentes d’un questionnaire en cours de saisie, on pourra, pour une question donnée, fournir une ligne de commande permettant de calculer une valeur par défaut (par exemple calculer la date prévue d’accouchement en fonction de la date de début de grossesse).
⦁ poser ou pas une question
Il existe un MedycSCRIPT d’activation/désactivation qui permet de déterminer si une question doit être posée ou pas à l’utilisateur.
Inutile de poser la question sur la date d’un examen, si une question précédente indique que cet examen n’a pas été fait etc.
Ce type de MedycSCRIPT doit retourner les valeurs spéciales VRAI ou FAUX ( -1 et 0 fonctionnent également).
⦁ les résumés

Il est possible de définir une collection de SCRIPTS qui seront exécutées juste après la validation d’une interview.
Il est alors possible de ventiler les données saisies vers d’autres éléments du dossier.
Il est par exemple possible, en testant la valeur d’une question (généralement une QCM) d’activer un antécédent précis ou d’insérer un élément de CCAM au sein du Pmsi.

Il est également possible de déclencher certaines actions comme l’édition d’un courrier ou d’une ordonnance.
Reportez-vous aux sections se rapportant à chaque type de résumés pour plus de détails (voir l’aide de l’onglet résumés)
⦁ formulaire technique

Certains paramètres des formulaires techniques et des éléments qui les composent peuvent être déterminés par un MedycSCRIPT.

Laisser un commentaire