Publié le :
ETL CREATION_INTERNE

Création de métadonnées pour EG_META

Ce code est également disponible en : Deutsch English Español
En attente de validation
Le script commence par définir une variable macro `path` qui pointe vers un répertoire (ici, un chemin Windows). Ensuite, il assigne une bibliothèque SAS© nommée `meta` à ce chemin spécifié par la variable `path`. Le cœur du script est un `DATA STEP` qui utilise l'instruction `datalines` pour lire les informations de métadonnées directement incluses dans le code. Pour chaque ligne de données, il extrait le nom de la variable, son type (caractère ou numérique), sa longueur et son étiquette. Il construit ensuite une variable `attr` qui contient une chaîne de définition d'attribut SAS© formatée (`name label='label' length=length`, avec l'ajout d'un `$` si le type est 'char'). Ce jeu de données `meta.eg_meta` peut être utilisé ultérieurement pour générer des définitions de variables ou pour d'autres processus de gestion des métadonnées.
Analyse des données

Type : CREATION_INTERNE


Les données source pour la création du jeu de données `meta.eg_meta` sont fournies directement dans le script via l'instruction `datalines`. Elles contiennent des informations de métadonnées (nom de variable, type, longueur, étiquette) pour des variables d'un domaine d'étude clinique (EG).

1 Bloc de code
MACRO/LIBNAME
Explication :
Ce bloc initialise l'environnement. Il définit une variable macro `path` pour spécifier l'emplacement physique des fichiers de la bibliothèque. Ensuite, la déclaration `libname` crée une bibliothèque SAS nommée `meta`, la liant au chemin défini. Cette bibliothèque sera le conteneur pour le jeu de données `eg_meta`.
Copié !
1%let path = H:\GraphicsGroup\dummy\sdtm-style\meta;
2LIBNAME meta "&path";
3 
2 Bloc de code
DATA STEP Data
Explication :
Ce `DATA STEP` est responsable de la création et du remplissage du jeu de données `meta.eg_meta`. Il utilise l'instruction `INPUT` pour lire des données brutes structurées, fournies via `datalines`, dans les variables `name`, `type`, `length` et `label`. Une nouvelle variable `attr` est ensuite construite dynamiquement. Cette variable contient une chaîne de texte qui représente les attributs SAS d'une variable (nom, étiquette, longueur). La logique `if type = "char"` garantit que le symbole `$` est ajouté à la longueur pour les variables de type caractère, ce qui est essentiel pour la définition correcte des attributs en SAS.
Copié !
1DATA meta.eg_meta;
2 INPUT name $ 1-8 type $ 10-13 LENGTH $ 16-18 label $ 22-61;
3 LENGTH attr $100;
4 attr = trim(name) || " label='" || trim(label) || "' length=";
5 IF type = "char" THEN
6 attr = trim(attr) || "$";
7 attr = trim(attr) || trim(LENGTH);
8*--------1---------2---------3---------4---------5---------6-;
9DATALINES;
10STUDYID char 25 Study Identifier
11DOMAIN char 2 Domain Abbreviation
12USUBJID char 25 Unique Subject Identifier
13EGSEQ num 8 Sequence Number
14EGGRPID char 25 Group ID
15EGREFID char 25 ECG Reference ID
16EGSPID char 25 Sponsor-Defined Identifier
17EGTESTCD char 8 ECG Test or Examination Short Name
18EGTEST char 50 ECG Test or Examination Name
19EGCAT char 50 Category for ECG
20EGSCAT char 50 Subcategory for ECG
21EGPOS char 25 ECG Position of Subject
22EGORRES char 25 RESULT or Finding in Original Units
23EGORRESU char 25 Original Units
24EGSTRESC char 25 Character RESULT/Finding in Std FORMAT
25EGSTRESN num 8 Numeric RESULT/Finding in Standard Units
26EGSTRESU char 25 Standard Units
27EGSTAT char 25 Completion STATUS
28EGREASND char 200 Reason ECG Not Performed
29EGFXN char 200 ECG External File Path
30EGNAM char 200 Vendor Name
31EGLEAD char 50 Lead Location Used for Measurement
32EGMETHOD char 50 Method of ECG Test
33EGBLFL char 1 Baseline Flag
34EGDRVFL char 1 Derived Flag
35EGEVAL char 200 Evaluator
36VISITNUM num 8 Visit Number
37VISIT char 100 Visit Name
38VISITDY num 8 Planned Study Day of Visit
39EGDTC char 19 Date/Time of ECG
40EGDY num 8 Study Day of ECG
41EGTPT char 25 Planned Time Point Name
42EGTPTNUM num 8 Planned Time Point Number
43EGELTM char 19 Planned Elapsed Time from Time Point Ref
44EGTPTREF char 25 Time Point Reference
45EGRFTDTC char 19 Date/Time of Reference Time Point
46;
47RUN;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.