125742 45 S211 M5 c4591001 A 1mth P admh sas

Pfizer Documents (PHMPT/FDA)

Pfizer Bla Submission

Pfizer 12 15 Documents

15

Document text

file:///J/...45-0%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-1mth/125742-45_S211_M5_c4591001-A_1mth-P-admh-sas.txt[7/5/2023 7:39:05 AM]***********************************************************************************************;
**  Program Name    :  admh.sas                                                              **;**  Date Created    :  09Mar2021                                                             **;**  Programmer Name :                                                                **;
**  Purpose         :  Create admh dataset                                                   **;**  Input data      :  mh suppmh adsl                                                        **;** External file  : ../prjC459/nda2_unblinded_esub/euaext_esub_adam/saseng/cdisc3_0/data     **;**  Output data     :  admh.sas7bdat                                                         **;***********************************************************************************************;options mprint mlogic symbolgen mprint symbolgen mlogic nocenter missing=" ";
proc datasets library=WORK kill nolist nodetails;
quit;
**Setup the environment**;
%let oprot=/Volumes/app/cdars/prod/sites/cdars4/
prjC459/nda2_unblinded_esub/bla_euaext_esub_sdtm/saseng/cdisc3_0;
%let prot=/Volumes/app/cdars/prod/sites/cdars4/prjC459/nda2_unblinded_esub/euaext_esub_adam/saseng/cdisc3_0;libname dataprot "&oprot./data" access=readonly;libname datvprot "&prot./data_vai";%let expath=&prot./data;
proc printto print="&prot./analysis/esub/output/admh.rpt" 
        log="&prot./analysis/esub/logs/admh.log" new;run;
******************************************************************************************;
* Specification                                                                                                                               *;* Merge MH dataset with SUPPMH dataset.                                                                                      *;******************************************************************************************;
proc sql noprint;
    select distinct QNAM into :_suppmh_keep_vars separated by " " from         dataprot.suppmh;quit;
*****************************************************************;
*Specification : Reading INPUT SDTM and Supplemental Datasets     *;*Subsetting Supplemental Dataset based on _supp_subset parameter*;*****************************************************************;
data _spmdel_supp_dsin_subset;
    set dataprot.suppmh;run;
data _spmdel_sdtm_ds;
    set dataprot.mh;run;
*******************************************************************************;
*Specification : Supplemental Dataset will be merged with SDTM for all values*;*of IDVAR including missing values. *;* a. Find whether IDVAR has a missing a value *;
(b) (4), (b) (6)
FDA-CBER-2022-5812-0072422
file:///J/...45-0%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-1mth/125742-45_S211_M5_c4591001-A_1mth-P-admh-sas.txt[7/5/2023 7:39:05 AM]* b. Calculate number of non-missing values for IDVAR *;
* c. Checking whether non-missing value of IDVAR is character or Numeric *;
*******************************************************************************;
proc sql noprint;
    select NMISS(distinct idvar) into :_cntvar from _spmdel_supp_dsin_subset;    select N(distinct idvar) into :_cntvar1 from _spmdel_supp_dsin_subset;quit;
proc sql noprint;
    select distinct idvar into :_idvar1 - :_idvar1 from _spmdel_supp_dsin_subset         where idvar is not missing;quit;
data _spmdel_supp_dsin_subset_idvar1;
    set _spmdel_supp_dsin_subset;    where idvar="MHSEQ";run;
************************************************************;
*Specification :Tranposing Supplemental Dataset *;************************************************************;
proc sort data=_spmdel_supp_dsin_subset_idvar1;
    by studyid usubjid idvar idvarval;    quit;
proc transpose data=_spmdel_supp_dsin_subset_idvar1 
        out=_spmdel_supp_dsin_idvar1_h;    by studyid usubjid idvar idvarval;    id qnam;    idlabel qlabel;    var qval;    quit;    ************************************************************;    *Specification :Creating IDVAR from IDVARVAL                          *;    ************************************************************;
data _spmdel_temp(keep=MHSEQ);
    set _spmdel_sdtm_ds;run;
