Table des matières
, ,

Items disponibles pour les formulaires patient

Créer des formulaire : présentation du code XML

  <!-- Déclaration d'un formulaire sans utilisation des attributs -->
  <MedForm>
    <type>form</type>
    <name>Unique::Identifiant</name>
    [...]
  </MedForm>
 
  <!-- Déclaration d'un formulaire avec utilisation des attributs -->
  <MedForm type="form" name="Unique::Identifiant">
    [...]
  </MedForm>
 
  <!-- Inclusion de fichier XML -->
  <file>__subforms__/machin/truc/central.xml</file>
 
  <!-- Inclusion de fichier de script -->
  <file type="script" name="onload">./scripts/xx/script.js</file>
  <!-- Déclaration d'items sans utilisation des attributs -->
  <Item>
    <type>check</type>
    <name>Unique::Identifiant</name>
    [...]
  </Item>
 
  <!-- Déclaration d'items avec utilisation des attributs -->
  <Item type="check" name="Unique::Identifiant">
    [...]
  </Item>

Attribuer les identifiants aux items

Créer des formulaire : utiliser le designer de Qt

Les options génériques

Code XML

Options communes

Les regroupements (formulaires, pages et groupes)

Les items formulaire

  <MedForm name="GP::Basic::IdentityForm" uifilename="v0.6.2+">
    <label lang="xx">Identity</label>
    <label lang="fr">Identité</label>
    <options>unique</options>
   <icon>__theme__/identity.png</icon>
  </MedForm>

Les pages

code en cours

Les groupes

  <Item type="group" name="sampleGroup">
    <country>FR</country>
    <option>compact</option>
    <label>Intitulé</label>
    [... Sous-items ...]
  </Item>

Les items simples

Les textes d'aide

    <Item name="HelpText" type="helptext">
      <label lang="xx">This a simple help text</label>
      <label lang="fr">Ceci est texte d'aide</label>
      <options>printable</options>
      <value>
        <default>The default value</default>
      </value>
   </Item>

Les zones de saisie textuelle

Lignes de texte

    <Item name="ShortText" type="shorttext">
      <label lang="xx">This a sample of a line edit</label>
      <label lang="fr">Exemple de zone de saisie sur une ligne</label>
      <value>
        <default lang="xx">The default value</default>
        <default lang="fr">La valeur par défaut</default>
      </value>
   </Item>

Bloc de texte brute

    <Item name="LongText" type="longtext">
      <label lang="xx">This a simple text edit without complex formatting</label>
      <label lang="fr">Exemple de zone de saisie textuelle brute et multi-ligne</label>
      <value>
        <default lang="xx">The default value</default>
        <default lang="fr">La valeur par défaut</default>
      </value>
   </Item>

Bloc de texte enrichi

    <Item name="GP::Basic::SOAP::S" type="texteditor>
      <label lang="xx">Subjective</label>
      <label lang="fr">Subjectif</label>
      <options>FullEditor</options>
    </Item>

Les valeurs numériques

Les spins

     <Item name="Spin1" type="spin">
       <label lang="xx">Spin</label>
     </Item>
 
     <Item name="doublespin1" type="doublespin">
       <label lang="xx">Double Spin</label>
       <min>2</min>
       <max>1324</max>
       <step>0.1</step>
     </Item>

Les cases à cocher

Les cases à cocher simples

  <Item name="CheckBox" type="check">
    <label lang="xx">This is a simple scripted checkbox sample</label>
    <label lang="fr">Exemple de case à cocher simple</label>
    <tooltip lang="xx">My tootip</tooltip>
    <options>printonlychecked</options>
    <value>
      <numerical id="0">1</numerical>
      <numerical id="1">2</numerical>
    </value>
  </Item>

Les cases à cocher exclusives

  <Item name="RadioBoxes" type="radio">
    <label lang="xx">There are the radio buttons</label>
    <label lang="fr">Exemple de cases à cocher multiples auto-exclusives</label>
    <value>
      <uuid id="0">first</uuid>
      <uuid id="1">second</uuid>
      <uuid id="2">third</uuid>
 
      <possible id="0" lang="xx">The first value</possible>
      <possible id="1" lang="xx">The second value</possible>
      <possible id="2" lang="xx">The third value</possible>
 
      <possible id="0" lang="fr">Première valeur</possible>
      <possible id="1" lang="fr">Seconde valeur</possible>
      <possible id="2" lang="fr">Troisième valeur</possible>
 
      <numerical id="0">1</numerical>
      <numerical id="1">2</numerical>
      <numerical id="2">4</numerical>
    </value>
  </Item>

