Outils pour utilisateurs

Outils du site


fr:manuals:freemedforms:scriptengine:general

Règles d'écriture des scripts

Espaces de noms

  • Le moteur de script de vous propose une interface pour déclarer vos espaces de nom.
  • Cette interface est celle de Mike Koss. La documentation est disponible sur GitHub.
  • Pour conserver la compatibilité avec le projet FreeMedForms dont est issu FreeHealth, les objets sont déclarés dans l'espace de nom : namespace.com.freemedforms ou son alias freemedforms.

Accéder aux items des formulaires

  • L'objet freemedforms.forms est accessible en lecture et écriture. Il possède les propriétés suivantes.
Nom Valeur Lecture Ecriture
areLoaded return true if all forms are loaded oui non
logItemSearch console login of form item search (debugging purpose) oui oui
namespaceInUse Modifie l'espace de nom en cours oui oui
item(“xxxx”) Retourne l'item dont l'uuid est xxxx oui non
  • Accéder aux items : exemple de code
    // Sans définir au préalable l'espace de nom
    var monItem = freemedforms.forms.item("Mon::Namespace::MonItem");
    if (monItem.isValid) {
        ....
    }
 
    // Avec définition de l'espace de nom
    freemedforms.forms.namespaceInUse = "Mon::Namespace::";  // Vous pouvez omettre le séparateur d'espace de nom à la fin
    var monItem2 = freemedforms.forms.item("MonItem2");
    if (monItem2.isValid) {
        ....
    }

Accéder aux données des items de formulaire

  • Les objets items récupérés par le biais de l'appel de la fonction item() de l'objet freemedforms.forms, donnent accès aux différents données de l'item en lecture et en écriture.
Nom Valeur Lecture Ecriture
isValid (bool) validité de l'item oui non
uuid (string) uuid complet de l'item oui non
type (string) Type d'item oui non
currentValue (variant) Valeur courante de l'item oui oui
currentText (string) Valeur courante textuelle de l'item oui oui
currentUuid (string) Uuid courante de l'item (pour les combos cela représente l'index courant) oui oui
enabled (bool) Etat d'accessibilité de l'item oui oui
checked (bool) Item coché oui oui
  • Autres fonctions
    • extractFormFile(string formUid, string fileName) : crée une image du fichier du formulaire dans un répertoire temporaire et retourne le chemin complet vers ce fichier. Vous permet d'extraire un fichier PDF et de le remplir par exemple.

Accéder aux données patient

  • L'object freemedforms.patient est accessible en lecture comme en écriture. Il possède les propriétés suivantes.
Nom Valeur Lecture Ecriture
fullName nom complet incluant le titre oui non
firstName prénom oui non
birthName nom de naissance oui non
secondName nom marital oui non
isActive le patient est défini oui non
dateOfBirth Date de naissance oui non
yearsOld Age en années oui non
isMale sexe masculin oui non
isFemale sexe féminin oui non
weight Poids (valeur) oui non
weightUnit Poids (unités) oui non
height Taille (valeur) oui non
heightUnit Taille (unités) oui non
creatinine Créatinine (dernière valeur) oui non
creatinineUnit Créatinine (unités) oui non
clearanceCreatinine Clairance de la créatinine (dernière valeur) oui non
clearanceCreatinineUnit Clairance de la créatinine (unités) oui non
  • Exemple d'utilisation
    var years = freemedforms.patient.yearsOld;

Accéder et modifier les éléments de la vue (UI)

  • L'objet freemedforms.uiTools vous permet d'interagir avec les éléments de la vue (sans passer par la structure des items au sens de FreeMedForms).
  • Fonctions disponibles:
    • addItem(widget, string) : ajoute un item au widget.
      • Fonctionne pour les QListView, QComboBox
    • addItems(widget, stringlist) : ajoute plusieurs items au widget.
      • Fonctionne pour les QListView, QComboBox
    • addJoinedItem(widget, stringitems, separator) : ajoute plusieurs items au widget.
      • Fonctionne avec QListView, QComboBox.
      • stringitems est une string qui contient les items séparés par le séparateur. Les items seront extraits de cette string.
    • clear() : efface le contenu du widget.
      • Fonctionne pour les toutes les QAbstractItemView, QComboBox
    • Array selectedItems(widget) : Retourne tous les items sélectionnés (texte visible de l'item)
      • Fonctionne avec toutes les itemviews, QComboBox.
    • showScreenshot(formUid, fileName) : affiche un screenshot pour le formulaire dont l'uuid est formUid et dont le nom est fileName. Exemple:
      freemedforms.uiTools.showScreenshot("__subForms__/myMMSE","xx/drawing.png");

L'objet freemedforms.tools

  • L'objet freemedforms.tools vous donne accès à divers fonctions génériques utiles pour vos scripts.
  • Fonctions disponibles:
    • userDocumentPath : retourne le répertoire de travail de l'utilisateur (vous pouvez y stocker des documents)
    • openUrl(string) : demande au système d'ouvrir une URL. L'URL sera ouverte selon les règles générales du système d'exploitation (dans le navigateur internet configuré ou dans tout autre application).
    • dateToString(date, string) : formate une date en utilisant le masque (string) passé.
      • Retourne une string.
      • Exemple:
        var today = new Date(); print(freemedforms.tools.dateToString(today, "dd/MM/yyyy");
    • addDays(date, int) : add x days to a date and return a new Date
    • addWeeks(date, int) : add x weeks to a date and return a new Date
    • daysTo(Date from, Date to) : return the number of days between two dates
    • lineWrapString(string, int x) : ajuste la taille des lignes à x caractères pour la string
      • Retourne une string

Accéder aux données de l'utilisateur courant

fr/manuals/freemedforms/scriptengine/general.txt · Dernière modification: 2016/12/01 10:35 par Jérôme Pinguet