data _spmdel_suppds1 (drop=idvar idvarval _NAME_ _LABEL_);
    set _spmdel_supp_dsin_idvar1_h;
    if idvar="MHSEQ";
    MHSEQ=input(idvarval, best12.);run;
proc sort data=_spmdel_sdtm_ds out=_ds1;
    by STUDYID USUBJID MHSEQ;run;
proc sort data=_spmdel_suppds1 out=_ds2;
FDA-CBER-2022-5812-0072423
file:///J/...45-0%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-1mth/125742-45_S211_M5_c4591001-A_1mth-P-admh-sas.txt[7/5/2023 7:39:05 AM]    by STUDYID USUBJID MHSEQ;
run;
data _spmdel_sdtm_temp_out1;
    merge _ds1(in=d1) _ds2(in=d2);    by STUDYID USUBJID MHSEQ;
    if d1;
run;
**********************************************************************;
*Specification : Final Merged output dataset *;**********************************************************************;
data _mh;
    set _spmdel_sdtm_temp_out1;run;
******************************************************************************************;
* Specification  *;* If MHCAT or MHTERM have missing values, then drop record and display *;* the dropped record in a supplemental listing. *;******************************************************************************************;
data _mh _droprecs;
    set _mh;
    if MHCAT eq ' ' or MHTERM eq ' ' then
        do;            output _droprecs;        end;    else        do;            output _mh;        end;run;
proc sort data=_droprecs out=_droprecs(keep=STUDYID USUBJID MHSEQ MHTERM MHCAT 
        DICTVER MHBDSYCD MHSOC);    by usubjid;run;
data _mh;
    set _mh;
    if ^missing(MHSTDTC) then
        do;            length yr $4 mm dd $2;            yr=substr(MHSTDTC, 1, 4);            mm=substr(MHSTDTC, 6, 2);            dd=substr(MHSTDTC, 9, 2);
            if yr ne ' ' then
                do;
FDA-CBER-2022-5812-0072424
file:///J/...45-0%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-1mth/125742-45_S211_M5_c4591001-A_1mth-P-admh-sas.txt[7/5/2023 7:39:05 AM]                    dflag=' ';
                    if (dd eq "  " or dd eq "-T") and mm ne " " then
                        do;                            dd='01';                            dflag='D';                        end;
                    if mm eq "  " or mm eq "--" then
                        do;                            mm='01';                            dd='01';                            dflag='M';                        end;                    newdate=(trim(left(yr))||'-'||trim(left(mm))||'-'||trim(left(dd)));                    ASTDT=input(newdate, ??is8601da.);                    format ASTDT date9.;                    ASTDTF=dflag;                end;            drop yr mm dd dflag newdate;        end;
    if ^missing(MHENDTC) then
        do;            length yr $4 mm dd $2;            yr=substr(MHENDTC, 1, 4);            mm=substr(MHENDTC, 6, 2);            dd=substr(MHENDTC, 9, 2);
            if yr ne ' ' then
                do;                    dflag=' ';
                    if (dd eq "  " or dd eq "-T") and mm ne "  " then
                        do;                            fakedate=input(((trim(left(yr))||'-'||trim(left(mm))||'-'||'01')),                                 ??is8601da.);                            format fakedate date9.;                            tempdate=intnx('month', fakedate, 1)-1;                            dd=strip(put(day(tempdate), best.));                            dflag='D';                        end;
                    if (dd eq "  " or dd eq "-T") and mm eq "  " or mm eq "--" then
                        do;                            mm='12';                            dd='31';                            dflag='M';                        end;                    newdate=(trim(left(yr))||'-'||trim(left(mm))||'-'||trim(left(dd)));                    AENDT=input(newdate, ??is8601da.);                    format AENDT date9.;                    AENDTF=dflag;
                    drop fakedate tempdate;
