Publié le :
ETL CREATION_INTERNE

Création de métadonnées pour variables de laboratoire

Ce code est également disponible en : Deutsch English Español
En attente de validation
Le script initialise un chemin via une variable macro, puis y assigne une bibliothèque SAS©. Il utilise ensuite une étape DATA avec des 'datalines' pour définir manuellement les métadonnées de diverses variables de laboratoire (ID d'étude, domaine, ID sujet unique, etc.). Pour chaque variable, il détermine le type (caractère ou numérique), la longueur et le libellé, et assemble ces informations dans une chaîne formatée 'attr' qui pourrait servir à générer dynamiquement des attributs de variables (par exemple, pour des déclarations ATTRIB).
Analyse des données

Type : CREATION_INTERNE


Les données sont créées directement dans le script SAS via la clause `datalines`. Elles définissent les métadonnées de variables de laboratoire (nom, type, longueur, libellé).

1 Bloc de code
Macro/Libname
Explication :
Ce bloc définit une variable macro `path` avec un chemin de répertoire. Ensuite, il assigne une bibliothèque SAS nommée `meta` à ce chemin. Cette bibliothèque sera utilisée pour stocker le jeu de données de métadonnées créé par la suite.
Copié !
1%let path = H:\GraphicsGroup\dummy\sdtm-style\meta;
2LIBNAME meta "&path";
3 
2 Bloc de code
DATA STEP Data
Explication :
Cette étape DATA crée le jeu de données `lb_meta` dans la bibliothèque `meta`. Elle lit des données brutes intégrées (datalines) pour les colonnes `name`, `type`, `length` et `label`. Le script calcule ensuite une nouvelle variable `attr` qui formate ces informations en une chaîne d'attributs SAS, incluant le nom de la variable, son libellé, son type (si caractère) et sa longueur. Cela permet de générer dynamiquement des attributs de variables pour une utilisation ultérieure dans d'autres étapes SAS.
Copié !
1DATA meta.lb_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
13LBSEQ num 8 Sequence Number
14LBGRPID char 25 Group ID
15LBREFID char 25 Specimen ID
16LBSPID char 25 Sponsor-Defined Identifier
17LBTESTCD char 8 Lab Test or Examination Short Name
18LBTEST char 50 Lab Test or Examination Name
19LBCAT char 50 Category for Lab Test
20LBSCAT char 50 Subcategory for Lab Test
21LBORRES char 25 RESULT or Finding in Original Units
22LBORRESU char 25 Original Units
23LBORNRLO char 25 Reference Range Lower Limit in Orig Unit
24LBORNRHI char 25 Reference Range Upper Limit in Orig Unit
25LBSTRESC char 25 Character RESULT/Finding in Std FORMAT
26LBSTRESN num 8 Numeric RESULT/Finding in Standard Units
27LBSTRESU char 25 Standard Units
28LBSTNRLO num 8 Reference Range Lower Limit-Std Units
29LBSTNRHI num 8 Reference Range Upper Limit-Std Units
30LBSTNRC char 25 Reference Range for Char Rslt-Std Units
31LBNRIND char 25 Reference Range Indicator
32LBSTAT char 25 Completion STATUS
33LBREASND char 200 Reason Test Not Done
34LBNAM char 200 Vendor Name
35LBLOINC char 50 LOINC Code
36LBSPEC char 50 Specimen Type
37LBSPCCND char 50 Specimen Condition
38LBMETHOD char 50 Method of Test or Examination
39LBBLFL char 1 Baseline Flag
40LBFAST char 1 Fasting STATUS
41LBDRVFL char 1 Derived Flag
42LBTOX char 25 Toxicity
43LBTOXGR char 25 Standard Toxicity Grade
44VISITNUM num 8 Visit Number
45VISIT char 100 Visit Name
46VISITDY num 8 Planned Study Day of Visit
47LBDTC char 19 Date/Time of Measurement
48LBENDTC char 19 END Date/Time of Specimen Collection
49LBDY num 8 Study Day of Specimen Collection
50LBTPT char 25 Planned Time Point Name
51LBTPTNUM num 8 Planned Time Point Number
52LBELTM char 19 Planned Elapsed Time from Time Point Ref
53LBTPTREF char 25 Time Point Reference
54LBRFTDTC char 19 Date/Time of Reference Time Point
55;
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.
Banner
Le Conseil de l'Expert
Expert
Stéphanie
Spécialiste Machine Learning et IA.
« Dans le domaine de la recherche clinique, la création de domaines SDTM (comme le domaine LB - Laboratory Results) exige une rigueur absolue. Plutôt que de coder manuellement les attributs de chaque variable dans chaque programme, la stratégie de l'expert consiste à externaliser les métadonnées. »