/********************************************************************************/ /* ACIP COMPLIANCE REPORT */ /* */ /* THIS REPORT CHECKS THE CURRENT INVENTORY OF ACTIVE VFC PROVIDERS AND */ /* INDICATES IF THE PROVIDER'S INVENTORY IS MISSING DOSES FOR ANY OF THE */ /* FOLLOWING ACIP RECOMMENDED VACCINES: */ /* DTAP, HEP-A, HEP-B, HIB, HPV, MENING, MMR, PCV, POLIO, ROTAVIRUS, TDAP, */ /* VARICELLA. */ /* */ /* SEASONAL TABS ARE INCLUDED THAT ARE UPDATED TO CONTAIN COVID, FLU AND/OR */ /* RSV AS NEEDED. */ /* */ /* LAST UPDATED BY: SHELBY DAVIS */ /* DATE: 12/12/2024 */ /********************************************************************************/ /********************************************************************************/ /***** CREATING TODAY'S DAILY INVENTORY FILE *****/ /* EXPORTING THE REPROT FROM TENNIIS: 1. LOG INTO TENNIIS AND NAVIGATE TO THE REPORT MODULE. 2. SELECT "DAILY INVENTORY REPORT" IN THE TOP "VACCINATIONS" SECTION. 3. MAKE THE FOLLOWING ADJUSTMENTS: a. FUNDING TYPE -- VFC b. HIGHLIGHT ALL VACCINES AND CLICK "ADD." c. ENTER TODAY'S DATE IN BOTH DATE RANGE BOXES (FROM AND THROUGH). 4. CLICK "EXPORT REPORT." /* ALTERING THE CSV FOR IMPORT: 1. OPEN THE CSV USING EXCEL. 2. DELETE THE REPORT HEADER ROWS (1-9). 3. CHANGE THE NAME OF COLUMN E TO "DOSES." 4. SAVE THE FILE AS AN XLSX AND ADD TODAY'S DATE TO THE FILE NAME. a. THE DATE MUST BE ADDED AS _YYYYMMDD TO MATCH THE REPORT MACROS. i. EXAMPLE: DailyInventoryReport_20241206.XLSX /***** CODE EDITS FOR EACH JURISDICTION *****/ /* 1. LINE 66 -- UPDATE LIBNAME WITH YOUR JURISDICTION'S DB CREDENTIALS. 2. UPDATE FILE PATHS IN LINES 77, 108, AND 258 FOR IMPORTS AND EXPORTS. /********************************************************************************/ /***** SET REPORT MACROS *****/ %LET TODAY = %SYSFUNC(DATE(),YYMMDDN8.); %PUT &TODAY; /* EMAIL DATE MACROS */ %LET REPORT_DATE = %SYSFUNC(DATE(),MMDDYYS10.); %LET MONTH = %SCAN(%QSYSFUNC(INTNX(MONTH,%SYSFUNC(TODAY()),-0),WORDDATE), 1); /***** MANUAL EDITS (AS NEEDED) *****/ /* 1. LINE 218 -- COMMENT OUT COVID/FLU/RSV AS REQUESTED FROM VOMS. 2. LINE 279 -- UPDATE TAB 3 INFORMATION AS NEEDED. 3. LINE 408 -- COMMENT OUT COVID/FLU/RSV AS REQUESTED FROM VOMS. /********************************************************************************/ /***** PULL ACTIVE VFC PROVIDERS AND IMPORT INVENTORY *****/ /* CONNECT TO IIS -- UPDATE TO MATCH YOUR JURISDICTION'S DB CREDENTIALS */ LIBNAME IWEB ORACLE USER="" PASSWORD="" PATH="" DBMAX_TEXT=32767; /*** PULL ALL ACTIVE VFC PROVIDERS WITH PINS ***/ PROC SQL; CREATE TABLE ACTIVE_VFC AS SELECT A.IRMS_SYS_ID, B.NAME AS ORG_NAME, A.ASIIS_FAC_ID, A.NAME AS FAC_NAME, A.PIN, CATX('/', B.NAME, A.NAME) AS ORGANIZATION_FACILITY FROM IWEB.H33_FACILITY_MASTER AS A LEFT JOIN IWEB.H33_IRMS AS B ON A.IRMS_SYS_ID = B.IRMS_SYS_ID WHERE A.INACTIVE_STATUS IS NULL AND A.VFC_STATUS_CODE = '1'; /* 1 = ACTIVE VFC */ QUIT; /*** IMPORT TODAY'S DAILY INVENTORY REPORT ***/ PROC IMPORT DATAFILE = "FILEPATH\DailyInventoryReport_&TODAY..xlsx" OUT = DAILY_INVENTORY DBMS = XLSX REPLACE; GETNAMES = YES; RUN; /* CLEAN THE DAILY_INVENTORY DATASET */ DATA DAILY_INVENTORY; SET DAILY_INVENTORY; IF VACCINE = '' THEN DELETE; /* DELETE "TOTALS" ROWS */ IF DOSES LE 0 THEN DELETE; /* DELETE LOTS WITH 0 AVAILABLE DOSES */ RUN; /* MATCH INVENTORY TO PROVIDERS */ PROC SQL; CREATE TABLE INVENTORY_MERGE AS SELECT A.ORGANIZATION_FACILITY, B.FAC_NAME, B.ASIIS_FAC_ID, B.PIN, A.VACCINE, A.LOT_NUMBER, A.DOSES FROM DAILY_INVENTORY AS A LEFT JOIN ACTIVE_VFC AS B ON COMPRESS(A.ORGANIZATION_FACILITY) = COMPRESS(B.ORGANIZATION_FACILITY); QUIT; /* DELETE ROWS THAT DID NOT MATCH TO AN ACTIVE VFC PROVIDER -- DQ CHECK (SOME PROVIDERS ARE INACTIVATED WITHOUT CLEARING INVENTORY) */ DATA INVENTORY_MERGE2 INACTIVE_WITH_INVENTORY; SET INVENTORY_MERGE; IF PIN = '' THEN OUTPUT INACTIVE_WITH_INVENTORY; ELSE OUTPUT INVENTORY_MERGE2; RUN; /*** OUTPUT INACTIVE_WITH_INVENTORY FOR VOMS DATA CLEANING ***/ PROC EXPORT DATA = INACTIVE_WITH_INVENTORY OUTFILE = "FILEPATH\INACTIVES WITH INVENTORY_&TODAY..XLSX" DBMS = EXCEL REPLACE; RUN; /***** MATCH VACCINE INFORMATION AND LIMIT TO ACIP VACCINE FAMILIES *****/ /* PULL VACCINE INFORMATION FROM TENNIIS */ PROC SQL; CREATE TABLE VACCINE_INFO AS SELECT A.FAMILY_CODE, B.ASIIS_VACC_CODE, B.ASIIS_DESCRIPTION FROM IWEB.H33_VACCINE_FAMILY AS A LEFT JOIN IWEB.H33_ASIIS_VACC_CODE AS B ON A.ASIIS_VACC_CODE = B.ASIIS_VACC_CODE WHERE A.FAMILY_CODE IN(1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 20, 21, 24, 33, 37); QUIT; /* MATCH ASIIS INFORMATION TO INVENTORY -- THERE WILL BE DUPLICATES DUE TO COMBINATION VACCINES BELONGING TO MULTIPLE FAMILIES */ PROC SQL; CREATE TABLE VACCINE_INFO_MATCH AS SELECT A.ASIIS_FAC_ID, A.FAC_NAME, A.PIN, A.LOT_NUMBER, A.VACCINE, B.FAMILY_CODE, B.ASIIS_VACC_CODE FROM INVENTORY_MERGE2 AS A LEFT JOIN VACCINE_INFO AS B ON A.VACCINE = B.ASIIS_DESCRIPTION; /* MATCH ON ASIIS_DESCRIPTION BECAUSE THAT IS WHAT'S DISPLAYED IN THE DAILY INVENTORY REPORT OUTPUT */ QUIT; /***** CREATING THE ACIP COMPLIANCE GRIDS *****/ PROC SQL; CREATE TABLE ACIP_GRID AS SELECT ASIIS_FAC_ID, FAC_NAME, PIN, MAX(CASE WHEN FAMILY_CODE = 1 THEN 'X' ELSE '' END) AS DTAP, MAX(CASE WHEN FAMILY_CODE = 9 THEN 'X' ELSE '' END) AS HEP_A, MAX(CASE WHEN FAMILY_CODE = 4 THEN 'X' ELSE '' END) AS HEP_B, MAX(CASE WHEN FAMILY_CODE = 2 THEN 'X' ELSE '' END) AS HIB, MAX(CASE WHEN FAMILY_CODE = 21 THEN 'X' ELSE '' END) AS HPV, MAX(CASE WHEN FAMILY_CODE = 7 THEN 'X' ELSE '' END) AS MENING, MAX(CASE WHEN FAMILY_CODE = 5 THEN 'X' ELSE '' END) AS MMR, MAX(CASE WHEN FAMILY_CODE = 11 OR ASIIS_VACC_CODE = 3018 THEN 'X' ELSE '' END) AS PCV, MAX(CASE WHEN FAMILY_CODE = 3 THEN 'X' ELSE '' END) AS POLIO, MAX(CASE WHEN FAMILY_CODE = 20 THEN 'X' ELSE '' END) AS ROTAVIRUS, MAX(CASE WHEN FAMILY_CODE = 24 THEN 'X' ELSE '' END) AS TDAP, MAX(CASE WHEN FAMILY_CODE = 6 THEN 'X' ELSE '' END) AS VARICELLA, MAX(CASE WHEN FAMILY_CODE = 33 THEN 'X' ELSE '' END) AS COVID, MAX(CASE WHEN FAMILY_CODE = 10 THEN 'X' ELSE '' END) AS FLU, MAX(CASE WHEN FAMILY_CODE = 37 AND ASIIS_VACC_CODE IN(3048, 3049) THEN 'X' ELSE '' END) AS RSV FROM VACCINE_INFO_MATCH GROUP BY ASIIS_FAC_ID; QUIT; /* LIMIT TO ONE LINE PER FACILITY */ PROC SORT DATA = ACIP_GRID NODUP; BY _ALL_; RUN; /*** GRID 1 -- INVENTORY CONTAINS ALL ACIP-RECOMMENDED VACCINES (EXCLUDES COVID) ***/ PROC SQL; CREATE TABLE GRID_1 AS SELECT FAC_NAME, PIN, DTAP, HEP_A, HEP_B, HIB, HPV, MENING, MMR, PCV, POLIO, ROTAVIRUS, TDAP, VARICELLA, /* CREAT COMPLIANCE Y/N INDICATOR */ CASE WHEN DTAP = 'X' AND HEP_A = 'X' AND HEP_B = 'X' AND HIB = 'X' AND HPV = 'X' AND MENING = 'X' AND MMR = 'X' AND PCV = 'X' AND POLIO = 'X' AND ROTAVIRUS = 'X' AND TDAP = 'X' AND VARICELLA = 'X' THEN 'Y' ELSE 'N' END AS COMPLIANT FROM ACIP_GRID ORDER BY FAC_NAME; QUIT; /*** GRID 2 -- INVENTORY CONTAINS ALL ACIP-RECOMMENDED VACCINES AND SEASONAL VACCINES (COVID-19/FLU/RSV) ***/ PROC SQL; CREATE TABLE GRID_2 AS SELECT FAC_NAME, PIN, COVID, DTAP, FLU, HEP_A, HEP_B, HIB, HPV, MENING, MMR, PCV, POLIO, ROTAVIRUS, RSV, TDAP, VARICELLA, /* CREAT COMPLIANCE Y/N INDICATOR */ CASE WHEN COVID = 'X' AND DTAP = 'X' AND FLU = 'X' AND HEP_A = 'X' AND HEP_B = 'X' AND HIB = 'X' AND HPV = 'X' AND MENING = 'X' AND MMR = 'X' AND PCV = 'X' AND POLIO = 'X' AND ROTAVIRUS = 'X' AND RSV = 'X' AND TDAP = 'X' AND VARICELLA = 'X' THEN 'Y' ELSE 'N' END AS COMPLIANT FROM ACIP_GRID ORDER BY FAC_NAME; QUIT; /***** CREATE OVERALL COMPLIANCE PER VACCINE SUMMARY *****/ PROC SQL NOPRINT; SELECT COUNT(DISTINCT PIN) INTO: N_PROVIDERS FROM ACIP_GRID; QUIT; %PUT &N_PROVIDERS; PROC SQL; CREATE TABLE COMP_PERCENT AS SELECT (SUM(CASE WHEN COVID = 'X' THEN 1 ELSE 0 END))/&N_PROVIDERS AS COVID FORMAT PERCENT10.1, (SUM(CASE WHEN DTAP = 'X' THEN 1 ELSE 0 END))/&N_PROVIDERS AS DTAP FORMAT PERCENT10.1, (SUM(CASE WHEN FLU = 'X' THEN 1 ELSE 0 END))/&N_PROVIDERS AS FLU FORMAT PERCENT10.1, (SUM(CASE WHEN HEP_A = 'X' THEN 1 ELSE 0 END))/&N_PROVIDERS AS HEP_A FORMAT PERCENT10.1, (SUM(CASE WHEN HEP_B = 'X' THEN 1 ELSE 0 END))/&N_PROVIDERS AS HEP_B FORMAT PERCENT10.1, (SUM(CASE WHEN HIB = 'X' THEN 1 ELSE 0 END))/&N_PROVIDERS AS HIB FORMAT PERCENT10.1, (SUM(CASE WHEN HPV = 'X' THEN 1 ELSE 0 END))/&N_PROVIDERS AS HPV FORMAT PERCENT10.1, (SUM(CASE WHEN MENING = 'X' THEN 1 ELSE 0 END))/&N_PROVIDERS AS MENING FORMAT PERCENT10.1, (SUM(CASE WHEN MMR = 'X' THEN 1 ELSE 0 END))/&N_PROVIDERS AS MMR FORMAT PERCENT10.1, (SUM(CASE WHEN PCV = 'X' THEN 1 ELSE 0 END))/&N_PROVIDERS AS PCV FORMAT PERCENT10.1, (SUM(CASE WHEN POLIO = 'X' THEN 1 ELSE 0 END))/&N_PROVIDERS AS POLIO FORMAT PERCENT10.1, (SUM(CASE WHEN ROTAVIRUS = 'X' THEN 1 ELSE 0 END))/&N_PROVIDERS AS ROTAVIRUS FORMAT PERCENT10.1, (SUM(CASE WHEN RSV = 'X' THEN 1 ELSE 0 END))/&N_PROVIDERS AS RSV FORMAT PERCENT10.1, (SUM(CASE WHEN TDAP = 'X' THEN 1 ELSE 0 END))/&N_PROVIDERS AS TDAP FORMAT PERCENT10.1, (SUM(CASE WHEN VARICELLA = 'X' THEN 1 ELSE 0 END))/&N_PROVIDERS AS VARICELLA FORMAT PERCENT10.1 FROM ACIP_GRID; QUIT; /* TRANSPOSE INTO TWO COLUMNS */ PROC TRANSPOSE DATA = COMP_PERCENT OUT = COMP_PERCENT_T; RUN; DATA COMP_PERCENT_T; SET COMP_PERCENT_T; RENAME _NAME_ = VACCINE COL1 = PERCENT; RUN; /* CREATE COMPLIANCE PERCENTAGE MACROS FOR TAB HEADERS */ PROC SQL NOPRINT; SELECT (SUM(CASE WHEN COMPLIANT = 'Y' THEN 1 ELSE 0 END))/&N_PROVIDERS FORMAT PERCENT10.1 INTO: COMP_ALL FROM GRID_1; QUIT; %PUT &COMP_ALL; PROC SQL NOPRINT; SELECT (SUM(CASE WHEN COMPLIANT = 'Y' THEN 1 ELSE 0 END))/&N_PROVIDERS FORMAT PERCENT10.1 INTO: COMP_SEASONAL FROM GRID_2; QUIT; %PUT &COMP_SEASONAL; /********************************************************************************/ /***** CREATE FINAL REPORT *****/ /* CREATE REPORT SUMMARY TAB -- UPDATE TAB 2 WHEN NECESSARY */ DATA SUMMARY_TAB; INFILE DATALINES DELIMITER = '|'; LENGTH TAB $ 100; INPUT TAB $; DATALINES; Tab 1 - Compliance for ALL ACIP vaccines Tab 2 - Seasonal Compliance (includes COVID, Flu, and RSV) Tab 3 - Compliance Rate per Vaccine ; RUN; /***** EXPORT REPORT *****/ ODS LISTING CLOSE; ODS NORESULTS; OPTIONS LEFTMARGIN=.5IN TOPMARGIN=.5IN RIGHTMARGIN=.5IN BOTTOMMARGIN=.75IN; ODS EXCEL STYLE = MINIMAL STYLE = MINIMAL FILE ="FILEPATH\ACIP_COMPLIANCE_&TODAY..XLSX" OPTIONS(FLOW='TABLES'); /* SUMMARY TAB */ ODS EXCEL OPTIONS(SHEET_NAME='SUMMARY' ORIENTATION = 'LANDSCAPE' PAGES_FITWIDTH='1' PAGES_FITHEIGHT='1' PRINT_HEADER='' AUTOFILTER='YES' EMBEDDED_TITLES='YES' ABSOLUTE_COLUMN_WIDTH='50'); TITLE J=L BOLD FONT='OPEN SANS LIGHT' HEIGHT=14PT "ACIP Compliance Report"; PROC REPORT DATA=SUMMARY_TAB NOWD SPLIT='~' STYLE(REPORT)={FONT_FACE='OPEN SANS LIGHT' FONT_SIZE=2 BORDERCOLOR=BLACK} STYLE(COLUMN)={VJUST=M JUST=LEFT FONT_FACE='OPEN SANS LIGHT' BACKGROUND=WHITE FOREGROUND=BLACK FONT_SIZE=1 BORDERCOLOR=BLACK BORDERSTYLE=SOLID} STYLE(HEADER)={VJUST=M JUST=CENTER FONT_FACE='OPEN SANS LIGHT' CELLHEIGHT=30 FONT_SIZE=2 FONTWEIGHT=BOLD FOREGROUND=BLACK BORDERCOLOR=BLACK BORDERSTYLE=SOLID BACKGROUND=VLIBG}; COLUMN TAB; DEFINE TAB / DISPLAY "TAB" STYLE(COLUMN)=[BACKGROUND=WHITE]; RUN; /* TAB 1 - ALL ACIP VACCINES */ ODS EXCEL OPTIONS(SHEET_NAME='ALL ACIP VACCINES' ORIENTATION = 'LANDSCAPE' PAGES_FITWIDTH='1' PAGES_FITHEIGHT='1' PRINT_HEADER='' PRINT_FOOTER='' AUTOFILTER='YES' FROZEN_HEADERS='4' FROZEN_ROWHEADERS='3' EMBEDDED_TITLES='YES' ABSOLUTE_COLUMN_WIDTH='50, 13, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16'); TITLE1 J=L BOLD FONT="OPEN SANS LIGHT" HEIGHT=14PT "Compliance for ALL ACIP Vaccines"; TITLE2 J=L FONT="OPEN SANS LIGHT" HEIGHT=11PT "Compliance Rate: &COMP_ALL"; PROC REPORT DATA=GRID_1 NOWD SPLIT='~' STYLE(REPORT)={FONT_FACE='OPEN SANS LIGHT' FONT_SIZE=2 BORDERCOLOR=BLACK} STYLE(COLUMN)={VJUST=M JUST=CENTER FONT_FACE='OPEN SANS LIGHT' CELLHEIGHT=15 BACKGROUND=WHITE FOREGROUND=BLACK FONT_SIZE=1 BORDERCOLOR=BLACK BORDERSTYLE=SOLID} STYLE(HEADER)={VJUST=M JUST=CENTER FONT_FACE='OPEN SANS LIGHT' CELLHEIGHT=30 FONT_SIZE=2 FONTWEIGHT=BOLD FOREGROUND=BLACK BORDERCOLOR=BLACK BORDERSTYLE=SOLID BACKGROUND=VLIBG}; COLUMN (FAC_NAME PIN COMPLIANT DTAP HEP_A HEP_B HIB HPV MENING MMR PCV POLIO ROTAVIRUS TDAP VARICELLA); DEFINE FAC_NAME / DISPLAY "FACILITY NAME" STYLE(COLUMN)=[BACKGROUND=WHITE JUST=LEFT]; DEFINE PIN / DISPLAY "VFC PIN" STYLE(COLUMN)=[BACKGROUND=WHITE]; DEFINE COMPLIANT / DISPLAY "COMPLIANT?" STYLE(COLUMN)=[BACKGROUND=WHITE]; DEFINE DTAP / DISPLAY "DTAP" STYLE(COLUMN)=[BACKGROUND=WHITE]; DEFINE HEP_A / DISPLAY "HEP-A" STYLE(COLUMN)=[BACKGROUND=WHITE]; DEFINE HEP_B / DISPLAY "HEP-B" STYLE(COLUMN)=[BACKGROUND=WHITE]; DEFINE HIB / DISPLAY "HIB" STYLE(COLUMN)=[BACKGROUND=WHITE]; DEFINE HPV / DISPLAY "HPV" STYLE(COLUMN)=[BACKGROUND=WHITE]; DEFINE MENING / DISPLAY "MENING" STYLE(COLUMN)=[BACKGROUND=WHITE]; DEFINE MMR / DISPLAY "MMR" STYLE(COLUMN)=[BACKGROUND=WHITE]; DEFINE PCV / DISPLAY "PCV" STYLE(COLUMN)=[BACKGROUND=WHITE]; DEFINE POLIO / DISPLAY "POLIO" STYLE(COLUMN)=[BACKGROUND=WHITE]; DEFINE ROTAVIRUS / DISPLAY "ROTAVIRUS" STYLE(COLUMN)=[BACKGROUND=WHITE]; DEFINE TDAP / DISPLAY "TDAP" STYLE(COLUMN)=[BACKGROUND=WHITE]; DEFINE VARICELLA / DISPLAY "VARICELLA" STYLE(COLUMN)=[BACKGROUND=WHITE]; COMPUTE COMPLIANT; IF COMPLIANT = 'N' THEN CALL DEFINE (_COL_, "STYLE", "STYLE = {BACKGROUND = LIGHT RED}"); ENDCOMP; COMPUTE DTAP; IF DTAP = '' THEN CALL DEFINE (_COL_, "STYLE", "STYLE = {BACKGROUND = LIGHT RED}"); ENDCOMP; COMPUTE HEP_A; IF HEP_A = '' THEN CALL DEFINE (_COL_, "STYLE", "STYLE = {BACKGROUND = LIGHT RED}"); ENDCOMP; COMPUTE HEP_B; IF HEP_B = '' THEN CALL DEFINE (_COL_, "STYLE", "STYLE = {BACKGROUND = LIGHT RED}"); ENDCOMP; COMPUTE HIB; IF HIB = '' THEN CALL DEFINE (_COL_, "STYLE", "STYLE = {BACKGROUND = LIGHT RED}"); ENDCOMP; COMPUTE HPV; IF HPV = '' THEN CALL DEFINE (_COL_, "STYLE", "STYLE = {BACKGROUND = LIGHT RED}"); ENDCOMP; COMPUTE MENING; IF MENING = '' THEN CALL DEFINE (_COL_, "STYLE", "STYLE = {BACKGROUND = LIGHT RED}"); ENDCOMP; COMPUTE MMR; IF MMR = '' THEN CALL DEFINE (_COL_, "STYLE", "STYLE = {BACKGROUND = LIGHT RED}"); ENDCOMP; COMPUTE PCV; IF PCV = '' THEN CALL DEFINE (_COL_, "STYLE", "STYLE = {BACKGROUND = LIGHT RED}"); ENDCOMP; COMPUTE POLIO; IF POLIO = '' THEN CALL DEFINE (_COL_, "STYLE", "STYLE = {BACKGROUND = LIGHT RED}"); ENDCOMP; COMPUTE ROTAVIRUS; IF ROTAVIRUS = '' THEN CALL DEFINE (_COL_, "STYLE", "STYLE = {BACKGROUND = LIGHT RED}"); ENDCOMP; COMPUTE TDAP ; IF TDAP = '' THEN CALL DEFINE (_COL_, "STYLE", "STYLE = {BACKGROUND = LIGHT RED}"); ENDCOMP; COMPUTE VARICELLA; IF VARICELLA = '' THEN CALL DEFINE (_COL_, "STYLE", "STYLE = {BACKGROUND = LIGHT RED}"); ENDCOMP; RUN; /* TAB 2 - SEASONAL COMPLIANCE -- UPDATE WHEN NECESSARY */ ODS EXCEL OPTIONS(SHEET_NAME='SEASONAL' ORIENTATION = 'LANDSCAPE' PAGES_FITWIDTH='1' PAGES_FITHEIGHT='1' PRINT_HEADER='' PRINT_FOOTER='' AUTOFILTER='YES' FROZEN_HEADERS='4' FROZEN_ROWHEADERS='3' EMBEDDED_TITLES='YES' ABSOLUTE_COLUMN_WIDTH='50, 13, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16'); TITLE1 J=L BOLD FONT="OPEN SANS LIGHT" HEIGHT=14PT "Compliance for Seasonal ACIP Vaccines (COVID, Flu, and RSV)"; /* UPDATE */ TITLE2 J=L FONT="OPEN SANS LIGHT" HEIGHT=11PT "Compliance Rate: &COMP_SEASONAL"; PROC REPORT DATA= GRID_2 NOWD SPLIT='~' STYLE(REPORT)={FONT_FACE='OPEN SANS LIGHT' FONT_SIZE=2 BORDERCOLOR=BLACK} STYLE(COLUMN)={VJUST=M JUST=CENTER FONT_FACE='OPEN SANS LIGHT' CELLHEIGHT=15 BACKGROUND=WHITE FOREGROUND=BLACK FONT_SIZE=1 BORDERCOLOR=BLACK BORDERSTYLE=SOLID} STYLE(HEADER)={VJUST=M JUST=CENTER FONT_FACE='OPEN SANS LIGHT' CELLHEIGHT=30 FONT_SIZE=2 FONTWEIGHT=BOLD FOREGROUND=BLACK BORDERCOLOR=BLACK BORDERSTYLE=SOLID BACKGROUND=VLIBG}; COLUMN (FAC_NAME PIN COMPLIANT COVID DTAP FLU HEP_A HEP_B HIB HPV MENING MMR PCV POLIO ROTAVIRUS RSV TDAP VARICELLA); /* UPDATE */ DEFINE FAC_NAME / DISPLAY "FACILITY NAME" STYLE(COLUMN)=[BACKGROUND=WHITE JUST=LEFT]; DEFINE PIN / DISPLAY "VFC PIN" STYLE(COLUMN)=[BACKGROUND=WHITE]; DEFINE COMPLIANT / DISPLAY "COMPLIANT?" STYLE(COLUMN)=[BACKGROUND=WHITE]; DEFINE COVID / DISPLAY "COVID" STYLE(COLUMN)=[BACKGROUND=WHITE]; /* UPDATE */ DEFINE DTAP / DISPLAY "DTAP" STYLE(COLUMN)=[BACKGROUND=WHITE]; DEFINE FLU / DISPLAY "FLU" STYLE(COLUMN)=[BACKGROUND=WHITE]; /* UPDATE */ DEFINE HEP_A / DISPLAY "HEP-A" STYLE(COLUMN)=[BACKGROUND=WHITE]; DEFINE HEP_B / DISPLAY "HEP-B" STYLE(COLUMN)=[BACKGROUND=WHITE]; DEFINE HIB / DISPLAY "HIB" STYLE(COLUMN)=[BACKGROUND=WHITE]; DEFINE HPV / DISPLAY "HPV" STYLE(COLUMN)=[BACKGROUND=WHITE]; DEFINE MENING / DISPLAY "MENING" STYLE(COLUMN)=[BACKGROUND=WHITE]; DEFINE MMR / DISPLAY "MMR" STYLE(COLUMN)=[BACKGROUND=WHITE]; DEFINE PCV / DISPLAY "PCV" STYLE(COLUMN)=[BACKGROUND=WHITE]; DEFINE POLIO / DISPLAY "POLIO" STYLE(COLUMN)=[BACKGROUND=WHITE]; DEFINE ROTAVIRUS / DISPLAY "ROTAVIRUS" STYLE(COLUMN)=[BACKGROUND=WHITE]; DEFINE RSV / DISPLAY "RSV" STYLE(COLUMN)=[BACKGROUND=WHITE]; /* UPDATE */ DEFINE TDAP / DISPLAY "TDAP" STYLE(COLUMN)=[BACKGROUND=WHITE]; DEFINE VARICELLA / DISPLAY "VARICELLA" STYLE(COLUMN)=[BACKGROUND=WHITE]; COMPUTE COMPLIANT; IF COMPLIANT = 'N' THEN CALL DEFINE (_COL_, "STYLE", "STYLE = {BACKGROUND = LIGHT RED}"); ENDCOMP; COMPUTE COVID; IF COVID = '' THEN CALL DEFINE (_COL_, "STYLE", "STYLE = {BACKGROUND = LIGHT RED}"); ENDCOMP; /* UPDATE */ COMPUTE DTAP; IF DTAP = '' THEN CALL DEFINE (_COL_, "STYLE", "STYLE = {BACKGROUND = LIGHT RED}"); ENDCOMP; COMPUTE FLU; IF FLU = '' THEN CALL DEFINE (_COL_, "STYLE", "STYLE = {BACKGROUND = LIGHT RED}"); ENDCOMP; /* UPDATE */ COMPUTE HEP_A; IF HEP_A = '' THEN CALL DEFINE (_COL_, "STYLE", "STYLE = {BACKGROUND = LIGHT RED}"); ENDCOMP; COMPUTE HEP_B; IF HEP_B = '' THEN CALL DEFINE (_COL_, "STYLE", "STYLE = {BACKGROUND = LIGHT RED}"); ENDCOMP; COMPUTE HIB; IF HIB = '' THEN CALL DEFINE (_COL_, "STYLE", "STYLE = {BACKGROUND = LIGHT RED}"); ENDCOMP; COMPUTE HPV; IF HPV = '' THEN CALL DEFINE (_COL_, "STYLE", "STYLE = {BACKGROUND = LIGHT RED}"); ENDCOMP; COMPUTE MENING; IF MENING = '' THEN CALL DEFINE (_COL_, "STYLE", "STYLE = {BACKGROUND = LIGHT RED}"); ENDCOMP; COMPUTE MMR; IF MMR = '' THEN CALL DEFINE (_COL_, "STYLE", "STYLE = {BACKGROUND = LIGHT RED}"); ENDCOMP; COMPUTE PCV; IF PCV = '' THEN CALL DEFINE (_COL_, "STYLE", "STYLE = {BACKGROUND = LIGHT RED}"); ENDCOMP; COMPUTE POLIO; IF POLIO = '' THEN CALL DEFINE (_COL_, "STYLE", "STYLE = {BACKGROUND = LIGHT RED}"); ENDCOMP; COMPUTE ROTAVIRUS; IF ROTAVIRUS = '' THEN CALL DEFINE (_COL_, "STYLE", "STYLE = {BACKGROUND = LIGHT RED}"); ENDCOMP; COMPUTE RSV; IF RSV = '' THEN CALL DEFINE (_COL_, "STYLE", "STYLE = {BACKGROUND = LIGHT RED}"); ENDCOMP; /* UPDATE */ COMPUTE TDAP; IF TDAP = '' THEN CALL DEFINE (_COL_, "STYLE", "STYLE = {BACKGROUND = LIGHT RED}"); ENDCOMP; COMPUTE VARICELLA; IF VARICELLA = '' THEN CALL DEFINE (_COL_, "STYLE", "STYLE = {BACKGROUND = LIGHT RED}"); ENDCOMP; RUN; /* TAB 3 - COMPLIANCE RATE PER VACCINE -- UPDATE WHEN NECESSARY */ ODS EXCEL OPTIONS(SHEET_NAME='COMPLIANCE RATES' ORIENTATION = 'LANDSCAPE' PAGES_FITWIDTH='1' PAGES_FITHEIGHT='1' PRINT_HEADER='' PRINT_FOOTER='' FROZEN_HEADERS='0' FROZEN_ROWHEADERS='0' EMBEDDED_TITLES='YES' ABSOLUTE_COLUMN_WIDTH='25, 25'); TITLE1 J=L BOLD FONT="OPEN SANS LIGHT" HEIGHT=14PT "Compliance Rate per Vaccine"; PROC REPORT DATA=COMP_PERCENT_T NOWD SPLIT='~' STYLE(REPORT)={FONT_FACE='OPEN SANS LIGHT' FONT_SIZE=2 BORDERCOLOR=BLACK} STYLE(COLUMN)={VJUST=M JUST=CENTER FONT_FACE='OPEN SANS LIGHT' BACKGROUND=WHITE FOREGROUND=BLACK FONT_SIZE=1 BORDERCOLOR=BLACK BORDERSTYLE=SOLID} STYLE(HEADER)={VJUST=M JUST=CENTER FONT_FACE='OPEN SANS LIGHT' CELLHEIGHT=30 FONT_SIZE=2 FONTWEIGHT=BOLD FOREGROUND=BLACK BORDERCOLOR=BLACK BORDERSTYLE=SOLID BACKGROUND=VLIBG}; COLUMN (VACCINE PERCENT); DEFINE VACCINE / DISPLAY "VACCINE" STYLE(COLUMN)=[BACKGROUND=WHITE]; DEFINE PERCENT / DISPLAY "PPERCENT" STYLE(COLUMN)=[BACKGROUND=WHITE]; RUN; ODS EXCEL CLOSE;