FDA-CBER-2022-5812-0072425
file:///J/...45-0%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-1mth/125742-45_S211_M5_c4591001-A_1mth-P-admh-sas.txt[7/5/2023 7:39:05 AM]                end;
            drop yr mm dd dflag newdate;
        end;
    if ^missing(MHDTC) then
        do;            length yr $4 mm dd $2;            yr=substr(MHDTC, 1, 4);            mm=substr(MHDTC, 6, 2);            dd=substr(MHDTC, 9, 2);
            if yr ne ' ' then
                do;                    dflag=' ';
                    if (dd eq "  " or dd eq "-T") and mm ne " " then
                        do;                            dd='01';                            dflag='D';                        end;
                    if mm eq "  " or mm eq "--" then
                        do;                            mm='01';                            dd='01';                            dflag='M';                        end;                    newdate=(trim(left(yr))||'-'||trim(left(mm))||'-'||trim(left(dd)));                    ADT=input(newdate, ??is8601da.);                    format ADT date9.;                    ADTF=dflag;                end;            drop yr mm dd dflag newdate;        end;run;
data _tmpcol2(keep=_usrlst);
    length _usrlst $20;    drop _string;    _string="SUBJID SITEID AGE AGEU AGEGR1 AGEGR1N SEX SEXN RACE RACEN ARACE ARACEN     RANDFL SAFFL COMPLFL ARM ARMCD ACTARM ACTARMCD TRTSDT TRTSTM TRTSDTM TRTEDT TRTETM     TRTEDTM TRT01A TRT01AN TRT02A TRT02AN TRT01P TRT01PN TRT02P TRT02PN TR01SDT TR01STM    TR01SDTM TR01EDT TR01ETM TR01EDTM TR02SDT TR02STM TR02SDTM TR02EDT TR02ETM TR02EDTM    VAX101 VAX102 VAX10U VAX201 VAX202 VAX20U VAX101DT VAX102DT VAX10UDT VAX201DT    VAX202DT VAX20UDT UNBLNDDT RANDDT COHORT COHORTN DOSALVL DOSALVLN DOSPLVL DOSPLVLN    DS30KFL PHASE PHASEN AGEGR4 AGEGR4N HIVFL PEDIMMFL MULENRFL PEDREAFL DS3KFL AGETR01    AGETRU01 RAND1FL SAF1FL SAF2FL AP01SDT AP01STM AP01SDTM AP01EDT AP01ETM AP01EDTM 
            AP02SDT AP02STM AP02SDTM AP02EDT AP02ETM AP02EDTM";
FDA-CBER-2022-5812-0072426
file:///J/...45-0%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-1mth/125742-45_S211_M5_c4591001-A_1mth-P-admh-sas.txt[7/5/2023 7:39:05 AM]    do until(_usrlst=' ');
        _count+1;
        _usrlst=scan(_string, _count);        output;    end;run;
proc sql noprint;
    create table _tmpcol4 as select distinct upcase(_usrlst) as _usrlst from         _tmpcol2 where upcase(_usrlst) like 'TR%' or upcase(_usrlst) like 'AP%';quit;
proc contents data=datvprot.adsl out=_tmpcol(keep=NAME) noprint;
proc sql noprint;    select distinct upcase(NAME) into : _masterlist separated by " " from _tmpcol         where (upcase(name) like 'TR%' or upcase(name) like 'AP%')         and (prxmatch('/TR\d{2}STM\b/', Name) or prxmatch('/TR\d{2}ETM\b/', Name) or         prxmatch('/TR\d{2}SDT\b/', Name) or prxmatch('/TR\d{2}EDT\b/', Name) or         upcase(Name) in ('TRTEDT', 'TRTSDT', 'TRTETM', 'TRTSTM') or         prxmatch('/AP\d{2}[EDT\b|SDT\b]/', Name) or         prxmatch('/AP\d{2}[STM\b|ETM\b]/', Name) or         prxmatch('/AP\d{2}[SDTM\b|EDTM\b]/', Name) );quit;
data _tmpcol3(keep=_mstrlst);
    length _mstrlst $20;    drop _string;    _string="TR01EDT TR01ETM TR01SDT TR01STM TR02EDT TR02ETM TR02SDT TR02STM TRTEDT TRTETM TRTSDT TRTSTM";
    do until(_mstrlst=' ');
        _count+1;        _mstrlst=scan(_string, _count);        output;    end;run;
