****************************************************************************************************
*                                           PROGRAM OVERVIEW
****************************************************************************************************
*
* PROGRAM: createlookupfiles.sas  
* Created (mm/dd/yyyy): 02/11/2019
*
*--------------------------------------------------------------------------------------------------
* PURPOSE: Call macros to compute drugclass
*          Include type 5 levelIDs file generating code
*          Copy other files from inputfiles to msoc
*
*  Program inputs:                                                                                   
*   -
* 
*  Program outputs:                                                                                                                                       
*       - drugclass.sas7bdat           
*       - labcodesmap.sas7bdat
*       - zipfile.sas7bdat
*       - pregnancyduration.sas7bdat
*       - pregnancymeta.sas7bdat
*       - pregnancycodes.sas7bdat
*       - riskscorecodes.sas7bdat
*       - icd10icd9map.sas7bdat
*       - icd10_child_parent.sas7bdat
*       - icd9_child_parent.sas7bdat
*       - mlccs_child_parent.sas7bdat
*		- congenital_malformation_tree.sas7bdat
*
*  PARAMETERS:        

*  Programming Notes:                                                                                
*                                                                           
*
*--------------------------------------------------------------------------------------------------
* CONTACT INFO: 
*  Sentinel Coordinating Center
*  info@sentinelsystem.org
*
***************************************************************************************************;

%macro createlookupfiles();

    %put =====> MACRO CALLED: createlookupfiles;

    /*Today's date*/
    %put &sysdate.;

    /*Print log to MSOC folder*/
    proc printto log="&msoc.\qrp_lookupfiles.log" new;
    run;

    /*Clean work*/
    proc datasets lib=work kill memtype=DATA nolist nowarn; quit;

	/*** Riskscorecodes RX codes update ***/
    %if %upcase(&UpdateRiskscorecodesRX.) eq Y %then %do;
        %riskscorecodes_rx_update();
    %end;

    /*** Drug Class File ***/
    %if %upcase(&CREATEDRUGFILE) eq Y %then %do;
        %drugclass_lookup();
    %end;
    
    /*** Labs Codes Mapping File ***/
    data msoc.labcodesmap(label="Execution Date &sysdate");
        set infolder.labcodesmap;
    run;

    /*** Zip code lookup file ***/
    data msoc.zipfile(label="Execution Date &sysdate");
        set infolder.zipfile;
    run;

    /*** Pregnancy duration file***/
    data msoc.pregnancyduration(label="Execution Date &sysdate");
        set infolder.pregnancyduration;
    run;

	/*** Pregnancy meta file***/
    data msoc.pregnancymeta(label="Execution Date &sysdate");
        set infolder.pregnancymeta;
    run;

	/*** Pregnancy codes file***/
    data msoc.pregnancycodes(label="Execution Date &sysdate");
        set infolder.pregnancycodes;
    run;
    
    /*** Sentinel Logo ***/
    /*** Already saved to MSOC ***/

    /*** ICD10-09 Mapping file ***/
    data msoc.icd10icd9map(label="Execution Date &sysdate");
        set infolder.icd10icd9map;
    run;

	/*** ICD10Tree file ***/
    %icd10tree_lookup();

    /*** MLCCS child-parent map ***/
    data msoc.icd9_child_parent(label="Execution Date &sysdate");
        set infolder.mlccs_child_parent;
    run;

	/*** Congenital malformation expanded tree file ***/
    data msoc.congenital_malformation_tree(label="Execution Date &sysdate");
        set infolder.congenital_malformation_tree;
    run;

    /*Clean work*/
    proc datasets lib=work kill memtype=DATA nolist nowarn; quit;
    
    /*Print Log*/
    proc printto;
    run;

    %put =====> END MACRO: createlookupfiles;

%mend createlookupfiles;