125742 45 S211 M5 c4591001 A 6mth P adds sas

Pfizer Documents (PHMPT/FDA)

Pfizer Bla Submission

Pfizer 12 15 Documents

7

Document text

file:///J/...5-0%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adds-sas.txt[7/5/2023 10:22:49 AM]***********************************************************************************************;
**  Program Name    : adds.sas                                                               **;**  Date Created    : 17Nov2021                                                              **;**  Programmer Name :                                                                  **;**  Purpose         : Create adds dataset                                                    **;**  Input data      : ds suppds sv adsl                                                      **;**  Output data     : adds.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/analysis/eSUB;
libname dataprot "&oprot." access=readonly;
libname datvprot "&protori./data_vai" access=readonly;libname datvout "&prot./data_vai";
proc printto print="&prot./output/adds.rpt" 
        log="&prot./logs/adds.log" new;run;******************************************************************************************;* Clean *;******************************************************************************************;
proc delete data=work._all_;
run;
******************************************************************************************;
* Format *;******************************************************************************************;
proc format;
    invalue epoch "SCREENING"=1 "OPEN LABEL TREATMENT"=7 "SUBSTUDY"=24         "VACCINATION"=26 "FOLLOW-UP"=31 "REPEAT SCREENING 1"=101         "REPEAT SCREENING 2"=102;    invalue dsdecod "COMPLETED"=2 "SCREEN FAILURE"=13 "ADVERSE EVENT"=1 "DEATH"=3         "LOST TO FOLLOW-UP"=5 "OTHER"=7 "PHYSICIAN DECISION"=8 "PREGNANCY"=9         "PROTOCOL DEVIATION"=11 "STUDY TERMINATED BY SPONSOR"=14         "WITHDRAWAL BY SUBJECT"=16         "MEDICATION ERROR WITHOUT ASSOCIATED ADVERSE EVENT"=17         "NO LONGER MEETS ELIGIBILITY CRITERIA"=18         "REFUSED FURTHER STUDY PROCEDURES"=25 "WITHDRAWAL BY PARENT/GUARDIAN"=26;run;
******************************************************************************************;
* Process *;******************************************************************************************;
/* Readin SDTM and merge DS with SUPPDS */
(b) (4), (b) 
(6)
FDA-CBER-2022-5812-0072373
file:///J/...5-0%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adds-sas.txt[7/5/2023 10:22:49 AM]data ds;
    set dataprot.ds;
    if upcase(dscat)='DISPOSITION EVENT';
run;
data suppds;
    set dataprot.suppds;    where idvar="DSSEQ";run;
proc sort data=suppds;
    by studyid usubjid idvar idvarval;run;
proc transpose data=suppds out=suppds_h;
    by studyid usubjid idvar idvarval;    id qnam;    idlabel qlabel;    var qval;run;
data suppds_h (drop=idvar idvarval _NAME_ _LABEL_);
    set suppds_h;    DSSEQ=input(idvarval, best12.);run;
proc sort data=ds out=_ds1;
    by STUDYID USUBJID DSSEQ;run;
proc sort data=suppds_h out=_ds2;
    by STUDYID USUBJID DSSEQ;run;
data _spmdel_sdtm_temp_out1;
    merge _ds1(in=d1) _ds2(in=d2);    by STUDYID USUBJID DSSEQ;
    if d1;
run;
/* Derive ASTDT ASTTM */
data _ds1;    set _spmdel_sdtm_temp_out1;    ASTDT=input(DSSTDTC, ??is8601da.);    format ASTDT date9.;run;
/* Merge DS with ADSL */
proc sort data=_ds1;    by USUBJID;run;
FDA-CBER-2022-5812-0072374
file:///J/...5-0%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adds-sas.txt[7/5/2023 10:22:49 AM]proc sort data=datvprot.adsl out=_ds2;
    by USUBJID;
run;
data _ds3;
    merge _ds1(in=d1) _ds2(in=d2 keep=Usubjid SUBJID SITEID AGE AGEU SEX SEXN RACE         RACEN ARACE ARACEN RANDFL SAFFL ARM ARMCD ACTARM ACTARMCD TRTSDT TRTSTM         TRTSDTM TRTEDT TRTETM TRTEDTM TRTSEQP TRTSEQA AGEGR1 AGEGR1N COHORT COHORTN         DOSALVL DOSALVLN DOSPLVL DOSPLVLN VAX101DT VAX102DT VAX10UDT VAX201DT         VAX202DT VAX20UDT UNBLNDDT VAX101 VAX102 VAX10U VAX201 VAX202 VAX20U TRT01A         TRT01AN TRT02A TRT02AN TRT01P TRT01PN TRT02P TRT02PN TR01SDT TR01STM TR01SDTM         TR01EDT TR01ETM TR01EDTM TR02SDT TR02STM TR02SDTM TR02EDT TR02ETM TR02EDTM         PHASE PHASEN EOSDCDT EOTDCDT BLDV6DT BLDV7DT AGEGR4 AGEGR4N PEDIMMFL PEDREAFL         HIVFL DS3KFL EOTXDCDT EOTXDCRS BDCSRDT X1CSRDT STCSRDT AGETR01 AGETRU01         EOTDCDT TR01SDT TR01STM TR01SDTM TR01EDT TR01ETM TR01EDTM TR02SDT TR02STM         TR02SDTM TR02EDT TR02ETM TR02EDTM);    by USUBJID;    if d1;    if agegr4n=1;run;