proc sql noprint;
    select distinct(a._mstrlst) into :_usrlst_missing separated by ' ' from         _tmpcol3 as a where a._mstrlst not in (select _usrlst from _tmpcol4);quit;
proc sql noprint;
    create table _list_ (name char(32));    insert into _list_ values("G_VEXIST") values("");    select name into:G_NOMATCH separated by ' ' from _list_ where name not         in (select name from dictionary.macros);    drop table _list_;quit;
data _null_;
    length _retlist _retlst2 $2000 _column $40;    dsid=open(upcase("DATVPROT.ADSL"));
    i=1;
FDA-CBER-2022-5812-0072427
file:///J/...45-0%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-1mth/125742-45_S211_M5_c4591001-A_1mth-P-admh-sas.txt[7/5/2023 7:39:05 AM]    do while (scan("USUBJID SUBJID SITEID AGE AGEU AGEGR1 AGEGR1N SEX SEXN RACE RACEN 
ARACE     ARACEN RANDFL SAFFL ARM ARMCD ACTARM ACTARMCD TRTSDT TRTSTM TRTSDTM TRTEDT TRTETM TRTEDTM     TRT01A TRT01AN TRT02A TRT02AN TRT01P TRT01PN TRT02P TRT02PN TR01SDT TR01STM TR01SDTM 
 
    TR01EDT TR01ETM TR01EDTM TR02SDT TR02STM TR02SDTM TR02EDT TR02ETM TR02EDTM VAX101 VAX102    VAX10U VAX201 VAX202 VAX20U VAX101DT VAX102DT VAX10UDT VAX201DT VAX202DT VAX20UDT UNBLNDDT     RANDDT COHORT COHORTN DOSALVL DOSALVLN DOSPLVL DOSPLVLN DS30KFL PHASE PHASEN AGEGR4 AGEGR4N    HIVFL PEDIMMFL MULENRFL PEDREAFL DS3KFL AGETR01 AGETRU01 RAND1FL SAF1FL SAF2FL  TR01SDT     TR01STM TR01SDTM TR01EDT TR01ETM TR01EDTM TR02SDT TR02STM TR02SDTM TR02EDT TR02ETM TR02EDTM",             i, '') > '');        _column=upcase(scan("USUBJID SUBJID SITEID AGE AGEU AGEGR1 AGEGR1N SEX SEXN RACE         RACEN ARACE ARACEN RANDFL SAFFL ARM ARMCD ACTARM ACTARMCD TRTSDT TRTSTM TRTSDTM         TRTEDT TRTETM TRTEDTM TRT01A TRT01AN TRT02A TRT02AN TRT01P TRT01PN TRT02P TRT02PN 
 
        TR01SDT TR01STM TR01SDTM TR01EDT TR01ETM TR01EDTM TR02SDT TR02STM TR02SDTM TR02EDT         TR02ETM TR02EDTM VAX101 VAX102 VAX10U VAX201 VAX202 VAX20U VAX101DT VAX102DT VAX10UDT        VAX201DT VAX202DT VAX20UDT UNBLNDDT RANDDT COHORT COHORTN DOSALVL DOSALVLN DOSPLVL         DOSPLVLN DS30KFL PHASE PHASEN AGEGR4 AGEGR4N HIVFL PEDIMMFL MULENRFL PEDREAFL DS3KFL         AGETR01 AGETRU01 RAND1FL SAF1FL SAF2FL  TR01SDT TR01STM TR01SDTM TR01EDT TR01ETM TR01EDTM
                    TR02SDT TR02STM TR02SDTM TR02EDT TR02ETM TR02EDTM", i, ''));        if varnum(dsid, _column) then
            do;                _retlist=trim(left(_retlist))||' '||_column;                _retlst2=trim(left(_retlst2))||'/'||_column;            end;        i=i+1;    end;    dsid=close(dsid);    call symput('g_vexist', trim(left(compbl(_retlist))));    call symput('g_vexist2', trim(left(_retlst2))||'/');run;