Les dates

   <Item name="SampleDateEdit" type="date">
     <dateformat>dd MM yyyy</dateformat>
     <label lang="xx">This a date editor</label>
     <label lang="fr">Exemple d'éditeur de date et heure</label>
     <options>now;patientLimits</options>
  </Item>

Les listes et sélecteur de liste

Les sélecteurs déroulants

   <Item>
     <name>sampleCombo</name>
     <type>combo</type>
     <label>This a simple combo from the BaseWidgetsForm plugins</label>
     <value>
       <uuid id="0">firstcombo</uuid>
       <uuid id="1">secondcombo</uuid>
       <uuid id="2">thirdcombo</uuid>
       <possible id="0" lang="xx">First Combo's Element</possible>
       <possible id="1" lang="xx">Second Combo's Element</possible>
       <possible id="2" lang="xx">Third Combo's Element</possible>
       <possible id="0" lang="fr">Premier élément</possible>
       <possible id="1" lang="fr">Deuxième élément</possible>
       <possible id="2" lang="fr">Troisième élément</possible>
       <default>secondcombo</default>
     </value>
  </Item>

Les listes à sélectionner

   <Item name="sampleCombo" type="multilist">
     <label>This a simple MutliList Selector from the BaseWidgetsForm plugins</label>
     <value>
       <uuid id="0">firstitem</uuid>
       <uuid id="1">seconditem</uuid>
       <uuid id="2">thirditem</uuid>
       <possible id="0">First Element</possible>
       <possible id="1">Second Element</possible>
       <possible id="2">Third Element</possible>
     </value>
  </Item>

Les items complexes

Le gestionnaire d'identité

    <Item name="GP::Basic::IdentityItem" type="identity">
      <label lang="xx">Full Identity</label>
      <label lang="fr">Identité</label>
    </Item>

Les médications

      <Item name="GP::Basic::Prescr::Drugs::Content" type="prescriptor">
        <label lang="xx">Therapeutic prescription</label>
        <label lang="fr">Prescription médicamenteuse</label>
      </Item>

L'assistant CIM10

    <Item name="GP::Basic::ICD10::Content" type="icd">
      <label lang="xx">ICD10 coding</label>
      <label lang="fr">Codes CIM10</label>
    </Item>

La grille d'autonomie AGGIR

    <Item name="girSample" type="gir">
      <label lang="xx">Gir sample</label>
      <label lang="fr">Exemple de grille AGGIR</label>
    </Item>

Les auto-calculateurs

Les additionneurs

    <Item name="fagerstromScore" type="sum">
      <label lang="fr">Score</label>
      <label lang="xx">Score</label>
      <sumof>cig_reveil;fum_interdit;cig_indispensable;cig_par_jour;premiere_heure;maladie</sumof>
      <option>changeepisodelabel</option>
    </Item>
    <Item name="fagerstromScore" type="sum">
      <label lang="fr">Score</label>
      <label lang="xx">Score</label>
      <sumof_regexp>Subs:Psychiatry::Depression::Hamilton::*</sumof_regexp>
      <option>changeepisodelabel</option>
    </Item>

Le script calculator

    <Item name="Total" type="scriptcalculation">
      <label lang="xx">Result</label>
      <options>vertical;labelontop;changeepisodelabel;DontPrintEmptyValues</options>
      <connect_regexp>Test::Calculation::Script::*</connect_regexp>
      <calcScript>
        var s = "Script test: ";
        forms.namespaceInUse = "Test::Calculation::Script";
        var first = forms.item("First").currentValue;
        var second = forms.item("Second").currentValue;
        var calc = forms.item("Formula").currentText;
        var tmp = calc;
        tmp = tmp.replace(/first/g, first.toString());
        tmp = tmp.replace(/second/g, second.toString());
        s += "(Formula:"+calc+"="+tmp+") = " + eval(calc);
        s;  // Result to show in the lineedit: "Script test: (Formula:first*second=2*3) = 6"
      </calcScript>
    </Item>