data adds;
    length dsdecodn 8 dsphasen 8;    set _ds3;
    /* Imupte ADT */
    if ^missing(DSDTC) then        do;            length yr $4 mm dd $2;            yr=substr(DSDTC, 1, 4);            mm=substr(DSDTC, 6, 2);            dd=substr(DSDTC, 9, 2);            ;
            if yr ne ' ' then
                do;                    dflag=' ';
                    if (dd eq "  " or dd eq "-T") and mm ne " " then
                        do;                            dd='01';                            ;                        end;
                    if mm eq "  " or mm eq "--" then
                        do;                            mm='01';                            dd='01';                            ;                        end;                    newdate=(trim(left(yr))||'-'||trim(left(mm))||'-'||trim(left(dd)));                    ADT=input(newdate, ??is8601da.);
                    format ADT date9.;
FDA-CBER-2022-5812-0072375
file:///J/...5-0%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adds-sas.txt[7/5/2023 10:22:49 AM]                end;
            drop yr mm dd dflag newdate;
        end;
    /*  Create dsphasen and dsdecodn */
    dsphasen=input(dsphase, epoch.);    dsdecodn=input(dsdecod, ?? dsdecod.);run;
*****************************************************************************************;
* Date Imputation Rules. *;*****************************************************************************************;
/* Create M1PD2DT */
data sv1;    set dataprot.sv;    where visit in ("V3_MONTH1_POSTVAX2_L" "V7_MONTH1_S" "V404_MONTH1_POSTVAX2");    M1PD2DT=input(svstdtc, yymmdd10.);    format M1PD2DT date9.;    keep usubjid M1PD2DT;run;
/* Create M6PD2DT */
data sv2;    set dataprot.sv;    where visit in ("V4_MONTH6_L" "V8_MONTH6_S");    M6PD2DT=input(svstdtc, yymmdd10.);    format M6PD2DT date9.;    keep usubjid M6PD2DT;run;
data sv3;
    set dataprot.sv;    where visit in ("V103_MONTH1");    M1PX2DT=input(svstdtc, yymmdd10.);    format M1PX2DT date9.;    keep usubjid M1PX2DT;run;
data sv4;
    set dataprot.sv;    where visit in ("V7_MONTH1_S_R");    _M1PD2DT=input(svstdtc, yymmdd10.);    format _M1PD2DT date9.;    keep usubjid _M1PD2DT;run;
proc sql undo_policy=none;
    create table adds as select a.*, b.M1PD2DT, c.M6PD2DT, d.M1PX2DT, e._M1PD2DT         from adds a left join sv1 b on a.usubjid=b.usubjid left join sv2 c on         a.usubjid=c.usubjid left join sv3 d on a.usubjid=d.usubjid left join sv4 e on         a.usubjid=e.usubjid;quit;
FDA-CBER-2022-5812-0072376
file:///J/...5-0%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adds-sas.txt[7/5/2023 10:22:49 AM]data Adds;
    set adds;
    if cohortn=1.16 then
        M1PD2DT=_M1PD2DT;
    if missing(M1PD2DT) and BLDV6DT ne . then
        M1PD2DT=BLDV6DT;
    if missing(M6PD2DT) and BLDV7DT ne . then
        M6PD2DT=BLDV7DT;    drop _M1PD2DT;    label M1PD2DT="1 Month Post Dose 2 Visit Date"         M6PD2DT="6 Months Post Dose 2 Visit Date"         M1PX2DT="1 Month Post Dose 4 Visit Date";run;
data adds;
    set adds;    attrib M1P2CUT label='1 Month PD2 Cutoff Date for Disposition'         format=date9. M1P2EXC label='Excluded from 1 Month Post Dose 2';    M1P2CUT=coalesce(BLDV6DT, M1PD2DT);
    if M1PD2DT>BLDV6DT>. then
        M1P2CUT=M1PD2DT;
    if missing(M1P2CUT) then
        do;
            if eosdcdt=eotdcdt>. then
                M1P2CUT=eosdcdt;            else if vax10udt>vax102dt>. then                M1P2CUT=vax10udt+42;            else if vax102dt ne . then                M1P2CUT=vax102dt+42;            else if vax10udt>vax101dt>. and vax102dt=. then                M1P2CUT=vax10udt+42;            else if vax102dt=. and vax101dt ne . then                M1P2CUT=vax101dt+42+42;
            if M1P2CUT>=vax201dt>. then
                M1P2CUT=vax201dt-1;        end;
    if dsphase="OPEN LABEL TREATMENT" then
        M1P2EXC='Y';    else if dsphase in ("FOLLOW-UP" "SUBSTUDY") then        do;
            if ASTDT>M1P2CUT>. then
                M1P2EXC='Y';
            if eosdcdt>eotdcdt and eosdcdt>M1P2CUT>. then
                M1P2EXC='Y';