proc sort data=_mh out=_ds1;
    by USUBJID;run;
proc sort data=datvprot.adsl out=_ds2;
    by USUBJID;run;
FDA-CBER-2022-5812-0072428
file:///J/...45-0%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-1mth/125742-45_S211_M5_c4591001-A_1mth-P-admh-sas.txt[7/5/2023 7:39:05 AM]data _mh;
    merge _ds1(in=d1) _ds2(in=d2 keep=Usubjid SUBJID SITEID AGE AGEU AGEGR1 
        AGEGR1N SEX SEXN RACE RACEN ARACE ARACEN RANDFL SAFFL ARM ARMCD ACTARM         ACTARMCD TRTSDT TRTSTM TRTSDTM TRTEDT TRTETM TRTEDTM TRT01A TRT01AN TRT02A         TRT02AN TRT01P TRT01PN TRT02P TRT02PN TR01SDT TR01STM TR01SDTM TR01EDT         TR01ETM TR01EDTM TR02SDT TR02STM TR02SDTM TR02EDT TR02ETM TR02EDTM VAX101         VAX102 VAX10U VAX201 VAX202 VAX20U VAX101DT VAX102DT VAX10UDT VAX201DT         VAX202DT VAX20UDT UNBLNDDT RANDDT COHORT COHORTN DOSALVL DOSALVLN DOSPLVL         DOSPLVLN DS30KFL PHASE PHASEN AGEGR4 AGEGR4N HIVFL PEDIMMFL MULENRFL PEDREAFL         DS3KFL AGETR01 AGETRU01 RAND1FL SAF1FL SAF2FL TR01SDT TR01STM TR01SDTM         TR01EDT TR01ETM TR01EDTM TR02SDT TR02STM TR02SDTM TR02EDT TR02ETM TR02EDTM);    by USUBJID;
    if d1;
run;
data _mh;
    merge _mh (in=a) datvprot.adsl (in=b keep=usubjid);    by usubjid;
    if a and b;
run;
******************************************************************************************;
* Specification *;* Calculate Study Day *;* If MHCAT is Primary Diagnosis or Secondary Diagnosis then derive ADURN *;* sg4: add GENERAL MEDICAL HISTORY for covid study *;******************************************************************************************;
data _mh;
    length ADURU $10.;    set _mh;
    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;
    If ^Missing(AENDT) and ^Missing(TRTSDT) then
        do;
            If AENDT lt TRTSDT then
                AENDY=AENDT - TRTSDT;            Else If AENDT ge TRTSDT then                AENDY=AENDT - TRTSDT + 1;        end;
    if upcase(MHCAT) in ('PRIMARY DIAGNOSIS', 'SECONDARY DIAGNOSIS', 
        'GENERAL MEDICAL HISTORY') then
FDA-CBER-2022-5812-0072429
file:///J/...45-0%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-1mth/125742-45_S211_M5_c4591001-A_1mth-P-admh-sas.txt[7/5/2023 7:39:05 AM]            do;
            _utilflg='N';
            if ((_utilflg eq 'Y') and (MHDUR ne ' ')) then
                do;
                    if MHDUR ne ' ' then
                        do;                            call is8601_convert('du', 'du', MHDUR, dur1);                            ADURN=round((dur1/(24*60*60*365.25)), 0.01);                            drop dur1;                        end;                    else                        do;                            ADURN=.;                        end;
                    if ADURN ne . then
                        do;                            ADURU="YEARS";                        end;                end;            else                do;                    ADURN=round(((ADT - ASTDT + 1)/365.25), 0.01);
                    if ADURN ne . then
                        do;                            ADURU="YEARS";                        end;                end;            drop _utilflg;        end;run;
