metadata

Edit me

Utilité de ces métadonnées

Ces métadonnées peuvent être purement informatives :

  • La date de début et la date de fin de recueil d’une variables (utile pour les analyses statistiques)
  • Le nom des variables dans l’ancien système si Voozanoo doit venir le remplacer

Ces métadonnées peuvent aussi être utilisées dans des développements spécifiques :

  • Donner une information qui caractérise un formulaire et qui est utilisé dans le code
  • Donner une information sur des variables pour leur faire subir un traitement spécifique

Etant donnée qu’ils s’agit de couples clef/valeur, c’est un système très souple.

Les métadonnées sur les formulaires

Les métadonnées sur les formulaires dans les ressources XML

Sur les formulaires, les métadonnées sont dans la balise <config> du XML de formulaire :

<config>
  <metadata name="truc">valeur_de_truc</metadata>
  <metadata name="machin">valeur_de_machin</metadata>
</config>

Les métadonnées sur les formulaires dans EpiCraft

Dans EpiCraft, il n’y a pas d’interface dédiée à la saisie des métadonnées sur les formulaires.

Il faut donc ajouter une balise <config> comme on le fait d’habitude :

  1. Aller sur la page
  2. Ajouter une propriété personnalisée
  3. Nommer celle-ci form.config
  4. Rédiger la balise <config> et son contenu
  5. Publier

L’utilisation des métadonnées sur les formulaires dans le code

Voici un exemple d’utilisation d’une métadonnée de formulaire en PHP dans un contrôleur :

// Récupération de la ressource XML d'un formulaire
$oForm = new Core_Library_Resource_XML_Frame_Form();           
$oForm->LoadFromDB( $oProject, $iIdForm );
// Récupération de la valeur de la métadonnées "truc"
$sTrucMetadata =  $oForm->GetMetadata( 'truc' );
// Ensuite, des traitements impliquant $sTrucMetadata

Les métadonnées sur les variables

Les métadonnées sur les variables dans les ressources XML

Sur les variables, les métadonnées sont dans la balise <var> du XML de varset :

<var uid="1" id="localite" type="string" default_label="Localité de l'origine de l'intoxication">
  <string length="50"/>
  <metadata name="truc">valeur_de_machin</metadata>
  <metadata name="machin">valeur_de_truc</metadata>
</var>

Les métadonnées sur les variables dans EpiCraft

Dans EpiCraft, il a une interface dédiée à la saisie des métadonnées sur les variables :

  1. Sélectionner une variable
  2. Ouvrir l’onglet Structure dans la colonne de droite
  3. Cliquer sur Metadata
  4. Cliquer sur + pour ajouter une métadonnées
  5. Lui donner un nom et une valeur
  6. Publier

L’utilisation des métadonnées sur les variables dans le code

Comme les metadatas sont définies dans le varset, la méthode suivante de l’objet VarDef peut être utilisée :

public function GetMetaData( $sName = null )

L’instance de Core_Library_Resource_XML_VarSet_VarDef pour une variable, est renvoyée par la méthode VarByVarName de la class Core_Library_Resource_XML_VarSet.

Exemple d’utilisation :

$this->GetProject()->GetVarSet( 'patient' )->VarByVarName( 'nom' );

Les métadonnées sur les variables dans les exports

Les métadonnées sur les variables peuvent être exportées à travers le format Codebook des boutons standard d’export de Voozanoo 4 (les widgets ActionExport).

Le feuillet data du fichier Excel obtenu a ce format :

name variable varset label type length precision min max dictionary code varset_ref request metadata_truc metadata_machin
fsd_a02-localite localite fsd_a02 Localité de l’origine de l’intoxication string 50               valeur_de_truc valeur_de_machin

Ce qui est intéressant, c’est les deux dernières colonnes qui contiennent les métadonnées : valeur_de_truc et valeur_de_machin