FDA-CBER-2022-5812-0072377
file:///J/...5-0%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adds-sas.txt[7/5/2023 10:22:49 AM]        end;
run;
/* Calculate the study day */
data adds;    set adds;
    If ^Missing(AstDt) and ^Missing(TrtSdt) then
        do;
            If AstDt lt TrtSdt then
                AstDy=AstDt - TrtSdt;            Else If AstDt ge TrtSdt then                AstDy=AstDt - TrtSdt + 1;        end;    ;    orig_dsdecod=dsdecod;run;
data final;
    retain STUDYID USUBJID SUBJID SITEID ADT ASTDT ASTDY DSPHASE DSPHASEN DSCAT         DSDECOD DSDECODN DSTERM DSPHASE M1PD2DT M6PD2DT M1PX2DT M1P2CUT M1P2EXC         USUBJID SUBJID SITEID AGE AGEU SEX SEXN RACE RACEN ARACE ARACEN RANDFL SAFFL         ARM ARMCD ACTARM ACTARMCD TRTSDT TRTSTM TRTSDTM TRTEDT TRTETM TRTEDTM TRTSEQP         TRTSEQA AGEGR1 AGEGR1N COHORT COHORTN DOSALVL DOSALVLN DOSPLVL DOSPLVLN         VAX101DT VAX102DT VAX10UDT VAX201DT VAX202DT VAX20UDT UNBLNDDT VAX101 VAX102         VAX10U VAX201 VAX202 VAX20U TRT01A TRT01AN TRT02A TRT02AN TRT01P TRT01PN         TRT02P TRT02PN TR01SDT TR01STM TR01SDTM TR01EDT TR01ETM TR01EDTM TR02SDT         TR02STM TR02SDTM TR02EDT TR02ETM TR02EDTM PHASE PHASEN EOSDCDT EOTDCDT         BLDV6DT BLDV7DT AGEGR4 AGEGR4N PEDIMMFL PEDREAFL HIVFL DS3KFL EOTXDCDT         EOTXDCRS BDCSRDT X1CSRDT STCSRDT AGETR01 AGETRU01 EOTDCDT DOMAIN DSSEQ;    set adds(keep=STUDYID USUBJID SUBJID SITEID ADT ASTDT ASTDY DSPHASE DSPHASEN         DSCAT DSDECOD DSDECODN DSTERM DSPHASE M1PD2DT M6PD2DT M1PX2DT M1P2CUT M1P2EXC         USUBJID SUBJID SITEID AGE AGEU SEX SEXN RACE RACEN ARACE ARACEN RANDFL SAFFL         ARM ARMCD ACTARM ACTARMCD TRTSDT TRTSTM TRTSDTM TRTEDT TRTETM TRTEDTM TRTSEQP         TRTSEQA AGEGR1 AGEGR1N COHORT COHORTN DOSALVL DOSALVLN DOSPLVL DOSPLVLN         VAX101DT VAX102DT VAX10UDT VAX201DT VAX202DT VAX20UDT UNBLNDDT VAX101 VAX102         VAX10U VAX201 VAX202 VAX20U TRT01A TRT01AN TRT02A TRT02AN TRT01P TRT01PN         TRT02P TRT02PN TR01SDT TR01STM TR01SDTM TR01EDT TR01ETM TR01EDTM TR02SDT         TR02STM TR02SDTM TR02EDT TR02ETM TR02EDTM PHASE PHASEN EOSDCDT EOTDCDT         BLDV6DT BLDV7DT AGEGR4 AGEGR4N PEDIMMFL PEDREAFL HIVFL DS3KFL EOTXDCDT         EOTXDCRS BDCSRDT X1CSRDT STCSRDT AGETR01 AGETRU01 EOTDCDT DOMAIN DSSEQ);    label ADT='Analysis Date' ASTDT='Analysis Start Date'         ASTDY='Analysis Start Relative Day'         DSDECODN='Standardized Disposition Term (N)'         DSPHASEN='Disposition Phase Code (N)';run;
proc sort data=final out=datvout.adds(label='Disposition Analysis Dataset');
    by USUBJID DSSEQ;
    quit;
FDA-CBER-2022-5812-0072378
file:///J/...5-0%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-6mth/125742-45_S211_M5_c4591001-A_6mth-P-adds-sas.txt[7/5/2023 10:22:49 AM]proc printto;
run;
FDA-CBER-2022-5812-0072379