******************************************************************************************;
* Specification 7 *;* Attach attributes to all variables as per ADaM Spec *;******************************************************************************************;***Shanghai zhant108 06Mar2021-modified variable name ACATn to CATn to align with EUA per request;
proc import file="&expath./Comorbidity_Categories.xlsx" out=_comobi dbms=xlsx 
        replace;    RXLX;    getnames=yes;run;
proc import file="&expath./Report_CCI_AIDS HIV.xlsx" out=_hiv dbms=xlsx replace;
    RXLX;    datarow=17;    getnames=no;run;
data _hiv;
FDA-CBER-2022-5812-0072430
file:///J/...45-0%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-1mth/125742-45_S211_M5_c4591001-A_1mth-P-admh-sas.txt[7/5/2023 7:39:05 AM]    set _hiv;
    CAT='AIDS/HIV';
run;
proc import file="&expath./Report_CCI_Any malignancy.xlsx" out=_mali dbms=xlsx 
        replace;    RXLX;    datarow=17;    getnames=no;run;
data _mali;
    set _mali;    CAT='Any Malignancy';run;
proc import file="&expath./Report_CCI_Cerebrovascular.xlsx" out=_cere dbms=xlsx 
        replace;    RXLX;    datarow=17;    getnames=no;run;
data _cere;
    set _cere;    CAT='Cerebrovascular Disease';run;
proc import file="&expath./Report_CCI_CHF.xlsx" out=_chf dbms=xlsx replace;
    RXLX;    datarow=17;    getnames=no;run;
data _chf;
    set _chf;    CAT='Congestive Heart Failure';run;
proc import file="&expath./Report_CCI_Dementia.xlsx" out=_deme dbms=xlsx 
        replace;    RXLX;    datarow=17;    getnames=no;run;
data _deme;
    set _deme;    CAT='Dementia';run;
proc import file="&expath./Report_CCI_Diabetes with comp.xlsx" out=_diabe_c 
        dbms=xlsx replace;
    RXLX;
FDA-CBER-2022-5812-0072431
file:///J/...45-0%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-1mth/125742-45_S211_M5_c4591001-A_1mth-P-admh-sas.txt[7/5/2023 7:39:05 AM]    datarow=17;
    getnames=no;
run;
data _diabe_c;
    set _diabe_c;    CAT='Diabetes With Chronic Complication';run;
proc import file="&expath./Report_CCI_Diabetes without comp.xlsx" out=_diabe 
        dbms=xlsx replace;    RXLX;    datarow=17;    getnames=no;run;
data _diabe;
    set _diabe;    CAT='Diabetes Without Chronic Complication';run;
proc import file="&expath./Report_CCI_Hemiplegia.xlsx" out=_hemip dbms=xlsx 
        replace;    RXLX;    datarow=17;    getnames=no;run;
data _hemip;
    set _hemip;    CAT='Hemiplegia or Paraplegia';run;
proc import file="&expath./Report_CCI_Leukemia.xlsx" out=_leuk dbms=xlsx 
        replace;    RXLX;    datarow=17;    getnames=no;run;
data _leuk;
    set _leuk;    CAT='Leukemia';run;
proc import file="&expath./Report_CCI_Lymphoma.xlsx" out=_lymph dbms=xlsx 
        replace;    RXLX;    datarow=17;    getnames=no;run;
data _lymph;
    set _lymph;
FDA-CBER-2022-5812-0072432
file:///J/...45-0%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-1mth/125742-45_S211_M5_c4591001-A_1mth-P-admh-sas.txt[7/5/2023 7:39:05 AM]    CAT='Lymphoma';
run;
proc import file="&expath./Report_CCI_Metastatic tumour.xlsx" out=_metas 
        dbms=xlsx replace;    RXLX;    datarow=17;    getnames=no;run;
data _metas;
    set _metas;    CAT='Metastatic Solid Tumor';run;
proc import file="&expath./Report_CCI_MI.xlsx" out=_mi dbms=xlsx replace;
    RXLX;    datarow=17;    getnames=no;run;
data _mi;
    set _mi;    CAT='Myocardial Infarction';run;
proc import file="&expath./Report_CCI_Mild liver.xlsx" out=_mild dbms=xlsx 
        replace;    RXLX;    datarow=17;    getnames=no;run;
