Document text
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM]************************************************************************************************
**;** Program Name : adc19ef.sas **;
** Date Created : 17Nov2021 **;
** Programmer Name :
**;
** Purpose : Create adc19ef dataset **;
** Input data : ADSYMPT and ADSL **;** Output data : adc19ef.sas7bdat **;**************************************************************************************************;%let oprot=/Volumes/app/cdars/prod/sites/cdars4/
prjC459/nda2_unblinded_esub/sbla1215_esub_sdtm/saseng/cdisc3_0/data/
sdtm;%let protori=/Volumes/app/cdars/prod/sites/cdars4/prjC459/nda2_unblinded_esub/sbla1215_esub_adam/saseng/cdisc3_0;%let prot=/Volumes/app/cdars/prod/sites/cdars4/prjC459/
nda2_unblinded_esub/sbla1215_esub_adam/saseng/cdisc3_0/analy
sis/eSUB;
libname dataprot "&oprot." access=readonly;
libname datvprot "&protori./data_vai" access=readonly;libname datvout "&prot./data_vai";libname viewpx "/Volumes/app/saseng/prod/cdisc3_0/view/" access=readonly;
%let cutoff_case_count = 500;
%let data_cutoff_date = %str(2021-09-02);
proc printto print="&prot./output/adc19ef.rpt"
log="&prot./logs/adc19ef.log" new;run;******************************************************************************************;* Clean *;******************************************************************************************;
proc delete data=work._all_;
run;
proc format;
value $stat 'UNK'='1' 'UNKNOWN'='1' 'N'='2' 'NEG'='2' 'IND'='3' 'Y'='4' 'POS'='4'; value stat 0=' ' 1='UNK' 2='NEG' 3='IND' 4='POS';run;
** Create status values results. **;data unblnd_dt;
unblnddt=.; set datvprot.adsl(keep=usubjid unblnddt);run;
proc sql;
create table adsympt1 as select * from datvprot.adsympt left join (select
(b) (4), (b)
(6)
FDA-CBER-2022-5812-0071690
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM] unblnddt from unblnd_dt as b where unblnddt ^=.) on
strip(usubjid)=strip(b.usubjid) order by usubjid, avisitn, paramn, aval,
avalc, adt, astdt; create table symp_prsnt as select distinct usubjid, visitnum, visit, avisitn, avisit, sum(aval) as aval, 1 as symp_prsnt_flg from adsympt1 where strip(paramcd) in ('CHILLS', 'DIARRHEA', 'FEVER', 'NLTSTSML', 'NCOUG', 'NSTBRTH', 'NMUSPN', 'NSRTHROT', 'VOMIT', 'RESP', 'HR', 'OXYSAT', 'DIABP', 'SYSBP', 'PO2FIO2', 'INTBTION', 'NIPPV', 'CPAP', 'OXYTHRP', 'MCHVENT', 'ECMO', 'HFOXTHRP', 'VSOPRES', 'SARDFN', 'SAHDFN', 'SANDFN', 'HCUICU', 'HCUHSP') group by usubjid, visitnum, visit, avisitn, avisit; create table adsympt2 as select * from adsympt1 left join (select symp_prsnt_flg from symp_prsnt as b) on strip(usubjid)=strip(b.usubjid) and visitnum=b.visitnum and strip(visit)=strip(b.visit) and avisitn=b.avisitn and strip(avisit)=strip(b.avisit) order by usubjid, avisitn, paramn, aval, avalc, adt, astdt;quit;
** Cutoff at unblinded date. **;data unblnd1;
set adsympt2(keep=usubjid visitnum visit avisitn avisit paramn paramcd aval avalc unblnddt adt astdt aendt symp_prsnt_flg); by usubjid avisitn paramn aval avalc adt astdt; length stdt endt 8 unbl_vis_list $1000;
if first.usubjid then
do; unbl_vis_list=''; endt=.; end;
if strip(paramcd) in ('RESP', 'HR', 'OXYSAT', 'DIABP', 'SYSBP', 'PO2FIO2',
'C19NIG', 'RTCOV2NS', 'SARSCOV2', 'PRCDTH', 'SECDTH') then stdt=adt; else do; stdt=astdt; endt=aendt;
if astdt=. and endt <=aendt then
endt=aendt;
if astdt ^=. and aendt=. and endt < astdt then
endt=.; end;
if unblnddt=. then
do;
if not (indexw(strip(unbl_vis_list), strip(avisit))) then
unbl_vis_list=strip(unbl_vis_list) || ' ' || strip(avisit); end; else
do;
FDA-CBER-2022-5812-0071691
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM] if (strip(paramcd) in ('RTCOV2NS', 'SARSCOV2') and
(strip(avisit) in ('V1_DAY1_VAX1_L', 'V2_VAX2_L', 'V201_SURVEIL_CONSENT') or substr(avisit, 1, 10)='SSWAB_WEEK' or symp_prsnt_flg=.)) or (strip(paramcd) not in ('RTCOV2NS', 'SARSCOV2') and (PARAMCD not in ("HCUHSP"))) then do;
if not (indexw(strip(unbl_vis_list), strip(avisit))) then
do;
if (stdt=.) or (. < stdt <=unblnddt) then
unbl_vis_list=strip(unbl_vis_list) || ' ' || strip(avisit); end; end; end;
if last.usubjid then
keepflg=1; format adt astdt aendt unblnddt stdt endt yymmdd10.; retain endt unbl_vis_list;run;
data unblnd2(drop=paramn paramcd aval avalc);
set unblnd1; by usubjid avisitn paramn aval avalc adt astdt; where unbl_vis_list ^='' and keepflg=1;run;
data adsympt_cutoff unblnd_cutoff(keep=usubjid paramn paramcd aval avalc
visitnum visit avisitn avisit adt astdt aendt unblnddt endt unbl_vis_list blnd_cutoff_flg); merge adsympt2(in=a) unblnd2(in=b keep=usubjid endt unbl_vis_list); by usubjid;
if indexw(strip(unbl_vis_list), strip(avisit)) then
blnd_cutoff_flg=1;
if unblnddt=. or (paramcd in ('PRCDTH', 'SECDTH') and adt < unblnddt) then
blnd_cutoff_flg=1;run;
proc sort data=adsympt_cutoff out=adsympt(drop=endt unbl_vis_list
blnd_cutoff_flg); by usubjid avisitn paramn aval avalc adt astdt; where blnd_cutoff_flg=1;run;
** End unblind cutoff. **;data symp_all_1 ord_data_1(keep=usubjid visitnum visit avisitn avisit srtdt)
death(drop=ady astdy aendt aendy mbspec avisitn avisit res c19ilhfl) vis_colsp1(keep=usubjid visitnum visit avisitn avisit);
recseq=put(_n_, z7.);
FDA-CBER-2022-5812-0071692
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM] set adsympt(keep=usubjid paramn paramcd param parcat1 aval avalc visitnum
visit avisitn avisit adt astdt aendt ady astdy aendy vax101dt vax102dt mbspec
c19ilhfl unblnddt); by usubjid avisitn paramn aval avalc adt astdt; length res $8; ** Determine result conditions. **;
if aval=. and strip(avalc)='' then
stat=0; else if strip(paramcd)='RESP' and aval ^=. then do;
if aval < 30 then
res='NEG'; else res='POS'; end; else if strip(paramcd)='HR' and aval ^=. then do;
if aval < 125 then
res='NEG'; else res='POS'; end; else if strip(paramcd)='OXYSAT' and aval ^=. then do;
if aval > 93 then
res='NEG'; else res='POS'; end; else if strip(paramcd)='DIABP' and aval ^=. then do;
if aval >=60 then
res='NEG'; else res='POS'; end; else if strip(paramcd)='SYSBP' and aval ^=. then do;
if aval >=90 then
res='NEG'; else res='POS'; end; else if strip(paramcd)='PO2FIO2' and aval ^=. then do;
if aval >=300 then
res='NEG';
FDA-CBER-2022-5812-0071693
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM] else
res='POS';
end; else if strip(paramcd)='VSOPRES' then do;
if avalc ^='' then
res='POS'; else res='NEG'; end; else stat=input(put(avalc, $stat.), ?? best.);
if res ^='' and stat=. then
stat=input(put(res, $stat.), ?? best.); srtdt=astdt; ** Group Symptoms and test results. **;
if strip(paramcd) in ('CHILLS', 'DIARRHEA', 'FEVER', 'NLTSTSML', 'NCOUG',
'NSTBRTH', 'NMUSPN', 'NSRTHROT', 'VOMIT') then do; grp=1; output symp_all_1; end;
if strip(paramcd) in ('CHILLS', 'DIARRHEA', 'FEVER', 'NLTSTSML', 'NCOUG',
'NSTBRTH', 'NMUSPN', 'NSRTHROT', 'VOMIT') or strip(paramcd) in ('FATIGUE', 'HEADACHE', 'RIHNRA', 'NAUSEA', 'NNSLCONG') then do; grp=2; output symp_all_1; end;
if strip(paramcd) in ('RESP', 'HR', 'OXYSAT', 'DIABP', 'SYSBP', 'PO2FIO2') then
do; grp=3; astdt=adt; srtdt=adt; output symp_all_1; end;
if strip(paramcd) in ('INTBTION', 'NIPPV', 'CPAP', 'OXYTHRP', 'MCHVENT',
'ECMO', 'HFOXTHRP') then do; grp=4; output symp_all_1; end;
if strip(paramcd) in ('VSOPRES') then
do; grp=5; output symp_all_1;
end;
FDA-CBER-2022-5812-0071694
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM] if strip(paramcd) in ('SARDFN', 'SAHDFN', 'SANDFN') then
do; grp=6; output symp_all_1; end;
if strip(paramcd) in ('HCUICU') then
do; grp=7; output symp_all_1; end;
if strip(paramcd) in ('HCUHSP') then
do; grp=11; output symp_all_1; end;
if strip(paramcd) in ('MCHVENT', 'ECMO', 'HCUICU', 'HCUHSP') then
do; grp=12; output symp_all_1; end;
if strip(paramcd) in ('C19NIG') and strip(avisit)='V1_DAY1_VAX1_L' then
do; grp=21; ** These number assignments are used below. **; srtdt=adt; output symp_all_1; end;
if strip(paramcd) in ('RTCOV2NS') then
do; grp=22; srtdt=adt; output symp_all_1; end;
if strip(paramcd) in ('SARSCOV2') then
do; grp=23; srtdt=adt; output symp_all_1; end;
if grp ^=. then
output ord_data_1;
if strip(paramcd) in ('PRCDTH', 'SECDTH') then
output death;
if visitnum ^=avisitn or visit ^=avisit then
FDA-CBER-2022-5812-0071695
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM] output vis_colsp1;
format adt astdt aendt vax101dt vax102dt srtdt yymmdd10.;
run;
** Process Deaths. **;data death1;
set death; by usubjid; length cause $400;
if first.usubjid then
cause=strip(avalc); else cause=strip(cause) || ' , ' || strip(avalc);
if last.usubjid then
do; avalc='N';
if indexw(cause, 'COVID') or indexw(cause, 'COVID-19') then
avalc='Y'; grp=10; stat=input(put(avalc, $stat.), ?? best.); astdt=adt; srtdt=adt; keepflg=1; end; retain cause;run;
proc sql;
create table death2 as select * from (select * from death1 where keepflg=1) left join (select adt as adt_, astdt as astdt_, grp as grp_, avisitn, avisit from symp_all_1 as b) on strip(usubjid)=strip(b.usubjid) and ((b.grp < 20 and . < b.astdt <=adt) or (b.grp > 20 and . < b.adt <=adt)) order by usubjid, adt_, astdt_;quit;
data death3(drop=keepflg);
set death2; by usubjid adt_ astdt_;
if grp_ < 20 then
finaldt=astdt_;
if grp_ > 20 then
finaldt=adt_; format finaldt yymmdd10.;run;
proc sort data=death3;
by usubjid finaldt;
FDA-CBER-2022-5812-0071696
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM]run;
data death4(drop=adt_ astdt_ grp_ finaldt);
set death3; by usubjid finaldt;
if last.usubjid then
do; output; grp=20; output; end;run;
data ord_data_1_dth;
set ord_data_1 death4(keep=usubjid visitnum visit avisitn avisit srtdt);run;
proc sort data=ord_data_1_dth out=ord_data_1a noduprecs;
by usubjid srtdt avisitn avisit visitnum visit; where srtdt ^=. and avisit not in('V1_DAY1_VAX1_L', 'V2_VAX2_L');run;
data ord_data_1b;
set ord_data_1a; by usubjid srtdt avisitn avisit visitnum visit; length avislist $1000;
if first.usubjid then
do; avislist=''; srtord=10; end; id=prxparse('/' || strip(avisit) || '/i'); call prxsubstr(id, avislist, point, lng);
if first.usubjid or (first.avisitn and lng=0) then
do; srtord + 2; keepflg=1; avislist=strip(strip(avislist) || ' ' || strip(avisit)); end;
if last.usubjid then
lastrec=1; retain avislist;run;
proc sql;
create table ord_data_1c as select * from (select distinct * from ord_data_1_dth) left join (select srtord from ord_data_1b as b where keepflg=1) on usubjid=b.usubjid and avisitn=b.avisitn and avisit=b.avisit order by usubjid, avisitn, srtord, srtdt;
quit;
FDA-CBER-2022-5812-0071697
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM]data ord_data_1d;
set ord_data_1c; by usubjid avisitn srtord srtdt;
if first.usubjid then
srtord_b=0;
if avisit in ('V1_DAY1_VAX1_L', 'V2_VAX2_L') then
do;
if strip(avisit)='V1_DAY1_VAX1_L' then
do; srtord_b=srtord_b + 1; srtord=srtord_b; end;
if strip(avisit)='V2_VAX2_L' then
do; srtord_b=srtord_b + 1; srtord=srtord_b; end; end; else do;
if srtord=. then
do;
if first.usubjid then
srtord=10.1; else srtord=srtord_ + .1; end; srtord_=srtord; end; retain srtord_b srtord_;run;
proc sort data=vis_colsp1 out=vis_colsp2 nodupkey;
by usubjid avisitn avisit;run;
data symp_all_1_dth;
set symp_all_1 death4;run;
proc sql;
** Merge sort order. **; create table symp_all_2 as select * from symp_all_1_dth left join (select srtord from ord_data_1d as b) on usubjid=b.usubjid and visitnum=b.visitnum and visit=b.visit and avisitn=b.avisitn and avisit=b.avisit and srtdt=b.srtdt; ** Flag collapsed visits records. **; create table symp_all_3 as select * from symp_all_2 left join (select 1 as
FDA-CBER-2022-5812-0071698
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM] clspflg, avisitn as avisitn_colsp, avisit as avisit_colsp from vis_colsp2 as
b) on usubjid=b.usubjid and avisitn=b.avisitn and avisit=b.avisit;
** Merge Death date. **; create table symp_all_4 as select * from symp_all_3 left join (select adt as dthdt from death4 as b where grp=10) on usubjid=b.usubjid order by usubjid, avisitn, avisit, grp, stat, astdt, visitnum, aendt;quit;
data symp_all_5 symp1(keep=recseq usubjid vax101dt vax102dt avisitn avisit
parcat1 grp stat dthdt c19ilhfl srtord clspflg grpcat grp_stdt grp_endt visitnum_ visit_ unblnddt rename=(grp_stdt=astdt grp_endt=aendt visitnum_=visitnum visit_=visit)) nva_naat1(keep=recseq usubjid vax101dt vax102dt visitnum visit avisitn avisit paramn paramcd param parcat1 aval avalc mbspec grp adt srtord dthdt stat c19ilhfl clspflg unblnddt); set symp_all_4; by usubjid avisitn avisit grp stat astdt visitnum aendt;
if avisitn_colsp ^=. then
clspflg=1;
if grp in (1, 2) then
grpcat=1;
if 3 <=grp <=10 then
grpcat=2;
if 11 <=grp <=20 then
grpcat=3;
if first.grp then
do; grp_stdt=astdt; grp_endt=aendt; grp_stat=stat; visitnum_=visitnum; visit_=visit; end;
if grp_stat < stat or grp in (7, 11) then
do; grp_stdt=astdt; grp_endt=aendt; grp_stat=stat; visitnum_=visitnum; visit_=visit; end;
if grp_stdt=. and stat=4 then
grp_stdt=astdt;
if (. < grp_endt < aendt) or aendt=. then
grp_endt=aendt;
if last.grp and grp <=20 then
FDA-CBER-2022-5812-0071699
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM] keepflg=1;
if grp in (7, 11) then
keepflg=1; output symp_all_5;
if keepflg=1 then
output symp1;
if grp in (21, 22, 23) then
output nva_naat1; format grp_stdt grp_endt yymmdd10.; retain grp_stdt grp_endt grp_stat visitnum_ visit_;run;
proc sort data=symp1;
by usubjid avisitn avisit grpcat grp stat astdt aendt visitnum;run;
data symp2(drop=vis_endtfl setflg vis_stat vis_astdt vis_aendt vis_endtfl_cdc
vs_dth_only setflg_cdc vis_stat_cdc vis_astdt_cdc vis_aendt_cdc); set symp1; by usubjid avisitn avisit grpcat grp stat astdt aendt visitnum;
if first.avisitn then
do; vis_endtfl=0; vis_endtfl_cdc=0; vs_dth_only=1; setflg=0; setflg_cdc=0; end;
if setflg=0 and 3 <=grp <=10 then
do; vis_stat=stat; vis_astdt=astdt; vis_aendt=aendt;
if stat=2 then
vis_aendt=astdt; setflg=1;
if stat=2 and astdt=. then
setflg=0;
if grp=3 and stat=2 then
setflg=0; end;
if setflg_cdc=0 and 11 <=grp <=20 then
do; vis_stat_cdc=stat;
vis_astdt_cdc=astdt;
FDA-CBER-2022-5812-0071700
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM] vis_aendt_cdc=aendt;
setflg_cdc=1;
end;
if 3 <=grp <=10 then
do;
if grp not in (3, 10) then
vs_dth_only=0;
if aendt=. or stat ^=4 then
vis_endtfl=1;
if aendt=. and stat=2 then
vis_endtfl=0;
if vis_stat <=stat then
do; vis_stat=stat;
if vis_astdt=. or (vis_astdt ^=. and . < astdt < vis_astdt) then
vis_astdt=astdt; end;
if vis_stat=stat and astdt < vis_astdt then
vis_astdt=astdt;
if . < vis_aendt < aendt then
vis_aendt=aendt; end;
if 11 <=grp <=20 then
do;
if aendt=. or stat ^=4 then
vis_endtfl_cdc=1;
if vis_stat_cdc <=stat then
do; vis_stat_cdc=stat;
if vis_astdt_cdc=. or (vis_astdt_cdc ^=. and . < astdt < vis_astdt_cdc)
then vis_astdt_cdc=astdt; end;
if vis_stat_cdc=stat and astdt < vis_astdt_cdc then
vis_astdt_cdc=astdt;
if . < vis_aendt_cdc < aendt then
vis_aendt_cdc=aendt; end; output;
FDA-CBER-2022-5812-0071701
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM] if last.grpcat then
do;
if grpcat=2 then
do; grp=20.1; stat=vis_stat; astdt=vis_astdt;
if vis_endtfl=0 and vs_dth_only=0 then
aendt=vis_aendt; else aendt=.; parcat1='SEVERE COVID-19 SYMPTOMS'; output; end;
if grpcat=3 then
do; grp=20.2; stat=vis_stat_cdc; astdt=vis_astdt_cdc;
if vis_endtfl_cdc=0 then
aendt=vis_aendt_cdc; else aendt=.; parcat1='SEVERE COVID-19 SYMPTOMS'; output; end; end; retain vis_endtfl vis_endtfl_cdc vs_dth_only setflg setflg_cdc vis_stat vis_astdt vis_aendt vis_stat_cdc vis_astdt_cdc vis_aendt_cdc; format vis_astdt vis_aendt vis_stat_cdc vis_aendt_cdc yymmdd10.;run;
proc sql;
** Merge symptom dates based on VISITNUM. **; create table nva_naat1a as select * from nva_naat1 left join (select usubjid as usubjid_v, min(astdt) as astdt_sym_v format yymmdd10., max(aendt) as aendt_sym_v format yymmdd10. from symp_all_3 as b where grp in (1, 2) and astdt ^=. group by usubjid, visitnum, visit) on usubjid=b.usubjid and visitnum=b.visitnum and visit=b.visit order by usubjid, vax101dt, vax102dt, avisitn, avisit, visitnum, visit, grp, adt; ** Merge symptom dates based on AVISITN. **; create table nva_naat1b as select * from nva_naat1a left join (select usubjid as usubjid_av, min(astdt) as astdt_sym_av format yymmdd10., max(aendt) as aendt_sym_av format yymmdd10. from symp1 as b where grp in (1, 2) and astdt ^=. group by usubjid, avisitn, avisit) on usubjid=b.usubjid and avisitn=b.avisitn and avisit=b.avisit order by usubjid, vax101dt, vax102dt, avisitn, avisit, visitnum, visit, grp, stat, adt;quit;
** Determine if NVA or NAAT result/s are valid based on dates to exclude multiple records that are out of window. **;
FDA-CBER-2022-5812-0071702
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM]data nva_naat2 nva_naat_flags(keep=usubjid vax101dt vax102dt dthdt c19ilhfl_
vldrslfl vrblngfl crd1ngfl crd2ngfl pdp17fl_ pdp27fl_); set nva_naat1b; by usubjid vax101dt vax102dt avisitn avisit visitnum visit grp stat adt; ** Derive result flags. **;
if first.usubjid then
do; vrblngfl='U'; crd1ngfl='U'; crd2ngfl='U'; pdp17fl_='N'; pdp27fl_='N'; end; vldrslfl='N'; c19ilhfl_=c19ilhfl;
if strip(avisit)='V1_DAY1_VAX1_L' then
do;
if . < adt <=vax101dt then
vldrslfl='Y';
if vldrslfl='Y' and strip(put(stat, stat.))='POS' then
do;
if grp=21 then
vrblngfl='N';
if grp=22 then
crd1ngfl='N'; end;
if vldrslfl='Y' and strip(put(stat, stat.))='NEG' then
do;
if grp=21 then
vrblngfl='Y';
if grp=22 then
crd1ngfl='Y'; end;
if last.avisitn and vrblngfl='Y' and crd1ngfl='Y' then
pdp17fl_='Y'; end; else if strip(avisit)='V2_VAX2_L' then do;
if . < adt <=vax102dt then
vldrslfl='Y';
if vldrslfl='Y' and strip(put(stat, stat.))='POS' and grp=22 then
FDA-CBER-2022-5812-0071703
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM] crd2ngfl='N';
if vldrslfl='Y' and strip(put(stat, stat.))='NEG' and grp=22 then
crd2ngfl='Y';
if last.avisitn and vrblngfl='Y' and crd1ngfl='Y' and crd2ngfl='Y' then
pdp27fl_='Y'; end; else if strip(avisit) not in ('V1_DAY1_VAX1_L', 'V2_VAX2_L') then do;
if usubjid_av ^='' then
do;
if astdt_sym_av ^=. and aendt_sym_av=. and sum(astdt_sym_av, -4) <=adt then
vldrslfl='Y';
if astdt_sym_av ^=. and aendt_sym_av ^=. and sum(astdt_sym_av, -4)
<=adt <=sum(aendt_sym_av, 4) then vldrslfl='Y'; end; else if usubjid_v ^='' then do;
if astdt_sym_v ^=. and aendt_sym_v=. and sum(astdt_sym_v, -4) <=adt then
vldrslfl='Y'; else if astdt_sym_v ^=. and aendt_sym_v ^=. and sum(astdt_sym_v, -4) <=adt <=sum(aendt_sym_v, 4) then vldrslfl='Y'; end; else cncrslfl='Y'; end;
if first.grp and last.grp then
cncrslfl='Y'; else do; ** Check if multiple results are present and valid. **;
if vldrslfl='Y' then
cncrslfl='Y'; end; output nva_naat2;
if last.usubjid then
output nva_naat_flags; retain vrblngfl crd1ngfl crd2ngfl pdp17fl_ pdp27fl_;run;
proc sort data=nva_naat2 out=nva_naat3(drop=usubjid_v usubjid_av);
by usubjid vax101dt vax102dt avisitn avisit visitnum visit grp stat adt; where cncrslfl='Y';
run;
FDA-CBER-2022-5812-0071704
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM]data nva_naat4 nva_naat4a(keep=usubjid adt stat rename=(adt=nva_dt stat=nva))
nva_naat4b(keep=usubjid adt stat rename=(adt=cnt_1dt stat=cnt_1)) nva_naat4c(keep=usubjid adt stat rename=(adt=cnt_2dt stat=cnt_2)) nva_naat4d(keep=usubjid vax101dt vax102dt avisitn avisit visitnum visit adt stat srtord clspflg vldrslfl rename=(vldrslfl=c_vldrslfl adt=cnt_unp_dt stat=cnt_unp srtord=cnt_srtord)) nva_naat4e(keep=usubjid vax101dt vax102dt avisitn avisit visitnum visit adt stat srtord clspflg vldrslfl rename=(vldrslfl=l_vldrslfl adt=lcl_unp_dt stat=lcl_unp srtord=lcl_srtord)); set nva_naat3; by usubjid vax101dt vax102dt avisitn avisit visitnum visit grp stat adt;
if last.grp then
keepflg=1; output nva_naat4;
if keepflg=1 then
do;
if grp=21 and strip(avisit)='V1_DAY1_VAX1_L' then
output nva_naat4a;
if grp=22 and strip(avisit)='V1_DAY1_VAX1_L' then
output nva_naat4b;
if grp=22 and strip(avisit)='V2_VAX2_L' then
output nva_naat4c;
if grp=22 and strip(avisit) not in ('V1_DAY1_VAX1_L', 'V2_VAX2_L') then
output nva_naat4d;
if grp=23 and strip(avisit) not in ('V1_DAY1_VAX1_L', 'V2_VAX2_L') then
output nva_naat4e; end;run;
** Process central and local lab rerults. **;data cnt_lcl1;
merge nva_naat4d(in=a) nva_naat4e(in=b); by usubjid vax101dt vax102dt avisitn avisit visitnum visit; ** Conclude NAAT result for unplanned visits. **;
if c_vldrslfl='Y' then
do; naat_unp=cnt_unp; naat_unp_dt=cnt_unp_dt; srtord_swab=cnt_srtord; end; else if c_vldrslfl ^='Y' and l_vldrslfl='Y' then do; naat_unp=lcl_unp; naat_unp_dt=lcl_unp_dt;
srtord_swab=lcl_srtord;
FDA-CBER-2022-5812-0071705
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM] end;
if c_vldrslfl ^='Y' and l_vldrslfl ^='Y' then
do;
if nmiss(cnt_unp, naat_unp) < 2 then
stat_sort=max(cnt_unp, naat_unp);
if nmiss(cnt_unp_dt, naat_unp_dt) < 2 then
dt_sort=max(cnt_unp_dt, naat_unp_dt); end; else do; stat_sort=naat_unp; dt_sort=naat_unp_dt; end;
if srtord_swab=. then
do;
if cnt_srtord ^=. then
srtord_swab=cnt_srtord;
if cnt_srtord=. and lcl_srtord ^=. then
srtord_swab=lcl_srtord; end;
if c_vldrslfl='Y' or l_vldrslfl='Y' then
vunprfl='Y'; format naat_unp_dt yymmdd10.;run;
proc sort data=cnt_lcl1;
by usubjid vax101dt vax102dt avisitn avisit vunprfl naat_unp stat_sort dt_sort;run;
data cnt_lcl2(drop=stat_sort);
set cnt_lcl1; by usubjid vax101dt vax102dt avisitn avisit vunprfl naat_unp stat_sort dt_sort;
if last.avisitn then
keepflg=1; naat_rslt_flg=1; rename visitnum=visitnum_ visit=visit_;run;
** Merge result flags with symptom data. **;data symp3a(drop=keepflg);
merge symp2(in=a) cnt_lcl2(in=b where=(keepflg=1)); by usubjid avisitn avisit;
if a and not b then
mflg=1;
FDA-CBER-2022-5812-0071706
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM] if a and b then
mflg=2;
if not a and b then
mflg=3;
if mflg=3 and visitnum=. then
do; visitnum=visitnum_; visit=visit_; srtord=srtord_swab; end;run;
data symp3b;
merge symp3a(in=a) nva_naat_flags(in=b drop=vax101dt vax102dt vldrslfl) nva_naat4a(in=c) nva_naat4b(in=d) nva_naat4c(in=d); by usubjid;
if a;
call missing(stdy1, stdy2);
if astdt ^=. then
do;
if vax101dt ^=. then
do;
if astdt >=vax101dt then
stdy1=(astdt - vax101dt) + 1; else stdy1=(astdt - vax101dt); end;
if vax102dt ^=. then
do;
if astdt >=vax102dt then
stdy2=(astdt - vax102dt) + 1; else stdy2=(astdt - vax102dt); end; end;
if vrblngfl='' then
vrblngfl='U';
if crd1ngfl='' then
crd1ngfl='U';
if crd2ngfl='' then
crd2ngfl='U';
FDA-CBER-2022-5812-0071707
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM] if pdp17fl_='' then
pdp17fl_='N';
if pdp27fl_='' then
pdp27fl_='N'; rename pdp17fl_=pdp17fl_tmp pdp27fl_=pdp27fl_tmp;run;
proc sort data=symp3b out=symp3c;
by usubjid vax101dt vax102dt srtord avisitn avisit grpcat grp astdt;run;
data symp3d;
retain recseq usubjid parcat1 visitnum visit avisitn avisit clspflg vax101dt vax102dt c19ilhfl dthdt nva nva_dt vrblngfl cnt_1 cnt_1dt crd1ngfl cnt_2 cnt_2dt crd2ngfl grpcat grp stat astdt aendt stdy1 stdy2 cnt_unp cnt_unp_dt c_vldrslfl lcl_unp lcl_unp_dt l_vldrslfl naat_unp naat_unp_dt vunprfl naat_rslt_flg pdp17fl_tmp pdp27fl_tmp; set symp3c; by usubjid vax101dt vax102dt srtord avisitn avisit grpcat grp astdt;run;
** Determine NAAT unplanned result and derive case. **;data symp4(drop=naat_unp_) symp_all_flags(keep=usubjid vax101dt vax102dt dthdt
pdsymfl_ pdsdmfl_ cdcsymfl_ sevsymfl_ sevcdcfl_ pdrmufl_ pdrmupfl_ cdcrmufl_ cdrmupfl_ pdp1fl_ pdp17fl_ pdp27fl_ pdp214fl_ cdp1fl_ cdp17fl_ cdp27fl_ cdp214fl_); set symp3d end=eof; by usubjid vax101dt vax102dt srtord avisitn avisit grpcat grp astdt; ** Setting the flags. **;
if first.usubjid then
do; pdsymfl_='N'; pdsdmfl_='N'; cdcsymfl_='N'; sevsymfl_='N'; sevcdcfl_='N'; pdrmufl_='N'; pdrmupfl_='N'; cdcrmufl_='N'; cdrmupfl_='N'; pdp1fl_=pdp17fl_tmp; pdp17fl_=pdp17fl_tmp; pdp27fl_=pdp27fl_tmp; pdp214fl_=pdp27fl_tmp; cdp1fl_=pdp1fl_; cdp17fl_=pdp17fl_; cdp27fl_=pdp27fl_; cdp214fl_=pdp27fl_; filocrfl_pd_=''; filocrfl_cdc_='';
filocrfl_sev_='';
FDA-CBER-2022-5812-0071708
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM] filocrfl_sev_cdc_='';
pd_fst_pos_dt=.;
astdt_pd_res_miss=.; aendt_pd_res_miss=.; cd_fst_pos_dt=.; astdt_cdc_res_miss=.; aendt_cdc_res_miss=.; last_vis_end_dt=.; end; ** If concluded lab result out of CDC defined symptoms date/s, reset the valid flag. **;
if grp=2 then
do;
if astdt=. or naat_unp_dt=. then
vunprfl=''; else do;
if aendt=. and sum(astdt, -4) <=naat_unp_dt then
vunprfl='Y'; else if aendt ^=. and sum(astdt, -4) <=naat_unp_dt <=sum(aendt, 4) then vunprfl='Y'; else vunprfl=''; end; end; ** Determine illness onset for protocol defined, CDC defined and severe symptoms. **;
if first.avisitn then
do; c19onst_=-1; cdconst_=-1; end;
if strip(put(stat, stat.))='POS' and vunprfl='Y' then
do;
if strip(put(naat_unp, stat.)) in ('') then
naat_unp_=input(put('UNK', $stat.), ?? best.); else naat_unp_=naat_unp;
if grp=1 then
c19onst=naat_unp_;
if grp=2 then
cdconst=naat_unp_; end; else if strip(put(stat, stat.))='POS' and vunprfl='' then do;
if grp=1 then
c19onst=input(put('UNK', $stat.), ?? best.);
FDA-CBER-2022-5812-0071709
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM] if grp=2 then
cdconst=input(put('UNK', $stat.), ?? best.); end; else if strip(put(stat, stat.)) in ('', 'NEG') then do;
if grp=1 then
c19onst=input(put('NEG', $stat.), ?? best.);
if grp=2 then
cdconst=input(put('NEG', $stat.), ?? best.); end;
if grp=1 then
c19onst_=c19onst;
if grp=2 then
cdconst_=cdconst;
if grp=20.1 then
do;
if c19onst_=-1 then
c19onst_=2;
if strip(put(stat, stat.))='POS' then
sevconst=c19onst_;
if strip(put(stat, stat.)) in ('', 'NEG') then
sevconst=input(put('NEG', $stat.), ?? best.);
/* if strip(put(c19onst_,stat.)) = 'POS' and last.usubjid and dthdt ^= . then sevconst =
input(put('POS',$stat.),?? best.);*/ end;
if grp=20.2 then
do;
if cdconst_=-1 then
cdconst_=2;
if strip(put(stat, stat.))='POS' then
cdcsonst=cdconst_;
if strip(put(stat, stat.)) in ('', 'NEG') then
cdcsonst=input(put('NEG', $stat.), ?? best.);
/* if strip(put(cdconst_,stat.)) = 'POS' and last.usubjid and dthdt ^= . then cdcsonst =
input(put('POS',$stat.),?? best.);*/ end;
if strip(put(c19onst, stat.))='POS' and pd_fst_pos_dt=. then
pd_fst_pos_dt=astdt;
FDA-CBER-2022-5812-0071710
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM] if strip(put(cdconst, stat.))='POS' and cd_fst_pos_dt=. then
cd_fst_pos_dt=astdt;
if grp=1 then
do;
if strip(put(stat, stat.))='POS' then
do; pdsymfl_='Y';
if astdt=. then
pdsdmfl_='Y';
if strip(put(c19onst, stat.)) not in ('NEG', 'POS') then
do; astdt_pd_res_miss=astdt; aendt_pd_res_miss=aendt;
if (pd_fst_pos_dt=.) or (. < astdt < pd_fst_pos_dt) then
do; pdrmufl_='Y'; pdrmupfl_='Y'; end; end;
if strip(put(c19onst, stat.))='POS' and pdrmupfl_='Y' then
do;
if unblnddt=. then
do;
if . < astdt_pd_res_miss < pd_fst_pos_dt then
pdrmupfl_='N';
if pdrmupfl_='Y' and
astdt_pd_res_miss=. and . < aendt_pd_res_miss < pd_fst_pos_dt then pdrmupfl_='N'; end; else do;
if . < astdt_pd_res_miss < pd_fst_pos_dt < unblnddt then
pdrmupfl_='N';
if pdrmupfl_='Y' and
astdt_pd_res_miss=. and . < aendt_pd_res_miss < pd_fst_pos_dt < unblnddt then pdrmupfl_='N'; end; end; end; end;
FDA-CBER-2022-5812-0071711
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM] if grp=2 then
do;
if strip(put(stat, stat.))='POS' then
do; cdcsymfl_='Y';
if strip(put(cdconst, stat.)) not in ('NEG', 'POS') then
do; astdt_cdc_res_miss=astdt; aendt_cdc_res_miss=aendt;
if (cd_fst_pos_dt=.) or (. < astdt < cd_fst_pos_dt) then
do; cdcrmufl_='Y'; cdrmupfl_='Y'; end; end;
if strip(put(cdconst, stat.))='POS' and cdrmupfl_='Y' then
do;
if unblnddt=. then
do;
if . < astdt_cdc_res_miss < cd_fst_pos_dt then
cdrmupfl_='N';
if cdrmupfl_='Y' and
astdt_cdc_res_miss=. and . < aendt_cdc_res_miss < cd_fst_pos_dt then cdrmupfl_='N'; end; else do;
if . < astdt_cdc_res_miss < cd_fst_pos_dt < unblnddt then
cdrmupfl_='N';
if cdrmupfl_='Y' and
astdt_cdc_res_miss=. and . < aendt_cdc_res_miss < cd_fst_pos_dt < unblnddt then cdrmupfl_='N'; end; end; end; end;
if grp=20.1 and strip(put(stat, stat.))='POS' then
sevsymfl_='Y';
if grp=20.2 and strip(put(stat, stat.))='POS' then
sevcdcfl_='Y';
if grp=1 and c19onst=input(put('POS', $stat.), ?? best.) then
FDA-CBER-2022-5812-0071712
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM] do;
if (vrblngfl='Y' and crd1ngfl='Y' and . < vax101dt=astdt)
or (. < vax101dt < astdt) then ild1fl_pd='Y'; else ild1fl_pd='N';
if . < vax101dt < sum(vax101dt, 7) <=astdt then
ild17fl_pd='Y'; else ild17fl_pd='N';
if (crd2ngfl='Y' and . < vax102dt=astdt) or (. < vax102dt < astdt) then
ild2fl_pd='Y'; else ild2fl_pd='N';
if . < vax102dt < sum(vax102dt, 7) <=astdt then
ild27fl_pd='Y'; else ild27fl_pd='N';
if . < vax102dt < sum(vax102dt, 14) <=astdt then
ild214fl_pd='Y'; else ild214fl_pd='N';
if filocrfl_pd_='' then
do; filocrfl_pd_='Y'; filocrfl_pd='Y'; end; end;
if grp=2 and cdconst=input(put('POS', $stat.), ?? best.) then
do;
if (vrblngfl='Y' and crd1ngfl='Y' and . < vax101dt=astdt)
or (. < vax101dt < astdt) then ild1fl_cdc='Y'; else ild1fl_cdc='N';
if . < vax101dt < sum(vax101dt, 7) <=astdt then
ild17fl_cdc='Y'; else ild17fl_cdc='N';
if (crd2ngfl='Y' and . < vax102dt=astdt) or (. < vax102dt < astdt) then
ild2fl_cdc='Y'; else ild2fl_cdc='N';
FDA-CBER-2022-5812-0071713
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM] if . < vax102dt < sum(vax102dt, 7) <=astdt then
ild27fl_cdc='Y';
else ild27fl_cdc='N';
if . < vax102dt < sum(vax102dt, 14) <=astdt then
ild214fl_cdc='Y'; else ild214fl_cdc='N';
if filocrfl_cdc_='' then
do; filocrfl_cdc_='Y'; filocrfl_cdc='Y'; end; end;
if grp=20.1 and sevconst=input(put('POS', $stat.), ?? best.) then
do;
if (vrblngfl='Y' and crd1ngfl='Y' and . < vax101dt=astdt)
or (. < vax101dt < astdt) then ild1fl_sev='Y'; else ild1fl_sev='N';
if . < vax101dt < sum(vax101dt, 7) <=astdt then
ild17fl_sev='Y'; else ild17fl_sev='N';
if (crd2ngfl='Y' and . < vax102dt=astdt) or (. < vax102dt < astdt) then
ild2fl_sev='Y'; else ild2fl_sev='N';
if . < vax102dt < sum(vax102dt, 7) <=astdt then
ild27fl_sev='Y'; else ild27fl_sev='N';
if . < vax102dt < sum(vax102dt, 14) <=astdt then
ild214fl_sev='Y'; else ild214fl_sev='N';
if filocrfl_sev_='' then
do; filocrfl_sev_='Y'; filocrfl_sev='Y'; end; end;
if grp=20.2 and cdcsonst=input(put('POS', $stat.), ?? best.) then
FDA-CBER-2022-5812-0071714
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM] do;
if (vrblngfl='Y' and crd1ngfl='Y' and . < vax101dt=astdt)
or (. < vax101dt < astdt) then ild1fl_sev_cdc='Y'; else ild1fl_sev_cdc='N';
if . < vax101dt < sum(vax101dt, 7) <=astdt then
ild17fl_sev_cdc='Y'; else ild17fl_sev_cdc='N';
if (crd2ngfl='Y' and . < vax102dt=astdt) or (. < vax102dt < astdt) then
ild2fl_sev_cdc='Y'; else ild2fl_sev_cdc='N';
if . < vax102dt < sum(vax102dt, 7) <=astdt then
ild27fl_sev_cdc='Y'; else ild27fl_sev_cdc='N';
if . < vax102dt < sum(vax102dt, 14) <=astdt then
ild214fl_sev_cdc='Y'; else ild214fl_sev_cdc='N';
if filocrfl_sev_cdc_='' then
do; filocrfl_sev_cdc_='Y'; filocrfl_sev_cdc='Y'; end; end;
if (strip(put(stat, stat.))=('POS') and strip(put(naat_unp, stat.)) ^='NEG')
and stdy1 < 1 then do;
if (vax101dt ^=. and naat_unp_dt ^=. and vax101dt <=naat_unp_dt) or
naat_unp_dt=. or vunprfl='Y' then do;
if grp=1 then
pdp1fl_='N';
if grp=2 then
cdp1fl_='N'; end; end;
if (strip(put(stat, stat.))=('POS') and strip(put(naat_unp, stat.)) ^='NEG')
and stdy1 < 8 then
do;
FDA-CBER-2022-5812-0071715
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM] if (vax101dt ^=. and naat_unp_dt ^=. and
vax101dt <=naat_unp_dt < sum(vax101dt, 7)) or naat_unp_dt=. or vunprfl='Y' then do;
if grp=1 then
do; pdp17fl_='N'; pdp27fl_='N'; end;
if grp=2 then
do; cdp17fl_='N'; cdp27fl_='N'; end; end; end;
if (strip(put(stat, stat.))=('POS') and strip(put(naat_unp, stat.)) ^='NEG')
and stdy2 < 8 then do;
if (vax101dt ^=. and vax102dt ^=. and naat_unp_dt ^=. and
vax101dt <=naat_unp_dt < sum(vax102dt, 7)) or naat_unp_dt=. or vunprfl='Y' then do;
if grp=1 then
pdp27fl_='N';
if grp=2 then
cdp27fl_='N'; end; end;
if (strip(put(stat, stat.))=('POS') and strip(put(naat_unp, stat.)) ^='NEG')
and stdy2 < 15 then do;
if (vax101dt ^=. and vax102dt ^=. and naat_unp_dt ^=. and
vax101dt <=naat_unp_dt < sum(vax102dt, 14)) or naat_unp_dt=. or vunprfl='Y' then do;
if grp=1 then
pdp214fl_='N';
if grp=2 then
cdp214fl_='N'; end; end;
FDA-CBER-2022-5812-0071716
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM] if strip(put(naat_unp, stat.))='POS' and vunprfl='Y' then
do;
if . < naat_unp_dt < vax101dt then
do; pdp1fl_='N'; end;
if vax101dt ^=. and vax101dt <=naat_unp_dt < sum(vax101dt, 7) then
do; pdp17fl_='N'; pdp27fl_='N'; cdp17fl_='N'; cdp27fl_='N'; end;
if vax101dt ^=. and vax102dt ^=. and vax101dt <=naat_unp_dt < sum(vax102dt,
7) then do; pdp27fl_='N'; cdp27fl_='N'; end;
if vax101dt ^=. and vax102dt ^=. and vax101dt <=naat_unp_dt < sum(vax102dt,
14) then do; pdp214fl_='N'; cdp214fl_='N'; end; end;
if strip(put(stat, stat.)) ^='POS' and
((strip(put(cnt_unp, stat.))='POS') or (strip(put(cnt_unp, stat.))='' and strip(put(lcl_unp, stat.))='POS')) then do;
if strip(put(cnt_unp, stat.))='POS' then
do; tmp_unp=cnt_unp; tmp_unp_dt=cnt_unp_dt; end; else if strip(put(lcl_unp, stat.))='POS' then do; tmp_unp=lcl_unp; tmp_unp_dt=lcl_unp_dt; end;
if . < tmp_unp_dt < vax101dt then
do; pdp1fl_='N'; end;
if vax101dt ^=. and vax101dt <=tmp_unp_dt < sum(vax101dt, 7) then
do;
FDA-CBER-2022-5812-0071717
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM] pdp17fl_='N';
pdp27fl_='N';
cdp17fl_='N'; cdp27fl_='N'; end;
if vax101dt ^=. and vax102dt ^=. and vax101dt <=tmp_unp_dt < sum(vax102dt,
7) then do; pdp27fl_='N'; cdp27fl_='N'; end;
if vax101dt ^=. and vax102dt ^=. and vax101dt <=tmp_unp_dt < sum(vax102dt,
14) then do; pdp214fl_='N'; cdp214fl_='N'; end; end;
if aendt ^=. then
last_vis_end_dt=aendt; output symp4;
if last.usubjid then
output symp_all_flags; format naat_unp_dt last_vis_end_dt pd_fst_pos_dt cd_fst_pos_dt astdt_pd_res_miss aendt_pd_res_miss astdt_cdc_res_miss aendt_cdc_res_miss last_vis_end_dt yymmdd10.; retain c19onst_ cdconst_ pdsymfl_ pdsdmfl_ cdcsymfl_ sevsymfl_ sevcdcfl_ pdrmufl_ pdrmupfl_ cdcrmufl_ cdrmupfl_ filocrfl_pd_ filocrfl_cdc_ filocrfl_sev_ filocrfl_sev_cdc_ pdp1fl_ pdp17fl_ pdp27fl_ pdp214fl_ cdp1fl_ cdp17fl_ cdp27fl_ cdp214fl_ pd_fst_pos_dt cd_fst_pos_dt astdt_pd_res_miss aendt_pd_res_miss astdt_cdc_res_miss aendt_cdc_res_miss last_vis_end_dt;run;
** Join all the flags with results and symptoms data. Generate cutoff dataset. **;data all_flags;
merge nva_naat_flags(in=a) symp_all_flags(in=b); by usubjid;
if a and not b then
mflg=1;
if a and b then
mflg=2;
if not a and b then
mflg=3;
if mflg=1 then
do;
FDA-CBER-2022-5812-0071718
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM] pdsymfl_='N';
pdsdmfl_='N';
cdcsymfl_='N'; sevsymfl_='N'; sevcdcfl_='N'; pdrmufl_='N'; pdrmupfl_='N'; cdcrmufl_='N'; cdrmupfl_='N'; pdp1fl_=pdp17fl_; pdp214fl_=pdp27fl_; cdp1fl_=pdp17fl_; cdp17fl_=pdp17fl_; cdp27fl_=pdp27fl_; cdp214fl_=pdp27fl_; end;
if mflg=3 then
do; vrblngfl='N'; crd1ngfl='N'; crd2ngfl='N'; end; rename c19ilhfl_=c19ilhfl pdsymfl_=pdsymfl pdsdmfl_=pdsdmfl cdcsymfl_=cdcsymfl sevsymfl_=sevsymfl sevcdcfl_=sevcdcfl pdrmufl_=pdrmufl pdrmupfl_=pdrmupfl cdcrmufl_=cdcrmufl cdrmupfl_=cdrmupfl pdp1fl_=pdp1fl pdp17fl_=pdp17fl pdp27fl_=pdp27fl pdp214fl_=pdp214fl cdp1fl_=cdp1fl cdp17fl_=cdp17fl cdp27fl_=cdp27fl cdp214fl_=cdp214fl;run;
data death_all_flags;
merge death(in=a drop=astdt stat srtdt) all_flags(in=b drop=mflg); by usubjid;
if a;
dthdt=adt; avisitn=.; avisit=''; grp=.;run;
proc sort data=death_all_flags;
by usubjid vax101dt vax102dt avisitn avisit grp;run;
proc sql;
** Merge flags with NVA, NAAT results. **; create table nva_naat5 as select * from (select recseq, usubjid, vax101dt, vax102dt, visitnum, visit, avisitn, avisit, paramn, paramcd, param, parcat1, aval, avalc, grp, adt, stat, dthdt, unblnddt from nva_naat1) left join (select cncrslfl from nva_naat4 as b where keepflg=1) on strip(recseq)=strip(b.recseq);
create table nva_naat6 as select * from nva_naat5 left join
FDA-CBER-2022-5812-0071719
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM] (select vrblngfl, crd1ngfl, crd2ngfl, c19ilhfl, pdsymfl, pdsdmfl,
cdcsymfl, sevsymfl, sevcdcfl, pdrmufl, pdrmupfl, cdcrmufl, cdrmupfl, pdp1fl,
pdp17fl, pdp27fl, pdp214fl, cdp1fl, cdp17fl, cdp27fl, cdp214fl from all_flags as b) on usubjid=b.usubjid order by usubjid, vax101dt, vax102dt, avisitn, avisit, grp; ** Merge flags with symptoms data. **; create table symp5(drop=pdp17fl_tmp pdp27fl_tmp c19onst_ pdsymfl_ pdsdmfl_ cdcsymfl_ sevsymfl_ sevcdcfl_ pdrmufl_ pdrmupfl_ cdcrmufl_ cdrmupfl_ pdp1fl_ pdp17fl_ pdp27fl_ pdp214fl_ cdp1fl_ cdp17fl_ cdp27fl_ cdp214fl_ pd_fst_pos_dt cd_fst_pos_dt) as select * from symp4 left join (select pdsymfl, pdsdmfl, cdcsymfl, sevsymfl, sevcdcfl, pdrmufl, pdrmupfl, cdcrmufl, cdrmupfl, pdp1fl, pdp17fl, pdp27fl, pdp214fl, cdp1fl, cdp17fl, cdp27fl, cdp214fl from all_flags as b) on usubjid=b.usubjid order by usubjid, vax101dt, vax102dt, avisitn, avisit, grp, astdt; create table cutoff as select usubjid, grp, stat, astdt from symp5 where grp=1 and stat=4 and pdp27fl='Y' and c19onst=4 and ild27fl_pd='Y' and filocrfl_pd='Y' order by astdt, usubjid;quit;
** Combine all data together and generate PARAMN, PARAMCD and PARAM variables. **;data adc19ef_1;
set nva_naat6 symp5(drop=nva nva_dt cnt_1 cnt_1dt cnt_2 cnt_2dt cnt_unp cnt_unp_dt c_vldrslfl lcl_unp lcl_unp_dt l_vldrslfl) death_all_flags; by usubjid vax101dt vax102dt avisitn avisit grp;
if dthdt ^=. then
dthfl='Y';
if paramn in (95, 96) then
output;
if grp=1 then
do; paramn=101; paramcd='PRPDSAD'; param='PRESENCE OF PROTOCOL DEFINED SYMPTOMS AFTER DOSE'; end;
if grp=2 then
do; paramn=102; paramcd='PRCDCSAD'; param='PRESENCE OF CDC DEFINED SYMPTOMS AFTER DOSE'; end;
if grp=3 then
do; paramn=103; paramcd='SEVCVS'; param='SEVERE COVID-19 SYMPTOMS - VITAL SIGNS'; parcat1='GENERAL VITAL SIGNS & OXYGENATION PARAMETERS'; adt=astdt;
astdt=.;
FDA-CBER-2022-5812-0071720
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM] aendt=.;
end;
if grp=4 then
do; paramn=104; paramcd='SEVCRF'; param='SEVERE COVID-19 SYMPTOMS - RESPIRATORY FAILURE'; end;
if grp=5 then
do; paramn=105; paramcd='SEVCVSPR'; param='SEVERE COVID-19 SYMPTOMS - USE OF VASOPRESSORS'; end;
if grp=6 then
do; paramn=106; paramcd='SEVCRHN'; param='SEVERE COVID-19 SYMPTOMS - SIGNIFICANT ACUTE RENAL, HEPATIC, OR NEUROLOGIC DYSFUNCTION'; end;
if grp=7 then
do; paramn=91; paramcd='HCUICU'; param='SUBJECT IN ICU DUE TO POTENTIAL COVID-19 ILLNESS'; parcat1='HOSPITALIZATION STATUS'; end;
if grp=10 then
do; paramn=100; paramcd='DTHODC19'; param='DEATH OCCURRED DUE TO COVID-19 ILLNESS?'; parcat1='DEATH STATUS'; adt=astdt; astdt=.; aendt=.;
if avisit in ('V1_DAY1_VAX1_L', 'V2_VAX2_L') then
do; avisitn=.; avisit=''; end; end;
if grp=11 then
do; paramn=92;
paramcd='HCUHSP';
FDA-CBER-2022-5812-0071721
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM] param='HOSPITALIZED DUE TO COVID-19 ILLNESS?';
parcat1='HOSPITALIZATION STATUS';
end;
if grp=20.1 then
do; paramn=107; paramcd='PRSVCSAD'; param='PRESENCE OF PROTOCOL DEFINED SEVERE COVID-19 SYMPTOMS AFTER DOSE'; parcat1='SEVERE COVID-19 SYMPTOMS';
if dthdt ^=. then
aendt=dthdt;
if avisit in ('V1_DAY1_VAX1_L', 'V2_VAX2_L') then
do; avisitn=.; avisit=''; end; end;
if grp=20.2 then
do; paramn=108; paramcd='PRSCDCAD'; param='PRESENCE OF CDC DEFINED SEVERE COVID-19 SYMPTOMS AFTER DOSE'; parcat1='SEVERE COVID-19 SYMPTOMS';
if dthdt ^=. then
aendt=dthdt;
if avisit in ('V1_DAY1_VAX1_L', 'V2_VAX2_L') then
do; avisitn=.; avisit=''; end; end;
if 1 <=grp < 21 then
do;
if stat=0 then
avalc='';
if stat=2 then
avalc='N';
if stat=4 then
avalc='Y'; end;
if grp in (1, 2, 3, 4, 5, 6, 7, 10, 11, 20.1, 20.2, 21, 22, 23) then
output;
FDA-CBER-2022-5812-0071722
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM] if grp=1 then
do;
paramn=120; paramcd='C19ONST'; param='PROTOCOL DEFINED COVID-19 ILLNESS ONSET'; parcat1='ILLNESS ONSET'; adt=astdt; astdt=.; aendt=.; stat=c19onst; avalc=strip(put(c19onst, stat.)); ild1fl=ild1fl_pd; ild17fl=ild17fl_pd; ild2fl=ild2fl_pd; ild27fl=ild27fl_pd; ild214fl=ild214fl_pd; filocrfl=filocrfl_pd; output; end;
if grp=2 then
do; paramn=125; paramcd='CDCONST'; param='CDC DEFINED COVID-19 ILLNESS ONSET'; parcat1='ILLNESS ONSET'; adt=astdt; astdt=.; aendt=.; stat=cdconst; avalc=strip(put(cdconst, stat.)); ild1fl=ild1fl_cdc; ild17fl=ild17fl_cdc; ild2fl=ild2fl_cdc; ild27fl=ild27fl_cdc; ild214fl=ild214fl_cdc; filocrfl=filocrfl_cdc; output; end;
if grp=20.1 then
do; paramn=130; paramcd='SEVCONST'; param='PROTOCOL DEFINED SEVERE COVID-19 ILLNESS ONSET'; parcat1='ILLNESS ONSET'; adt=astdt; astdt=.; aendt=.; stat=sevconst; avalc=strip(put(sevconst, stat.)); ild1fl=ild1fl_sev; ild17fl=ild17fl_sev;
ild2fl=ild2fl_sev;
FDA-CBER-2022-5812-0071723
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM] ild27fl=ild27fl_sev;
ild214fl=ild214fl_sev;
filocrfl=filocrfl_sev;
if avisit in ('V1_DAY1_VAX1_L', 'V2_VAX2_L') then
do; avisitn=.; avisit=''; end; output; end;
if grp=20.2 then
do; paramn=135; paramcd='CDCSONST'; param='CDC DEFINED SEVERE COVID-19 ILLNESS ONSET'; parcat1='ILLNESS ONSET'; adt=astdt; astdt=.; aendt=.; stat=cdcsonst; avalc=strip(put(cdcsonst, stat.)); ild1fl=ild1fl_sev_cdc; ild17fl=ild17fl_sev_cdc; ild2fl=ild2fl_sev_cdc; ild27fl=ild27fl_sev_cdc; ild214fl=ild214fl_sev_cdc; filocrfl=filocrfl_sev_cdc;
if avisit in ('V1_DAY1_VAX1_L', 'V2_VAX2_L') then
do; avisitn=.; avisit=''; end; output; end;
if first.avisitn and strip(avisit) not in ('V1_DAY1_VAX1_L', 'V2_VAX2_L')
and (grp in (1, 2) or naat_rslt_flg=1) then do; paramn=110; paramcd='NAATRAD'; param='COVID-19 NAAT RESULT AFTER DOSE'; parcat1='CENTRAL/LOCAL NAAT RESULTS'; adt=naat_unp_dt; astdt=.; aendt=.; grp=.; avalc=strip(put(naat_unp, stat.));
if visitnum ^=visitnum_ and visit ^=visit_ and visitnum_ ^=. and visit_ ^=''
then
do;
FDA-CBER-2022-5812-0071724
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM] visitnum=visitnum_;
visit=visit_;
end; output; end;run;
data adc19ef_2;
merge adc19ef_1(in=a drop=dthdt dthfl unblnddt) datvprot.adsl(in=b keep=studyid usubjid siteid subjid brthdt agegr1n agegr1 sex race ethnic armcd arm actarmcd actarm randdt trtsdt trtedt vax101dt vax102dt dvstdt dthdt eotdcdt eotdcrs eosdcdt eosdcrs compldt randfl evaleffl ev14effl aai1effl aai2effl dthfl phasen phase unblnddt); by usubjid; dcodt=input("&data_cutoff_date", yymmdd10.);
if a and not b then
mflg=1;
if a and b then
mflg=2;
if not a and b then
mflg=3;
if mflg=3 then
do; vrblngfl='U'; crd1ngfl='U'; crd2ngfl='U'; pdsymfl='N'; pdsdmfl='N'; cdcsymfl='N'; sevsymfl='N'; sevcdcfl='N'; pdrmufl='N'; pdrmupfl='N'; cdcrmufl='N'; cdrmupfl='N'; pdp1fl='N'; pdp17fl='N'; pdp27fl='N'; pdp214fl='N'; cdp1fl='N'; cdp17fl='N'; cdp27fl='N'; cdp214fl='N'; end;
if vrblngfl='U' then
vrblngfl='';
if crd1ngfl='U' then
crd1ngfl='';
FDA-CBER-2022-5812-0071725
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM] if crd2ngfl='U' then
crd2ngfl='';
if phasen=1 then
delete; *dvstdt = .; format dcodt yymmdd10.;run;
** Derive surveillance time. **;%macro survltime(paramn=, paramcd=, astdt=, pnt=, aendt=, pop=, param=);
aval=0; astdt=.; aendt=.; paramn=¶mn; paramcd="¶mcd"; param="¶m"; *if index(param,'CROSSOVER') then srvlendt = min(srvlendt,unblnddt); if &astdt ^=. then do; astdt=sum(&astdt, &pnt); if "&pop"="AAI" then do; aendt=min(srvlendt, &aendt); end; else do; aendt=min(srvlendt, &aendt, dvstdt); end; if nmiss(astdt, aendt)=0 then aval=(aendt - astdt) + 1; output; end;%mend survltime;
data adc19ef_3;
set adc19ef_2; by usubjid;
if paramcd ^='' then
output;
if first.usubjid then
do; pd_srvlendt=.; cdc_srvlendt=.; sev_srvlendt=.; sev_cdc_srvlendt=.; end;
if strip(paramcd)='C19ONST' and filocrfl='Y' then
pd_srvlendt=adt;
if strip(paramcd)='CDCONST' and filocrfl='Y' then
cdc_srvlendt=adt;
FDA-CBER-2022-5812-0071726
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM] if strip(paramcd)='SEVCONST' and filocrfl='Y' then
sev_srvlendt=adt;
if strip(paramcd)='CDCSONST' and filocrfl='Y' then
sev_cdc_srvlendt=adt;
if eosdcdt ^=. and eosdcrs ^='' then
withdraw_dt=eosdcdt;
if nmiss(dcodt, withdraw_dt, dthdt, unblnddt, compldt) <=4 then
srvlendt=min(dcodt, withdraw_dt, dthdt, unblnddt, compldt); else srvlendt=.;
if last.usubjid then
do; cncrslfl=''; avalc=''; visitnum=.; visit=''; avisitn=.; avisit=''; adt=.; parcat1='SURVEILLANCE TIME'; %survltime(paramn=141, paramcd=%str(ST1PD), astdt=%str(vax101dt), pnt=0, aendt=%str(pd_srvlendt), pop=%str(), param=%bquote(SUBJECT'S SURVEILLANCE TIME AFTER DOSE 1 FOR PROTOCOL DEFINED COVID19 SYMPTOMS)); %survltime(paramn=142, paramcd=%str(ST17PD), astdt=%str(vax101dt), pnt=7, aendt=%str(pd_srvlendt), pop=%str(), param=%bquote(SUBJECT'S SURVEILLANCE TIME 7 DAYS AFTER DOSE 1 FOR PROTOCOL DEFINED COVID19 SYMPTOMS)); %survltime(paramn=143, paramcd=%str(ST2PD), astdt=%str(vax102dt), pnt=0, aendt=%str(pd_srvlendt), pop=%str(), param=%bquote(SUBJECT'S SURVEILLANCE TIME AFTER DOSE 2 FOR PROTOCOL DEFINED COVID19 SYMPTOMS)); %survltime(paramn=144, paramcd=%str(ST27PD), astdt=%str(vax102dt), pnt=7, aendt=%str(pd_srvlendt), pop=%str(), param=%bquote(SUBJECT'S SURVEILLANCE TIME 7 DAYS AFTER DOSE 2 FOR PROTOCOL DEFINED COVID19 SYMPTOMS)); %survltime(paramn=145, paramcd=%str(ST214PD), astdt=%str(vax102dt), pnt=14, aendt=%str(pd_srvlendt), pop=%str(), param=%bquote(SUBJECT'S SURVEILLANCE TIME 14 DAYS AFTER DOSE 2 FOR PROTOCOL DEFINED COVID19 SYMPTOMS)); %survltime(paramn=151, paramcd=%str(ST1CD), astdt=%str(vax101dt), pnt=0, aendt=%str(cdc_srvlendt), pop=%str(), param=%bquote(SUBJECT'S SURVEILLANCE TIME AFTER DOSE 1 FOR CDC DEFINED COVID19 SYMPTOMS)); %survltime(paramn=152, paramcd=%str(ST17CD), astdt=%str(vax101dt), pnt=7, aendt=%str(cdc_srvlendt), pop=%str(), param=%bquote(SUBJECT'S SURVEILLANCE TIME 7 DAYS AFTER DOSE 1 FOR CDC DEFINED COVID19 SYMPTOMS)); %survltime(paramn=153, paramcd=%str(ST2CD), astdt=%str(vax102dt), pnt=0, aendt=%str(cdc_srvlendt), pop=%str(), param=%bquote(SUBJECT'S SURVEILLANCE TIME AFTER DOSE 2 FOR CDC DEFINED COVID19 SYMPTOMS)); %survltime(paramn=154, paramcd=%str(ST27CD), astdt=%str(vax102dt), pnt=7, aendt=%str(cdc_srvlendt), pop=%str(), param=%bquote(SUBJECT'S SURVEILLANCE TIME 7 DAYS AFTER DOSE 2 FOR CDC DEFINED COVID19 SYMPTOMS)); %survltime(paramn=155, paramcd=%str(ST214CD), astdt=%str(vax102dt), pnt=14, aendt=%str(cdc_srvlendt), pop=%str(), param=%bquote(SUBJECT'S SURVEILLANCE TIME 14 DAYS
AFTER DOSE 2 FOR CDC DEFINED COVID19 SYMPTOMS));
FDA-CBER-2022-5812-0071727
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM] %survltime(paramn=161, paramcd=%str(ST1SE), astdt=%str(vax101dt), pnt=0,
aendt=%str(sev_srvlendt), pop=%str(), param=%bquote(SUBJECT'S SURVEILLANCE TIME AFTER
DOSE 1 FOR PROTOCOL DEFINED SEVERE COVID19 SYMPTOMS)); %survltime(paramn=162, paramcd=%str(ST17SE), astdt=%str(vax101dt), pnt=7, aendt=%str(sev_srvlendt), pop=%str(), param=%bquote(SUBJECT'S SURVEILLANCE TIME 7 DAYS AFTER DOSE 1 FOR PROTOCOL DEFINED SEVERE COVID19 SYMPTOMS)); %survltime(paramn=163, paramcd=%str(ST2SE), astdt=%str(vax102dt), pnt=0, aendt=%str(sev_srvlendt), pop=%str(), param=%bquote(SUBJECT'S SURVEILLANCE TIME AFTER DOSE 2 FOR PROTOCOL DEFINED SEVERE COVID19 SYMPTOMS)); %survltime(paramn=164, paramcd=%str(ST27SE), astdt=%str(vax102dt), pnt=7, aendt=%str(sev_srvlendt), pop=%str(), param=%bquote(SUBJECT'S SURVEILLANCE TIME 7 DAYS AFTER DOSE 2 FOR PROTOCOL DEFINED SEVERE COVID19 SYMPTOMS)); %survltime(paramn=165, paramcd=%str(ST214SE), astdt=%str(vax102dt), pnt=14, aendt=%str(sev_srvlendt), pop=%str(), param=%bquote(SUBJECT'S SURVEILLANCE TIME 14 DAYS AFTER DOSE 2 FOR PROTOCOL DEFINED SEVERE COVID19 SYMPTOMS)); %survltime(paramn=171, paramcd=%str(STC1SE), astdt=%str(vax101dt), pnt=0, aendt=%str(sev_cdc_srvlendt), pop=%str(), param=%bquote(SUBJECT'S SURVEILLANCE TIME AFTER DOSE 1 FOR CDC DEFINED SEVERE COVID19 SYMPTOMS)); %survltime(paramn=172, paramcd=%str(STC17SE), astdt=%str(vax101dt), pnt=7, aendt=%str(sev_cdc_srvlendt), pop=%str(), param=%bquote(SUBJECT'S SURVEILLANCE TIME 7 DAYS AFTER DOSE 1 FOR CDC DEFINED SEVERE COVID19 SYMPTOMS)); %survltime(paramn=173, paramcd=%str(STC2SE), astdt=%str(vax102dt), pnt=0, aendt=%str(sev_cdc_srvlendt), pop=%str(), param=%bquote(SUBJECT'S SURVEILLANCE TIME AFTER DOSE 2 FOR CDC DEFINED SEVERE COVID19 SYMPTOMS)); %survltime(paramn=174, paramcd=%str(STC27SE), astdt=%str(vax102dt), pnt=7, aendt=%str(sev_cdc_srvlendt), pop=%str(), param=%bquote(SUBJECT'S SURVEILLANCE TIME 7 DAYS AFTER DOSE 2 FOR CDC DEFINED SEVERE COVID19 SYMPTOMS)); %survltime(paramn=175, paramcd=%str(STC214SE), astdt=%str(vax102dt), pnt=14, aendt=%str(sev_cdc_srvlendt), pop=%str(), param=%bquote(SUBJECT'S SURVEILLANCE TIME 14 DAYS AFTER DOSE 2 FOR CDC DEFINED SEVERE COVID19 SYMPTOMS)); %survltime(paramn=201, paramcd=%str(ST1PDA), astdt=%str(vax101dt), pnt=0, aendt=%str(pd_srvlendt), pop=%str(AAI), param=%bquote(SUBJECT'S SURVEILLANCE TIME AFTER DOSE 1 FOR PROTOCOL DEFINED COVID19 SYMPTOMS - ALL AVAILABLE)); %survltime(paramn=202, paramcd=%str(ST17PDA), astdt=%str(vax101dt), pnt=7, aendt=%str(pd_srvlendt), pop=%str(AAI), param=%bquote(SUBJECT'S SURVEILLANCE TIME 7 DAYS AFTER DOSE 1 FOR PROTOCOL DEFINED COVID19 SYMPTOMS - ALL AVAILABLE)); %survltime(paramn=203, paramcd=%str(ST2PDA), astdt=%str(vax102dt), pnt=0, aendt=%str(pd_srvlendt), pop=%str(AAI), param=%bquote(SUBJECT'S SURVEILLANCE TIME AFTER DOSE 2 FOR PROTOCOL DEFINED COVID19 SYMPTOMS - ALL AVAILABLE)); %survltime(paramn=204, paramcd=%str(ST27PDA), astdt=%str(vax102dt), pnt=7, aendt=%str(pd_srvlendt), pop=%str(AAI), param=%bquote(SUBJECT'S SURVEILLANCE TIME 7 DAYS AFTER DOSE 2 FOR PROTOCOL DEFINED COVID19 SYMPTOMS - ALL AVAILABLE)); %survltime(paramn=205, paramcd=%str(ST214PDA), astdt=%str(vax102dt), pnt=14, aendt=%str(pd_srvlendt), pop=%str(AAI), param=%bquote(SUBJECT'S SURVEILLANCE TIME 14 DAYS AFTER DOSE 2 FOR PROTOCOL DEFINED COVID19 SYMPTOMS - ALL AVAILABLE)); %survltime(paramn=211, paramcd=%str(ST1CDA), astdt=%str(vax101dt), pnt=0, aendt=%str(cdc_srvlendt), pop=%str(AAI), param=%bquote(SUBJECT'S SURVEILLANCE TIME AFTER DOSE 1 FOR CDC DEFINED COVID19 SYMPTOMS - ALL AVAILABLE)); %survltime(paramn=212, paramcd=%str(ST17CDA), astdt=%str(vax101dt), pnt=7, aendt=%str(cdc_srvlendt), pop=%str(AAI), param=%bquote(SUBJECT'S SURVEILLANCE TIME 7 DAYS AFTER DOSE 1 FOR CDC DEFINED COVID19 SYMPTOMS - ALL AVAILABLE)); %survltime(paramn=213, paramcd=%str(ST2CDA), astdt=%str(vax102dt), pnt=0, aendt=%str(cdc_srvlendt), pop=%str(AAI), param=%bquote(SUBJECT'S SURVEILLANCE TIME AFTER
DOSE 2 FOR CDC DEFINED COVID19 SYMPTOMS - ALL AVAILABLE));
FDA-CBER-2022-5812-0071728
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM] %survltime(paramn=214, paramcd=%str(ST27CDA), astdt=%str(vax102dt), pnt=7,
aendt=%str(cdc_srvlendt), pop=%str(AAI), param=%bquote(SUBJECT'S SURVEILLANCE TIME 7 DAYS
AFTER DOSE 2 FOR CDC DEFINED COVID19 SYMPTOMS - ALL AVAILABLE)); %survltime(paramn=215, paramcd=%str(ST214CDA), astdt=%str(vax102dt), pnt=14, aendt=%str(cdc_srvlendt), pop=%str(AAI), param=%bquote(SUBJECT'S SURVEILLANCE TIME 14 DAYS AFTER DOSE 2 FOR CDC DEFINED COVID19 SYMPTOMS - ALL AVAILABLE)); %survltime(paramn=221, paramcd=%str(ST1SEA), astdt=%str(vax101dt), pnt=0, aendt=%str(sev_srvlendt), pop=%str(AAI), param=%bquote(SUBJECT'S SURVEILLANCE TIME AFTER DOSE 1 FOR PROTOCOL DEFINED SEVERE COVID19 SYMPTOMS - ALL AVAILABLE)); %survltime(paramn=222, paramcd=%str(ST17SEA), astdt=%str(vax101dt), pnt=7, aendt=%str(sev_srvlendt), pop=%str(AAI), param=%bquote(SUBJECT'S SURVEILLANCE TIME 7 DAYS AFTER DOSE 1 FOR PROTOCOL DEFINED SEVERE COVID19 SYMPTOMS - ALL AVAILABLE)); %survltime(paramn=223, paramcd=%str(ST2SEA), astdt=%str(vax102dt), pnt=0, aendt=%str(sev_srvlendt), pop=%str(AAI), param=%bquote(SUBJECT'S SURVEILLANCE TIME AFTER DOSE 2 FOR PROTOCOL DEFINED SEVERE COVID19 SYMPTOMS - ALL AVAILABLE)); %survltime(paramn=224, paramcd=%str(ST27SEA), astdt=%str(vax102dt), pnt=7, aendt=%str(sev_srvlendt), pop=%str(AAI), param=%bquote(SUBJECT'S SURVEILLANCE TIME 7 DAYS AFTER DOSE 2 FOR PROTOCOL DEFINED SEVERE COVID19 SYMPTOMS - ALL AVAILABLE)); %survltime(paramn=225, paramcd=%str(ST214SEA), astdt=%str(vax102dt), pnt=14, aendt=%str(sev_srvlendt), pop=%str(AAI), param=%bquote(SUBJECT'S SURVEILLANCE TIME 14 DAYS AFTER DOSE 2 FOR PROTOCOL DEFINED SEVERE COVID19 SYMPTOMS - ALL AVAILABLE)); %survltime(paramn=231, paramcd=%str(STC1SA), astdt=%str(vax101dt), pnt=0, aendt=%str(sev_cdc_srvlendt), pop=%str(AAI), param=%bquote(SUBJECT'S SURVEILLANCE TIME AFTER DOSE 1 FOR CDC DEFINED SEVERE COVID19 SYMPTOMS - ALL AVAILABLE)); %survltime(paramn=232, paramcd=%str(STC17SA), astdt=%str(vax101dt), pnt=7, aendt=%str(sev_cdc_srvlendt), pop=%str(AAI), param=%bquote(SUBJECT'S SURVEILLANCE TIME 7 DAYS AFTER DOSE 1 FOR CDC DEFINED SEVERE COVID19 SYMPTOMS - ALL AVAILABLE)); %survltime(paramn=233, paramcd=%str(STC2SA), astdt=%str(vax102dt), pnt=0, aendt=%str(sev_cdc_srvlendt), pop=%str(AAI), param=%bquote(SUBJECT'S SURVEILLANCE TIME AFTER DOSE 2 FOR CDC DEFINED SEVERE COVID19 SYMPTOMS - ALL AVAILABLE)); %survltime(paramn=234, paramcd=%str(STC27SA), astdt=%str(vax102dt), pnt=7, aendt=%str(sev_cdc_srvlendt), pop=%str(AAI), param=%bquote(SUBJECT'S SURVEILLANCE TIME 7 DAYS AFTER DOSE 2 FOR CDC DEFINED SEVERE COVID19 SYMPTOMS - ALL AVAILABLE)); %survltime(paramn=235, paramcd=%str(STC214SA), astdt=%str(vax102dt), pnt=14, aendt=%str(sev_cdc_srvlendt), pop=%str(AAI), param=%bquote(SUBJECT'S SURVEILLANCE TIME 14 DAYS AFTER DOSE 2 FOR CDC DEFINED SEVERE COVID19 SYMPTOMS - ALL AVAILABLE)); %survltime(paramn=301, paramcd=%str(ST1PDX), astdt=%str(vax101dt), pnt=0, aendt=%str(pd_srvlendt), pop=%str(AAI), param=%bquote(SUBJECT'S SURVEILLANCE TIME AFTER DOSE 1 FOR PROTOCOL DEFINED COVID19 SYMPTOMS - CROSSOVER)); %survltime(paramn=331, paramcd=%str(STC1SX), astdt=%str(vax101dt), pnt=0, aendt=%str(sev_cdc_srvlendt), pop=%str(AAI), param=%bquote(SUBJECT'S SURVEILLANCE TIME AFTER DOSE 1 FOR CDC DEFINED SEVERE COVID19 SYMPTOMS - CROSSOVER)); end; format dcodt date9. srvlendt pd_srvlendt cdc_srvlendt sev_srvlendt sev_cdc_srvlendt yymmdd10.; retain pd_srvlendt cdc_srvlendt sev_srvlendt sev_cdc_srvlendt;run;
data adc19ef_4;
set adc19ef_3; by usubjid;
if paramn > 140 and aval <=-1 then
aval=0;
FDA-CBER-2022-5812-0071729
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM] if strip(avalc)='.' then
avalc=''; nmpdocfl='';
if strip(paramcd) in ('C19ONST', 'CDCONST', 'SEVCONST', 'CDCSONST') then
do;
if dvstdt=. then
nmpdocfl='Y';
if . < adt < dvstdt then
nmpdocfl='Y'; end; else call missing(ild1fl, ild17fl, ild2fl, ild27fl, ild214fl, filocrfl); call missing(ady, astdy, aendy);
if trtsdt ^=. then
do;
if adt ^=. then
do; ady=adt - trtsdt;
if adt >=trtsdt then
ady=ady + 1; end;
if astdt ^=. then
do; astdy=astdt - trtsdt;
if astdt >=trtsdt then
astdy=astdy + 1; end;
if aendt ^=. then
do; aendy=aendt - trtsdt;
if aendt >=trtsdt then
aendy=aendy + 1; end; end;run;
/***Update to keep only subject 12-15 years old ***/
proc sql; create table adc19ef_4_ped as select a.* from adc19ef_4 as a inner join datvprot.adsl as b on a.usubjid=b.usubjid and 12 <=b.agetr01 <=15 order by usubjid;quit;
FDA-CBER-2022-5812-0071730
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM]data adc19ef;
retain studyid usubjid siteid subjid brthdt agegr1n agegr1 sex race ethnic
armcd arm actarmcd actarm paramn paramcd param parcat1 aval avalc visitnum visit avisitn avisit adt ady astdt astdy aendt aendy dcodt randdt trtsdt trtedt vax101dt vax102dt dvstdt unblnddt dthdt eotdcdt eosdcdt randfl evaleffl ev14effl aai1effl aai2effl dthfl c19ilhfl cncrslfl vrblngfl crd1ngfl crd2ngfl pdsymfl pdsdmfl cdcsymfl sevsymfl sevcdcfl ild1fl ild17fl ild2fl ild27fl ild214fl filocrfl pdrmufl pdrmupfl cdcrmufl cdrmupfl pdp1fl pdp17fl pdp27fl pdp214fl cdp1fl cdp17fl cdp27fl cdp214fl nmpdocfl; set adc19ef_4_ped; by usubjid; keep studyid usubjid siteid subjid brthdt agegr1n agegr1 sex race ethnic armcd arm actarmcd actarm paramn paramcd param parcat1 aval avalc visitnum visit avisitn avisit adt ady astdt astdy aendt aendy dcodt randdt trtsdt trtedt vax101dt vax102dt dvstdt unblnddt dthdt eotdcdt eosdcdt randfl evaleffl ev14effl aai1effl aai2effl dthfl c19ilhfl cncrslfl vrblngfl crd1ngfl crd2ngfl pdsymfl pdsdmfl cdcsymfl sevsymfl sevcdcfl ild1fl ild17fl ild2fl ild27fl ild214fl filocrfl pdrmufl pdrmupfl cdcrmufl cdrmupfl pdp1fl pdp17fl pdp27fl pdp214fl cdp1fl cdp17fl cdp27fl cdp214fl nmpdocfl; label dcodt='Data Cutoff Date' dthdt='Date of Death' aval='Analysis Value' avalc='Analysis Value (C)' adt='Analysis Date' ady='Analysis Relative Day' astdt='Analysis Start Date' astdy='Analysis Start Relative Day' aendt='Analysis End Date' aendy='Analysis End Relative Day' cncrslfl='Consider Result for Analysis Flag' vrblngfl='NVA Baseline Result Negative Flag' crd1ngfl='NAAT Result At Dose 1 Negative Flag' crd2ngfl='NAAT Result At Dose 2 Negative Flag' pdsymfl='Protocol Defined SYMP Present Flag' pdsdmfl='Protocol Defined SYMP Date Missing Flag' cdcsymfl='CDC Defined SYMP Present Flag' sevsymfl='Severe Covid PD SYMP Present Flag' sevcdcfl='Severe Covid CDC SYMP Present Flag' ild1fl='Illness Occur After Dose 1 Flag' ild17fl='Illness Occur 7 Days After Dose 1 Flag' ild2fl='Illness Occur After Dose 2 Flag' ild27fl='Illness Occur 7 Days After Dose 2 Flag' ild214fl='Illness Occur 14 Days After Dose 2 Flag' filocrfl='First Illness Occurrence Flag' pdrmufl='PD SYMP Result Missing or Unknown Flag' pdrmupfl='PD SYMP Rslt Miss/UNK With POS Rslt Flag' cdcrmufl='CDC SYMP Result Missing or Unknown Flag' cdrmupfl='CD SYMP Rslt Miss/UNK With POS Rslt Flag' pdp1fl='VE Prot Def Pop Incl Post D1 Flag' pdp17fl='VE Prot Def Pop Incl 7D Post D1 Flag' pdp27fl='VE Prot Def Pop Incl 7D Post D2 Flag' pdp214fl='VE Prot Def Pop Incl 14D Post D2 Flag' cdP1fl='VE CDC Def Pop Incl Post Dose 1 Flag' cdP17fl='VE CDC Def Pop Incl 7D Post Dose 1 Flag' cdp27fl='VE CDC Def Pop Incl 7D Post Dose 2 Flag' cdp214fl='VE CDC Def Pop Incl 14D Post Dose 2 Flag' nmpdocfl='No Major Protocol Deviation Occur Flag'; format adt astdt aendt dcodt dthdt vax101dt vax102dt date9.;run;
FDA-CBER-2022-5812-0071731
file:///J/...%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adc19ef-sas.txt[7/5/2023 10:22:58 AM]proc sort data=adc19ef out=datvout.adc19ef(label="Covid-19 Efficacy Analysis Dataset");
by studyid usubjid descending avisitn paramn adt astdt;
run;
proc printto;
run;
FDA-CBER-2022-5812-0071732