*************************************************************************************************; * * CLIENT: ModernaTX, Inc. * PROTOCOL: mRNA-1273-P301 * * PURPOSE: Create analysis dataset adttea * * INPUT FILES: SDTM data * OUTPUT FILES: ADTTEA.sas7bdat * * USAGE NOTES: * *************************************************************************************************; * Copyright 2020 Pharmaceutical Product Development, Inc. * All Rights Reserved. *************************************************************************************************; options noquotelenmax; %include "madam.sas"; **Assign global macro variable DSETNAME to reflect the name of the final ADaM dataset**; %global DSETNAME; %let dsetname = adttea; **INSERT CODE TO GENERATE DATASET**; proc format; value $param 'TTCVD1'='Time to COVID-19 14 Days after Dose 2 (Days)' 'TTCVD2'='Time to COVID-19 after Dose 2 (Days)' 'TTCVD3'='Time to COVID-19 14 Days after Dose 1 (Days)' 'TTCVD4'='Time to COVID-19 after Dose 1 (Days)' 'TTCVD5'='Time to COVID-19 after Randomization (Days)' 'TTCVD6'='Time to COVID-19 35 Days after Dose 2 (Days)' 'TTCVDSE1'='Time to Severe COVID-19 14 Days after Dose 2 (Days)' 'TTCVDSE2'='Time to Severe COVID-19 after Dose 2 (Days)' 'TTCVDSE3'='Time to Severe COVID-19 14 Days after Dose 1 (Days)' 'TTCVDSE4'='Time to Severe COVID-19 after Dose 1 (Days)' 'TTCVDSE5'='Time to Severe COVID-19 after Randomization (Days)' 'TTCVDSE6'='Time to Severe COVID-19 35 Days after Dose 2 (Days)' 'TTCVDSD1'='Time to COVID-19 (Secondary Definition) 14 Days after Dose 2 (Days)' 'TTCVDSD2'='Time to COVID-19 (Secondary Definition) after Dose 2 (Days)' 'TTCVDSD3'='Time to COVID-19 (Secondary Definition) 14 Days after Dose 1 (Days)' 'TTCVDSD4'='Time to COVID-19 (Secondary Definition) after Dose 1 (Days)' 'TTCVDSD5'='Time to COVID-19 (Secondary Definition) after Randomization (Days)' 'TTASYMP1'='Time to Asymptomatic SARS-CoV-2 Infection 14 Days after Dose 2 (Days)' 'TTASYMP2'='Time to Asymptomatic SARS-CoV-2 Infection after Dose 2 (Days)' 'TTASYMP3'='Time to Asymptomatic SARS-CoV-2 Infection 14 Days after Dose 1 (Days)' 'TTASYMP4'='Time to Asymptomatic SARS-CoV-2 Infection after Dose 1 (Days)' 'TTASYMP5'='Time to Asymptomatic SARS-CoV-2 Infection after Randomization (Days)' 'TTASYMP6'='Time to Asymptomatic SARS-CoV-2 Infection 35 Days after Dose 2 (Days)' 'TTINF1'='Time to SARS-CoV-2 Infection Regardless of Symptomatology or Severity 14 Days after Dose 2 (Days)' 'TTINF2'='Time to SARS-CoV-2 Infection Regardless of Symptomatology or Severity after Dose 2 (Days)' 'TTINF3'='Time to SARS-CoV-2 Infection Regardless of Symptomatology or Severity 14 Days after Dose 1 (Days)' 'TTINF4'='Time to SARS-CoV-2 Infection Regardless of Symptomatology or Severity after Dose 1 (Days)' 'TTINF5'='Time to SARS-CoV-2 Infection Regardless of Symptomatology or Severity after Randomization (Days)' 'TTDTHCV1'='Time to Death Caused by COVID-19 14 Days after Dose 2 (Days)' 'TTDTHCV2'='Time to Death Caused by COVID-19 after Dose 2 (Days)' 'TTDTHCV3'='Time to Death Caused by COVID-19 14 Days after Dose 1 (Days)' 'TTDTHCV4'='Time to Death Caused by COVID-19 after Dose 1 (Days)' 'TTDTHCV5'='Time to Death Caused by COVID-19 after Randomization (Days)' 'TTDEATH'='Time to All-Cause Death after Randomization (Days)' 'TTCVD1B'='Time to COVID-19 14 Days after Dose 2 (Days) up to 53rd case' 'TTCVDC1'='Time to COVID-19 (Prior Infection Censoring) 14 Days after Dose 2 (Days)' 'TTCVDC2'='Time to COVID-19 (Prior Infection Censoring) after Dose 2 (Days)' 'TTCVDC3'='Time to COVID-19 (Prior Infection Censoring) 14 Days after Dose 1 (Days)' 'TTCVDC4'='Time to COVID-19 (Prior Infection Censoring) after Dose 1 (Days)' 'TTCVDC5'='Time to COVID-19 (Prior Infection Censoring) after Randomization (Days)' 'TTCVDC6'='Time to COVID-19 (Prior Infection Censoring) 35 Days after Dose 2 (Days)' 'TCVDSVC1'='Time to Severe COVID-19 (Prior Infection Censoring) 14 Days after Dose 2 (Days)' 'TCVDSVC2'='Time to Severe COVID-19 (Prior Infection Censoring) after Dose 2 (Days)' 'TCVDSVC3'='Time to Severe COVID-19 (Prior Infection Censoring) 14 Days after Dose 1 (Days)' 'TCVDSVC4'='Time to Severe COVID-19 (Prior Infection Censoring) after Dose 1 (Days)' 'TCVDSVC5'='Time to Severe COVID-19 (Prior Infection Censoring) after Randomization (Days)' 'TCVDSVC6'='Time to Severe COVID-19 (Prior Infection Censoring) 35 Days after Dose 2 (Days)' 'TCVDSDC1'='Time to COVID-19 (Secondary Definition, Considering Scheduled RT-PCR and Prior Infection Censoring) 14 Days after Dose 2 (Days)' 'TCVDSDC2'='Time to COVID-19 (Secondary Definition, Considering Scheduled RT-PCR and Prior Infection Censoring) after Dose 2 (Days)' 'TCVDSDC3'='Time to COVID-19 (Secondary Definition, Considering Scheduled RT-PCR and Prior Infection Censoring) 14 Days after Dose 1 (Days)' 'TCVDSDC4'='Time to COVID-19 (Secondary Definition, Considering Scheduled RT-PCR and Prior Infection Censoring) after Dose 1 (Days)' 'TCVDSDC5'='Time to COVID-19 (Secondary Definition, Considering Scheduled RT-PCR and Prior Infection Censoring) after Randomization (Days)' 'TTCVDC9'='Time to COVID-19 (Prior Infection Censoring) in Open Label Phase (Days)' 'TCVDSVC9'='Time to Severe COVID-19 (Prior Infection Censoring) in Open Label Phase (Days)' ; run; data adsl; set adb.adsl; where FASFL='Y'; run; data adeff; set adb.adeff; where PARCAT1='DERIVED PER ADJUDICATION'; run; data __cvd53dt; set adeff; where ^missing(DOSE2DT); if PARAMCD='COVIDA' and ANL01FL='Y' and ADT>=DOSE2DT+14>. and PPROTFL='Y'; run; proc sort data=__cvd53dt; by ADT; run; %global cvd53dt; data _cvd53dt; set __cvd53dt; by ADT; if _n_=53 then call symput('cvd53dt',put(ADT,best.)); run; %macro dev_tte(effcd=,ttecd=,event=,aperiod=); %if &cvd53dt. eq %then %do; proc sql noprint; select distinct put(min(CUTOFFDT,EFFCODT),best.) into :cvd53dt from adb.adsl; quit; %end; proc sql noprint; create table _adeff_&effcd. as select distinct USUBJID, SUBJID, ADT as _event_dt, PCRDT, APERIOD from adeff where PARAMCD="&effcd." and ANL01FL='Y' and ^missing(ADT) %if &ttecd eq TTCVD1B %then %do; and ._event_dt>. or missing(DOSE2DT) then do; ADT=_event_dt; CNSR=1; EVNTDESC="Early &event."; end; end; else if tpt=2 then do; if ._event_dt>. or missing(DOSE2DT) then do; ADT=_event_dt; CNSR=1; EVNTDESC="Early &event."; end; end; else if tpt=3 then do; if ._event_dt>. then do; ADT=_event_dt; CNSR=1; EVNTDESC="Early &event."; end; end; else if tpt=4 then do; if ._event_dt>. then do; ADT=_event_dt; CNSR=1; EVNTDESC="Early &event."; end; end; else if tpt=5 then do; if ._event_dt>. or missing(DOSE2DT) then do; ADT=_event_dt; CNSR=1; EVNTDESC="Early &event."; end; end; else if tpt=9 then do; if APERIOD=2 then do; ADT=_event_dt; CNSR=0; EVNTDESC="&event."; end; else do; ADT=_event_dt; CNSR=1; EVNTDESC="Early &event."; end; end; end; %if &ttecd eq TTASYMP %then %do; if missing(ADT) and .<_covid_dt<=min(of DTHDT,EOSDT,CUTOFFDT,EFFCODT) then do; ADT=_covid_dt; CNSR=1; EVNTDESC="Symptomatic SARS-CoV-2 Infection"; end; %end; %if &ttecd eq TTCVDC or &ttecd eq TCVDSVC or &ttecd eq TCVDSDC %then %do; if .<_PCR_pos_dt dataset**; %* dod_vlm( type=ADAM, selmems=&DSETNAME, excmems=, specloc=&ADAM_SPEC_LOC, specname=&ADAM_SPEC, debug=N ); **Generate Enhanced Controlled Terminology for the ad dataset**; %* dod_enhcd_ct( type=ADAM, selmems=&DSETNAME, excmems=, specloc=&ADAM_SPEC_LOC, specname=&ADAM_SPEC, map_ct_nm=, map_ct_loc=, debug=N );