metadata
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 :
- Aller sur la page
- Ajouter une propriété personnalisée
- Nommer celle-ci
form.config
- Rédiger la balise
<config>
et son contenu - 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 :
- Sélectionner une variable
- Ouvrir l’onglet Structure dans la colonne de droite
- Cliquer sur Metadata
- Cliquer sur + pour ajouter une métadonnées
- Lui donner un nom et une valeur
- 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