data _mild;
    set _mild;    CAT='Mild Liver Disease';run;
proc import file="&expath./Report_CCI_Mod sev liver.xlsx" out=_modsev dbms=xlsx 
        replace;    RXLX;    datarow=17;    getnames=no;run;
data _modsev;
    set _modsev;    CAT='Moderate or Severe Liver Disease';run;
proc import file="&expath./Report_CCI_Peptic ulcer.xlsx" out=_peptic dbms=xlsx 
        replace;    RXLX;
    datarow=17;
FDA-CBER-2022-5812-0072433
file:///J/...45-0%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-1mth/125742-45_S211_M5_c4591001-A_1mth-P-admh-sas.txt[7/5/2023 7:39:05 AM]    getnames=no;
run;
data _peptic;
    set _peptic;    CAT='Peptic Ulcer Disease';run;
proc import file="&expath./Report_CCI_Periph vasc.xlsx" out=_peri dbms=xlsx 
        replace;    RXLX;    datarow=17;    getnames=no;run;
data _peri;
    set _peri;    CAT='Peripheral Vascular Disease';run;
proc import file="&expath./Report_CCI_Pulmonary.xlsx" out=_pulm dbms=xlsx 
        replace;    RXLX;    datarow=17;    getnames=no;run;
data _pulm;
    set _pulm;    CAT='Chronic Pulmonary Disease';run;
proc import file="&expath./Report_CCI_Renal.xlsx" out=_renal dbms=xlsx replace;
    RXLX;    datarow=17;    getnames=no;run;
data _renal;
    set _renal;    CAT='Renal Disease';run;
proc import file="&expath./Report_CCI_Rheumatic.xlsx" out=_rheuma dbms=xlsx 
        replace;    RXLX;    datarow=17;    getnames=no;run;
data _rheuma;
    set _rheuma;    CAT='Rheumatic Disease';
run;
FDA-CBER-2022-5812-0072434
file:///J/...45-0%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-1mth/125742-45_S211_M5_c4591001-A_1mth-P-admh-sas.txt[7/5/2023 7:39:05 AM]data _pt;
    length a b $ 200 c CAT $ 100;    set _hiv _mali _cere _chf _deme _diabe_c _diabe _hemip _leuk _lymph _metas _mi         _mild _modsev _peptic _peri _pulm _renal _rheuma;    drop d e f;run;
data report_cci;
    set _pt;    mhptcd=input(b, best.);    rename a=term;
proc sort;
    by mhptcd;run;
proc transpose data=report_cci out=t_cci prefix=CAT;
    by mhptcd term;    var CAT;run;
proc sort data=_mh;
    by mhptcd;run;
data _mh;
    merge _mh(in=a) t_cci(in=b);    by mhptcd;    if a & b then        COMORBFL='Y';    else        COMORBFL='N';    if a;    if cat1 ne "AIDS/HIV" then do;       cat1=upcase(substr(cat1,1,1))||substr(lowcase(cat1),2,length(cat1)-1);     end;    if cat2 ne "AIDS/HIV" then do;       cat2=upcase(substr(cat2,1,1))||substr(lowcase(cat2),2,length(cat2)-1);      end;    drop _NAME_ term;run;
data admh;
    retain STUDYID USUBJID SUBJID SITEID MHSEQ MHTERM MHDECOD MHPTCD MHBODSYS         MHBDSYCD MHLLT MHLLTCD MHPTCD MHHLT MHHLTCD MHHLGT MHHLGTCD MHSOC MHSOCCD         MHCAT MHSTDTC MHENDTC MHENRTPT MHENTPT DICTVER MHSPID ASTDT ASTDTF ASTDY         AENDT AENDTF AENDY COMORBFL CAT1 CAT2 ADT ADTF ADURN ADURU DICTVER USUBJID         SUBJID SITEID AGE AGEU AGEGR1 AGEGR1N SEX SEXN RACE RACEN ARACE ARACEN RANDFL         SAFFL ARM ARMCD ACTARM ACTARMCD TRTSDT TRTSTM TRTSDTM TRTEDT TRTETM TRTEDTM         TRT01A TRT01AN TRT02A TRT02AN TRT01P TRT01PN TRT02P TRT02PN TR01SDT TR01STM         TR01SDTM TR01EDT TR01ETM TR01EDTM TR02SDT TR02STM TR02SDTM TR02EDT TR02ETM 
