AE
AE
Study Number :
Study :
Program Name : AE
Purpose : Craeting Adverse Event Domain
Author : xxxxxxx
Date of Creation : DDMMM2024
Input Data :
Output : SDTM.AE
Assumptions : Taken from xxx
--------------------------------------------------------------------------
Modification History :
--------------------------------------------------------------------------
Modified By : xxxx
Modification Date :
Modification Description :
---------------------------------------------------------------------------*/
dm "log" clear;
options validvarname=upcase;
/* To bring Rawdatasets */
/* Getting DM data */
domain = "AE";
studyid = strip(project);
AELLT = strip(mdrllt);
AELLTCD = input(mdrlltc,best.);
AEDECOD = strip(mdrpt);
AEPTCD = input(mdrptc,best.);
AEHLT = strip(mdrhlt);
AEHLTCD = input(mdrhltc,best.);
AEHLGT = strip(mdrhlgt);
AEHLGTCD = input(mdrhlgtc,best.);
AEBODSYS = strip(mdrsoc);
AEBDSYCD = input(mdrsocc,best.);
AESOC = strip(mdrsoc);
AESOCCD = input(mdrsocc,best.);
AESEV_ = strip(AESEV);/* Apply Standard Control Terminology */
AESER_ = strip(AESER_STD);
AEACN = strip(AEACN);
AEREL = strip(AEREL_STD);
/* if AESER_ = "Y" and S_AEACNH_RAW = "1" then aeshosp = "Y"; /* For supporting
AESER Variable */
run;
proc sort data=ae1; by usubjid; run;
data aedm;
merge ae1(in=a) dm(in=b);
by usubjid;
if a;
rfstdtc_n = input(rfstdtc,yymmdd10.);
if aestdtc ne "" then aestdtc_n = input(substr(aestdtc,1,10),yymmdd10.);
if aeendtc ne "" then aeendtc_n = input(substr(aeendtc,1,10),yymmdd10.);
if rfstdtc_n ne . and aestdtc_n ne . then do;
if aestdtc_n >= rfstdtc_n then aestdy = (aestdtc_n - rfstdtc_n)+1;
else aestdy = (aestdtc_n - rfstdtc_n);
end;
run;
/* Deriving EPOCH */
data epoch;
set aedm;
if aeterm ne "" ;
run;
/* Generating SEQ */
data seq;
set epoch;
by usubjid aeterm aestdtc;
retain STUDYID DOMAIN USUBJID AESEQ AESPID AETERM AELLT AELLTCD AEDECOD
AEPTCD AEHLT AEHLTCD AEHLGT AEHLGTCD AEBODSYS AEBDSYCD AESOC AESOCCD AESEV
AESER AEACN AEACNOTH AEREL AESHOSP AECONTRT EPOCH AESTDTC AEENDTC AESTDY AEENDY
AEENRTPT AEENTPT ;
keep STUDYID DOMAIN USUBJID AESEQ AESPID AETERM AELLT AELLTCD AEDECOD AEPTCD
AEHLT AEHLTCD AEHLGT AEHLGTCD AEBODSYS AEBDSYCD AESOC AESOCCD AESEV
AESER AEACN AEACNOTH AEREL AESHOSP AECONTRT EPOCH AESTDTC AEENDTC AESTDY AEENDY
AEENRTPT AEENTPT ;
set seq;
run;
/* SUPPAE Dataset */
data supp;
set seq;
d_ver = strip(diction)||""||strip(dic_ver);
keep studyid usubjid aeseq tretmfl s_aerelp_std d_ver;
run;
data supp_fin;
length qorig $40.;
set supp_t;
rdomain = "AE" ;
idvar = "AESEQ" ;
idvarval = strip(put(aeseq,best.));
if qval ne "" ;
run;
keep STUDYID RDOMAIN USUBJID IDVAR IDVARVAL QNAM QLABEL QVAL QORIG QEVAL;
attrib STUDYID label ='Study Identifier' length = $14
RDOMAIN label ='Related Domain Abbreviation' length = $2
USUBJID label ='Unique Subject Identifier' length = $30
IDVAR label ='Identifying Variable' length = $8
IDVARVAL label ='Identifying Variable Value' length = $200
QNAM label ='Qualifier Variable Name' length = $8
QLABEL label ='Qualifier Variable Label' length = $40
QVAL label ='Data Value' length = $200
QORIG label ='Origin' length = $40
QEVAL label ='Evaluator' length = $40;
;
set supp_fin;
run;