125742 45 S211 M5 c4591001 A 1mth P adsl fu d2 ped saf sas

Pfizer Documents (PHMPT/FDA)

Pfizer Bla Submission

Pfizer 12 15 Documents

17

Document text

file:///J/...1)/0211/m5/datasets/c4591001/analysis/adam/programs-1mth/125742-45_S211_M5_c4591001-A_1mth-P-adsl-fu-d2-ped-saf-sas.txt[7/5/2023 7:39:00 AM]***********************************************************************************************;
**  Program Name    :  adsl_fu_d2_ped_saf.sas                                                **;**  Date Created    :  10Mar2021                                                             **;**  Programmer Name :                                                                **;
**  Purpose         :  Create adsl_fu_d2_ped_saf                                             **;**  Input data      :  adsl                                                                  **;**  Output file     :  adsl_fu_d2_ped_saf.html                                               **;***********************************************************************************************;options mprint mlogic symbolgen mprint symbolgen mlogic nocenter missing=" ";ods escapechar="~";
proc datasets library=WORK kill nolist nodetails;
quit;
**Setup the environment**;
%let prot=/Volumes/app/cdars/prod/sites/cdars4/prjC459/nda2_unblinded_esub/euaext_esub_adam/saseng/cdisc3_0;libname datvprot "&prot./data_vai" access=readonly;%let outpath=&prot./analysis/esub;%let outlog=&outpath./logs/adsl_fu_d2_ped_saf.log;%let outtable=&outpath./output/adsl_fu_d2_ped_saf.html;******************************************************************************************;* Clean *;******************************************************************************************;options mprint mlogic symbolgen;title;footnote;
proc delete data=work._all_;
run;
proc printto log="&outlog" new;
run;
data adsl;
        set DATVPROT.ADSL;        length FUP2CAT1_ FUP2CAT2_ $ 100;        FUP2CATN=min(FUP2CA1N, FUP2CA2N);
        if FUP2CATN=FUP2CA1N then
                FUP2CAT=FUP2CAT1;
        if FUP2CATN=FUP2CA2N then
                FUP2CAT=FUP2CAT2;        FUP2CAT1_=FUP2CAT;
        if FUP2CATN=1 then
                do;                        FUP2CAT1_="(*ESC*){unicode 003c}1 Month";                        FUP2CA1N_=1;                end;        else if 3 >=FUP2CATN>1 then                do;                        FUP2CAT1_="(*ESC*){unicode 2265}"||tranwrd(FUP2CAT1_, "-", 
(b) (4), (b) (6)
FDA-CBER-2022-5812-0072601
file:///J/...1)/0211/m5/datasets/c4591001/analysis/adam/programs-1mth/125742-45_S211_M5_c4591001-A_1mth-P-adsl-fu-d2-ped-saf-sas.txt[7/5/2023 7:39:00 AM]                                " Months to (*ESC*){unicode 003c}");
                        FUP2CA1N_=FUP2CATN;
                end;
        if 3<FUP2CATN then
                do;                        FUP2CA1N_=4;                        FUP2CAT1_="(*ESC*){unicode 2265}3 Months";                end;        FUP2CAT1_=tranwrd(FUP2CAT1_, "1 Months", "1 Month");run;
data g_adsl_dsin;
        set adsl;        where agegr4n=1 and saffl="Y" and MULENRFL ne "Y" and phasen ne 1;run;
data __trtmap;
        length trtcode trtdecd $100;
        if 0 then
                set g_adsl_dsin(keep=TRT01AN);        trtval=1;
        if vtype(TRT01AN)='C' then
                trtcode=tranwrd(compbl(quote("8")), ' ', '" "');        else                trtcode="8";        trtdecd="BNT162b2 (30 (*ESC*){unicode 03BC}g)";        trtvar="TRT01AN";        trtlbl="TRT01A";        output;        trtval=2;
        if vtype(TRT01AN)='C' then
                trtcode=tranwrd(compbl(quote("9")), ' ', '" "');        else                trtcode="9";        trtdecd="Placebo";        trtvar="TRT01AN";        trtlbl="TRT01A";        output;        trtval=3;
        if vtype(TRT01AN)='C' then
                trtcode=tranwrd(compbl(quote("8 9")), ' ', '" "');        else                trtcode="8 9";        trtdecd="Total";        trtvar="TRT01AN";        trtlbl="TRT01A";        output;        stop;
run;
FDA-CBER-2022-5812-0072602
file:///J/...1)/0211/m5/datasets/c4591001/analysis/adam/programs-1mth/125742-45_S211_M5_c4591001-A_1mth-P-adsl-fu-d2-ped-saf-sas.txt[7/5/2023 7:39:00 AM]data g_adsl_dsin;
        set g_adsl_dsin;
        if TRT01AN in (8) then
                do;                        newtrtn=1;                        newtrt=coalescec("BNT162b2 (30 (*ESC*){unicode 03BC}g)", TRT01A);                        output;                end;
        if TRT01AN in (9) then
                do;                        newtrtn=2;                        newtrt=coalescec("Placebo", TRT01A);                        output;                end;
        if TRT01AN in (8 9) then
                do;                        newtrtn=3;                        newtrt=coalescec("Total", TRT01A);                        output;                end;run;
data _subGrpData(compress=no);
        delete;run;
*----------------------------------------------------------------------;
* Initialize dataset for non-pvalue footnote queue. ;*----------------------------------------------------------------------;
data _stdft1(compress=no);
        length model $200 mark $5;        index=0;        model=' ';        mark=' ';run;
*----------------------------------------------------------------------;
* Initialize dataset for pvalue related footnote queue.;*----------------------------------------------------------------------;
data _stdft2(compress=no);
        length model $200 mark $5;        index=0;        model=' ';        mark=' ';run;
*----------------------------------------------------------------------;
* Initialize structure for _BASETEMPLATE dataset. ;
FDA-CBER-2022-5812-0072603
file:///J/...1)/0211/m5/datasets/c4591001/analysis/adam/programs-1mth/125742-45_S211_M5_c4591001-A_1mth-P-adsl-fu-d2-ped-saf-sas.txt[7/5/2023 7:39:00 AM]*----------------------------------------------------------------------;
data _basetemplate(compress=no);
        length _varname $8 _cvalue $35 _direct $20 _vrlabel $200 _rwlabel                 _colabel $800 _datatyp $5 _module $8 _pr_lbl $ 200;        array _c _character_;        delete;run;
data _data1;
        set g_adsl_dsin;        where (NEWTRTN is not missing);run;
*----------------------------------------------------------------------;
* Count number of treatment groups ;*----------------------------------------------------------------------;
proc sql noprint;
        select count(unique NEWTRTN) into :_trtn from _data1 where NEWTRTN is not                 missing;quit;
*----------------------------------------------------------------------;
* Generate variable _TRT. Use assigned order if applicable ;*----------------------------------------------------------------------;
proc sort data=_data1;
        by NEWTRTN USUBJID;run;
data _data1;
        retain _trt 0;        length _str $200;        _datasrt=1;        set _data1 end=eof;        by NEWTRTN USUBJID;        drop _str;        _str=' ';        _lastby=1;        _dummyby=0;
        if first.NEWTRTN then
                do;
                        if not missing(NEWTRTN) then
                                do;                                        _trt=_trt + 1;                                end;                        *----------------------------------------------------------------------;                        * Generate _STR as the treatment label ;                        *----------------------------------------------------------------------;                        _str=NEWTRT;
                        *----------------------------------------------------------------------;
FDA-CBER-2022-5812-0072604
file:///J/...1)/0211/m5/datasets/c4591001/analysis/adam/programs-1mth/125742-45_S211_M5_c4591001-A_1mth-P-adsl-fu-d2-ped-saf-sas.txt[7/5/2023 7:39:00 AM]                        * Update _TRTLB&n with generated treatment label ;
                        *----------------------------------------------------------------------;
                        if _trt > 0 then
                                call symput('_trtlb'||compress(put(_trt, 4.)), trim(left(_str)));                end;run;
*----------------------------------------------------------------------;
* Count number of patients in each treatment. ;*----------------------------------------------------------------------;
proc sql noprint;
        select compress(put(count(*), 5.) ) into :_trt1 - :_trt3 from (select distinct                 USUBJID, _trt from _data1 where NEWTRTN is not missing) group by _trt;        select compress(put(count(*), 5.) ) into :_trt4 from (select distinct USUBJID                 from _data1 where NEWTRTN is not missing);quit;
*----------------------------------------------------------------------;
* Generate a dataset containing all by-variables ;*----------------------------------------------------------------------;
proc sort data=_data1 out=_bydat1(keep=_datasrt _dummyby) nodupkey;
        by _datasrt;run;
data _bydat1;
        set _bydat1 end=eof;        by _datasrt;        retain _preby 0;        drop _preby;        _byvar1=0;
        if eof then
                do;                        call symput("_preby1", compress(put(_byvar1, 4.)));
                        if 0=0 then
                                output;                end;run;
data _bydat1;
        set _bydat1;        by _datasrt;        length _bycol _byindnt $50 _bylast $10;        _bycol=" ";        _byindnt=" ";        _bylast=" ";run;
proc sort data=_bydat1;
        by _datasrt;
FDA-CBER-2022-5812-0072605
file:///J/...1)/0211/m5/datasets/c4591001/analysis/adam/programs-1mth/125742-45_S211_M5_c4591001-A_1mth-P-adsl-fu-d2-ped-saf-sas.txt[7/5/2023 7:39:00 AM]run;
proc sort data=_data1 out=_data1;
        by _datasrt;run;
data _null_;
        set _data1 end=eof;
        if eof then
                call symput('dptlab', vlabel(FUP2CA1N_));run;
data _anal1;
        length FUP2CA1N_ 8;        set _data1;        where same and FUP2CA1N_ is not missing;        _blcksrt=1;        _cnt=1;        _cat=1;
        if _trt <=0 then
                delete;        output;run;
proc sort data=_anal1;
        by _datasrt _blcksrt FUP2CA1N_ _trt _cat;run;
*--- Counts for each by-sequence, dependant var, and treatment combination ---*;data _temp1;
        set _anal1;        output;run;
proc sort data=_temp1 out=_temp91 nodupkey;
        by _datasrt _blcksrt _cat FUP2CA1N_ _trt USUBJID;run;
proc freq data=_temp91;
        format FUP2CA1N_;        tables _datasrt*_blcksrt*_cat * FUP2CA1N_ * _trt / sparse norow nocol                 nopercent out=_pct1(drop=percent);run;
proc sort data=_anal1 out=_denom1(keep=_datasrt _cat) nodupkey;
        by _datasrt _cat;run;
data _denom1;
        set _denom1;
        by _datasrt _cat;
FDA-CBER-2022-5812-0072606
file:///J/...1)/0211/m5/datasets/c4591001/analysis/adam/programs-1mth/125742-45_S211_M5_c4591001-A_1mth-P-adsl-fu-d2-ped-saf-sas.txt[7/5/2023 7:39:00 AM]        label count='count';
        _trt=1;
        count=&_trt1;        output;        _trt=2;        count=&_trt2;        output;        _trt=3;        count=&_trt3;        output;run;
data _denomf1;
        _datasrt=1;        set _bydat1(keep=);        * All treatment groups ;        _trt1=0;        _trt2=0;        _trt3=0;        * _CAT is the subgroup variable ;        _cat=1;        output;run;
proc transpose data=_denom1 out=_denomin1(drop=_name_ _label_) prefix=_trt;
        by _datasrt _cat;        var count;        id _trt;run;
proc sql noprint;
        select put(nobs - delobs, 12.) into :_nobs from dictionary.tables                 where (libname="WORK" and memname="_PCT1");        select setting into :miss from dictionary.options where                 upcase(optname)="MISSING";quit;
proc sort data=_pct1 out=_expv1 (keep=_datasrt _blcksrt FUP2CA1N_) nodupkey;
        by _datasrt _blcksrt FUP2CA1N_;run;
proc sort data=_expv1;
        by _datasrt _blcksrt FUP2CA1N_;run;
proc sort data=_anal1 out=_catlabel1 (keep=_datasrt _blcksrt FUP2CA1N_ 
                FUP2CAT1_) nodupkey;        by _datasrt _blcksrt FUP2CA1N_;        ;run;
data _expv1;
        merge _expv1 (in=_a) _catlabel1 (in=_b);
        by _datasrt _blcksrt FUP2CA1N_;
FDA-CBER-2022-5812-0072607
file:///J/...1)/0211/m5/datasets/c4591001/analysis/adam/programs-1mth/125742-45_S211_M5_c4591001-A_1mth-P-adsl-fu-d2-ped-saf-sas.txt[7/5/2023 7:39:00 AM]        if _a;
run;
proc sql noprint;
        select put(nobs - delobs, 12.) into :_nobs from dictionary.tables                 where (libname="WORK" and memname="_PCT1");        select setting into :miss from dictionary.options where                 upcase(optname)="MISSING";quit;
proc sort data=_expv1;
        by _datasrt _blcksrt FUP2CA1N_;run;
data _frame1;
        set _expv1;        by _datasrt _blcksrt FUP2CA1N_;        length _catLabl $100;        _catLabl=FUP2CAT1_;
        if first._blcksrt then
                _catord=0;        _catord + 1;        _trt=1;        _cat=1;        output;        _trt=2;        _cat=1;        output;        _trt=3;        _cat=1;        output;run;
*----------------------------------------------------------------------;
* Merge the _PCT dataset with its frameup dataset(_FRAME) ;*----------------------------------------------------------------------;
proc sort data=_frame1;
        by _datasrt _blcksrt _cat FUP2CA1N_ _trt;run;
proc sort data=_pct1;
        by _datasrt _blcksrt _cat FUP2CA1N_ _trt;run;
data _pct1;
        merge _frame1(in=_inframe) _pct1;        by _datasrt _blcksrt _cat FUP2CA1N_ _trt;
        if _inframe;        if count=. then
FDA-CBER-2022-5812-0072608
file:///J/...1)/0211/m5/datasets/c4591001/analysis/adam/programs-1mth/125742-45_S211_M5_c4591001-A_1mth-P-adsl-fu-d2-ped-saf-sas.txt[7/5/2023 7:39:00 AM]                count=0;
run;
proc sort data=_pct1;
        by _datasrt _blcksrt FUP2CA1N_;run;
data _miss1(keep=_datasrt _blcksrt FUP2CA1N_ totcount);
        set _pct1;        where FUP2CA1N_=9998;        retain totcount;        by _datasrt _blcksrt FUP2CA1N_;
        if first.FUP2CA1N_ then
                totcount=0;        totcount=totcount+count;
        if last.FUP2CA1N_;
run;
data _pct1(drop=totcount);
        merge _pct1 _miss1;        by _datasrt _blcksrt FUP2CA1N_;
        if totcount=0 then
                delete;run;
proc sort data=_denomf1;
        by _datasrt _cat;run;
proc sort data=_denomin1;
        by _datasrt _cat;run;
data _denomin1;
        merge _denomf1(in=_inframe) _denomin1;        by _datasrt _cat;
        if _inframe;
        _blcksrt=1;run;
*----------------------------------------------------------------------;
* Merge in _PCT(counts) with the _DENOMIN(denominator for percents) ;*----------------------------------------------------------------------;
proc sort data=_pct1;
        by _datasrt _cat;run;
data _pct1;
        if 0 then
FDA-CBER-2022-5812-0072609
file:///J/...1)/0211/m5/datasets/c4591001/analysis/adam/programs-1mth/125742-45_S211_M5_c4591001-A_1mth-P-adsl-fu-d2-ped-saf-sas.txt[7/5/2023 7:39:00 AM]                set _basetemplate;
        merge _denomin1(in=_a) _pct1;
        by _datasrt _cat;
        if _a;
        _varname="FUP2CA1N_ ";        _vrlabel="Total exposure from Dose 2 to cutoff date ";        _rwlabel=_catLabl;
        if FUP2CA1N_=9998 then
                do;                        _rwlabel="Missing ";                        _catord=9998;                end;        else if FUP2CA1N_=9999 then                do;                        _rwlabel="Total ";                        _catord=9999;                end;
        if _catord=. then
                _catord=9997;run;
proc sort data=_pct1;
        by _datasrt _blcksrt _catord FUP2CA1N_ _trt _cat;run;
*----------------------------------------------------------------------;
* Create _CVALUE variable to display results. ;* Create _ROWSRT variable to order results. ;*----------------------------------------------------------------------;
data _base1;
        length _catlabl $200;        set _pct1 end=eof;        by _datasrt _blcksrt _catord FUP2CA1N_ _trt _cat;        retain _rowsrt 0 _rowmax 0;        array _trtcnt(*) _trt1-_trt4;        drop _rowmax _cpct;        length _cpct $100;        _cpct=' ';        _module='mcatstat';
        if count > . then
                _cvalue=put(count, 5.);        else                _cvalue=put(0, 5.);        *----------------------------------------------------------------------;        * Format percent to append to display value in _CVALUE ;        *----------------------------------------------------------------------;
        if _trt ne . then
                do;
FDA-CBER-2022-5812-0072610
file:///J/...1)/0211/m5/datasets/c4591001/analysis/adam/programs-1mth/125742-45_S211_M5_c4591001-A_1mth-P-adsl-fu-d2-ped-saf-sas.txt[7/5/2023 7:39:00 AM]                        if _trtcnt(_trt) > 0 then
                                do;                                        percent=count / _trtcnt(_trt) * 100;
                                        if percent > 0 then
                                                do;
                                                        if round(percent, 0.1) GE 0.1 then
                                                                _cpct="(*ESC*){nbspace 1}("||strip(put(percent, 5.1))||")";                                                        else                                                                _cpct="(*ESC*){nbspace 1}(0.0)";                                                        _cvalue=trim(_cvalue)||_cpct;                                                end;                                end;                end;
        if length(_cvalue) < 13 then
                do;                        *----------------------------------------------------------------------;                        * Put character A0x at right most character to pad text;                        *----------------------------------------------------------------------;                        substr(_cvalue, 13, 1)='A0'x;                end;
        if first.FUP2CA1N_ then
                do;                        _rowsrt=_rowsrt + 1;                        _rowmax=max(_rowsrt, _rowmax);                end;        _datatyp='data';        _indent=0;        _dptindt=0;        _vorder=1;        _rowjump=1;
        if upcase(_rwlabel)='_NONE_' then
                _rwlabel=' ';        _indent=4;        _dptindt=0;
        if _trt=3 +1 then
                _trt=9999;
        if eof then
                call symput('_rowsrt', compress(put(_rowmax, 4.)));        _direct="TOP ";        _p=2;run;
data _base1;
        set _base1;        _vhlabel="Subjects (%) with length of follow-up of:";run;
FDA-CBER-2022-5812-0072611
file:///J/...1)/0211/m5/datasets/c4591001/analysis/adam/programs-1mth/125742-45_S211_M5_c4591001-A_1mth-P-adsl-fu-d2-ped-saf-sas.txt[7/5/2023 7:39:00 AM]ods escapechar="~";
title1 "Follow-up Time After Dose 2 (*ESC*){unicode 2013} Subjects 12 Through 15 Years of Age (*ESC*){unicode 2013} Safety Population";footnote1 "Note: Follow-up time was calculated to the cutoff date or the date of unblinding, whichever date was earlier.";footnote2 "a.(*ESC*){nbspace 5}N = number of subjects in the specified group, or the total sample.  This value is the denominator for the percentage calculations.";footnote3         "b.(*ESC*){nbspace 5}n = Number of subjects with the specified characteristic.";
data _final;
        set _base1;run;
proc sort data=_final;
        by _datasrt _blcksrt _rowsrt;run;
*----------------------------------------------------------------------;
* At least one of TRT and STAT is vertical;*----------------------------------------------------------------------;
data _final;
        set _final;        drop __trt;
        if _trt=9999 then
                __trt=3 + 1;        else                __trt=_trt;
        if __trt=. then
                __trt=1;        _column=_trt;
        if _column=9999 then
                _column=3 + 1;run;
proc sort data=_final out=_final;
        by _datasrt _blcksrt _rowsrt _column;run;
data _linecnt;
        set _final end=eof;        by _datasrt _blcksrt _rowsrt _column;        retain _totline _maxval _maxrow _rwlbtag _vrlbtag 0 _maxline _linecnt;        keep _datasrt _blcksrt _totline _linecnt _maxrow;
        if _rowjump=. then
                _rowjump=1;
        if first._blcksrt then
FDA-CBER-2022-5812-0072612
file:///J/...1)/0211/m5/datasets/c4591001/analysis/adam/programs-1mth/125742-45_S211_M5_c4591001-A_1mth-P-adsl-fu-d2-ped-saf-sas.txt[7/5/2023 7:39:00 AM]                do;
                        *----------------------------------------------------------------------;
                        * Count words inside DATA step ;                        *----------------------------------------------------------------------;                        _token=repeat(' ', 99);                        _count=1;                        _token=scan(_vrlabel, _count, "|");
                        if _token=: '_' then
                                _tag=1;                        else                                _tag=0;
                        do while(_token ^=' ');
                                _count=_count + 1;                                _token=scan(_vrlabel, _count, "|");                        end;                        _linecnt=_count - 1 + _tag;                        ;                        _totline=_linecnt;
                        if _vrlabel ne ' ' and _vrlabel ne '^' & _datatyp='data' then
                                _vrlbtag=1;                end;
        if first._rowsrt then
                do;                        *----------------------------------------------------------------------;                        * Count words inside DATA step ;                        *----------------------------------------------------------------------;                        _token=repeat(' ', 99);                        _count=1;                        _token=scan(_rwlabel, _count, "|");
                        if _token=: '_' then
                                _tag=1;                        else                                _tag=0;
                        do while(_token ^=' ');
                                _maxrow=max(_maxrow, length(_token) + _indent);                                _count=_count + 1;                                _token=scan(_rwlabel, _count, "|");                        end;                        _maxline=_count - 1 + _tag;                        ;
                        if _rwlabel ne ' ' then
                                _rwlbtag=1;                        _totline + _rowjump - 1;                end;        *----------------------------------------------------------------------;        * Count words inside DATA step ;
        *----------------------------------------------------------------------;
FDA-CBER-2022-5812-0072613
file:///J/...1)/0211/m5/datasets/c4591001/analysis/adam/programs-1mth/125742-45_S211_M5_c4591001-A_1mth-P-adsl-fu-d2-ped-saf-sas.txt[7/5/2023 7:39:00 AM]        _token=repeat(' ', 99);
        _count=1;
        _token=scan(_cvalue, _count, "|");
        if _token=: '_' then
                _tag=1;        else                _tag=0;
        do while(_token ^=' ');
                _maxval=max(_maxval, length(_token));                _count=_count + 1;                _token=scan(_cvalue, _count, "|");        end;        _ccnt=_count - 1 + _tag;        ;        _maxline=max(_maxline, _ccnt);
        if last._rowsrt then
                _totline=_maxline + _totline;
        if last._blcksrt then
                do;                        _totline=_totline - _rowjump + 1;                        output;                end;
        if eof then
  
do;
 
  call symput('_valwid', compress(put(_maxval, 3.)));
 
  call symput('_rwlbtag', put(_rwlbtag, 1.));
 
  call symput('_vrlbtag', put(_vrlbtag, 1.));
  
end;
run;data _final;
 length _direct $20;
 _direct=' ';
 merge _final _linecnt;
 by _datasrt _blcksrt;
run;proc sql noprint;
 create table rspon as select distinct _trt, _column , _vrlabel as _rwlabel , 
 
 _datasrt, _blcksrt, (min(_rowsrt)-0.5) as _rowsrt , _dptindt as _indent , 0 
 
 as _dptindt from _final(where=(_vrlabel^=' ')) group by _trt, _column , 
 
 _datasrt, _blcksrt, _vrlabel;
quit;proc sql noprint;
 create table hspon as select distinct _trt, _column , _vhlabel as _rwlabel , 
 
 _datasrt, _blcksrt, (min(_rowsrt)-0.9) as _rowsrt , _dptindt as _indent , 0 
 
 as _dptindt from _final(where=(_vhlabel^=' ')) group by _trt, _column , 
  _datasrt, _blcksrt, _vhlabel;
FDA-CBER-2022-5812-0072614
file:///J/...1)/0211/m5/datasets/c4591001/analysis/adam/programs-1mth/125742-45_S211_M5_c4591001-A_1mth-P-adsl-fu-d2-ped-saf-sas.txt[7/5/2023 7:39:00 AM]quit;
data ADSL_FU_D2_PED_SAF;
 length _rvalue $800;
 set _final rspon hspon end=eof;
 _rwindt=sum(_indent, _dptindt);
 if _rwindt <=0 then
  
_rvalue=_rwlabel;
 
else
  
_rvalue=repeat(byte(160), _rwindt-1)||_rwlabel;
 
_dummy=1;
 if _trt=. then
  
_trt=1;
run;
proc sort data=ADSL_FU_D2_PED_SAF;
 by _datasrt _trt _blcksrt _rowsrt;
run;data treat;
 length FMTNAME $8 start 8 label $200;
 
fmtname='TREAT';
 do start=1 to 3 + ("N"="Y");
 
 label=symget('_TRTLB'|| compress(put(start, 4.)));
  
label=trim(label) 
 
  || "|   (N~{super a}=" || compress(symget("_TRT" || compress(put(start, 
   
4.)))) || ")"
|| "|n~{super b}     (%)";
  
output;
 
end;
run;proc format cntlin=treat;
run;
data outdata1;
 set ADSL_FU_D2_PED_SAF;
 if upcase(_module)='MCATSTAT' then
 
 _cvalue=transtrn(compress(_cvalue), '(', ' (');
 
_fixvar=1;
 
_fix2var=1;
run;option nobyline;proc sort data=outdata1;
 by _datasrt _trt _blcksrt _rowsrt;
run;
proc sql noprint;
FDA-CBER-2022-5812-0072615
file:///J/...1)/0211/m5/datasets/c4591001/analysis/adam/programs-1mth/125742-45_S211_M5_c4591001-A_1mth-P-adsl-fu-d2-ped-saf-sas.txt[7/5/2023 7:39:00 AM] select distinct start, label into :start1, :_trlbl1 - :_trlbl99 from treat 
  order by start;
quit;
proc sort data=outdata1 out=_pre_transposed;
 by _fixvar _fix2var _datasrt _blcksrt _rowsrt _rvalue _trt;
run;data _pre_transposed;
 set _pre_transposed;
 if _trt=9999 then
  
_trt=3 +1;
run;proc transpose data=_pre_transposed out=_column_transposed (drop=_name_) 
  
prefix=TRT;
 by _fixvar _fix2var _datasrt _blcksrt _rowsrt _rvalue;
 var _cvalue;
 id _trt;
run;data REPORT;
 set _column_transposed;
 
_dummy=1;
run;proc sort data=report;
 by _datasrt _blcksrt _rowsrt _dummy;
run;ods html file="&prot./analysis/esub/output/adsl_fu_d2_ped_saf.html";proc report data=report nowd list missing contents="" split="|" 
 
 style(report)={} style(header)={} style(column)={};
 column _fixvar _fix2var _datasrt _blcksrt _rowsrt ("" _rvalue) 
 
 (("Vaccine Group (as Administered)~{line}" TRT1 TRT2) TRT3 _dummy);
 define _fixvar / group noprint;
 define _fix2var / group noprint;
 define _datasrt / group order=internal noprint;
 define _blcksrt / group order=internal noprint;
 define _rowsrt / group order=internal noprint;
 define _rvalue / group " " order=data style(column)={just=left width=60mm 
 
 rightmargin=18px} style(header)={just=left} left;
 define _dummy / sum noprint;
 define TRT1 / group nozero "&_trlbl1." spacing=2 style(column)={width=35mm 
 
 leftmargin=12px} style(header)={just=center} center;
 define TRT2 / group nozero "&_trlbl2." spacing=2 style(column)={width=35mm 
 
 leftmargin=12px} style(header)={just=center} center;
 define TRT3 / group nozero "&_trlbl3." spacing=2 style(column)={width=35mm 
 
 leftmargin=12px} style(header)={just=center} center;
 break before _fixvar / contents="" page;
 compute before _fix2var;
  line @1 " ~n ";
FDA-CBER-2022-5812-0072616
file:///J/...1)/0211/m5/datasets/c4591001/analysis/adam/programs-1mth/125742-45_S211_M5_c4591001-A_1mth-P-adsl-fu-d2-ped-saf-sas.txt[7/5/2023 7:39:00 AM] endcomp;
 compute after _blcksrt;
 
 line " ~n ";
 
endcomp;
run;
ods HTML close;
proc printto;run;
FDA-CBER-2022-5812-0072617