Publicado el :
ETL CREATION_INTERNE

Creación de metadatos para variables de laboratorio

Este código también está disponible en: Deutsch English Français
En espera de validación
El script inicializa una ruta a través de una variable macro, luego le asigna una biblioteca SAS©. Luego utiliza un paso DATA con 'datalines' para definir manualmente los metadatos de varias variables de laboratorio (ID de estudio, dominio, ID de sujeto único, etc.). Para cada variable, determina el tipo (carácter o numérico), la longitud y la etiqueta, y reúne esta información en una cadena formateada 'attr' que podría usarse para generar dinámicamente atributos de variables (por ejemplo, para declaraciones ATTRIB).
Análisis de datos

Type : CREATION_INTERNE


Los datos se crean directamente en el script SAS a través de la cláusula `datalines`. Definen los metadatos de las variables de laboratorio (nombre, tipo, longitud, etiqueta).

1 Bloque de código
Macro/Libname
Explicación :
Este bloque define una variable macro `path` con una ruta de directorio. Luego, asigna una biblioteca SAS llamada `meta` a esta ruta. Esta biblioteca se utilizará para almacenar el conjunto de datos de metadatos creado posteriormente.
¡Copiado!
1%let path = H:\GraphicsGroup\dummy\sdtm-style\meta;
2LIBNAME meta "&path";
3 
2 Bloque de código
DATA STEP Data
Explicación :
Este paso DATA crea el conjunto de datos `lb_meta` en la biblioteca `meta`. Lee datos brutos integrados (datalines) para las columnas `name`, `type`, `length` y `label`. El script calcula luego una nueva variable `attr` que formatea esta información en una cadena de atributos SAS, incluyendo el nombre de la variable, su etiqueta, su tipo (si es carácter) y su longitud. Esto permite generar dinámicamente atributos de variables para su uso posterior en otros pasos SAS.
¡Copiado!
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;
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.