FDA-CBER-2022-5812-0072435
file:///J/...45-0%20(0211)/0211/m5/datasets/c4591001/analysis/adam/programs-1mth/125742-45_S211_M5_c4591001-A_1mth-P-admh-sas.txt[7/5/2023 7:39:05 AM]        TR02EDTM VAX101 VAX102 VAX10U VAX201 VAX202 VAX20U VAX101DT VAX102DT VAX10UDT 
        VAX201DT VAX202DT VAX20UDT UNBLNDDT RANDDT COHORT COHORTN DOSALVL DOSALVLN 
        DOSPLVL DOSPLVLN DS30KFL PHASE PHASEN AGEGR4 AGEGR4N HIVFL PEDIMMFL MULENRFL         PEDREAFL DS3KFL AGETR01 AGETRU01 RAND1FL SAF1FL SAF2FL;    attrib ASTDT length=8. label="Analysis Start Date" COMORBFL length=$1.         label="Comorbidity Flag" CAT1 length=$100.         label="Charlson Comorbidity Index Category 1" CAT2 length=$100.         label="Charlson Comorbidity Index Category 2" ASTDTF length=$1.         label="Analysis Start Date Imputation Flag" ASTDY         label="Analysis Start Relative Day" AENDT length=8. label="Analysis End Date"         AENDTF length=$1. label="Analysis End Date Imputation Flag" AENDY         label="Analysis End Relative Day" ADT length=8. label="Analysis Date" ADTF         length=$1. label="Analysis Date Imputation Flag" ADURN length=8.         label="Analysis Duration (N)" ADURU length=$10.         label="Analysis Duration Units";    set _mh(keep=STUDYID USUBJID SUBJID SITEID MHSEQ MHTERM MHDECOD MHPTCD         MHBODSYS MHBDSYCD MHLLT MHLLTCD MHPTCD MHHLT MHHLTCD MHHLGT MHHLGTCD MHSOC         MHSOCCD MHCAT MHSTDTC MHENDTC MHENRTPT MHENTPT DICTVER MHSPID ASTDT ASTDTF         ASTDY AENDT AENDTF AENDY COMORBFL CAT1 CAT2 ADT ADTF ADURN ADURU DICTVER         USUBJID SUBJID SITEID AGE AGEU AGEGR1 AGEGR1N SEX SEXN RACE RACEN ARACE         ARACEN RANDFL SAFFL ARM ARMCD ACTARM ACTARMCD TRTSDT TRTSTM TRTSDTM TRTEDT         TRTETM TRTEDTM TRT01A TRT01AN TRT02A TRT02AN TRT01P TRT01PN TRT02P TRT02PN         TR01SDT TR01STM TR01SDTM TR01EDT TR01ETM TR01EDTM TR02SDT TR02STM TR02SDTM         TR02EDT TR02ETM TR02EDTM VAX101 VAX102 VAX10U VAX201 VAX202 VAX20U VAX101DT         VAX102DT VAX10UDT VAX201DT VAX202DT VAX20UDT UNBLNDDT RANDDT COHORT COHORTN         DOSALVL DOSALVLN DOSPLVL DOSPLVLN DS30KFL PHASE PHASEN AGEGR4 AGEGR4N HIVFL         PEDIMMFL MULENRFL PEDREAFL DS3KFL AGETR01 AGETRU01 RAND1FL SAF1FL SAF2FL);run;
proc sort data=admh out=datvprot.admh(label='Medical History Analysis Dataset');
    by MHCAT USUBJID MHSPID MHTERM;run;
proc printto;
run;
FDA-CBER-2022-5812-0072436