For the life of me, I can not figure out my I am getting the below error message
%macro population_setup;
%global pop_logic;
%if "&population." = "MedicareHMOH0504" %then %do;
%let pop_logic = payercode = 'RR' and ProductCode = 'H' and MemberEnrollmentAltID8 in ('M');
%end;
%else %if "&population." = "MedicareHMOH5928" %then %do;
%let pop_logic = (payercode in ('RR', 'NR') and ProductCode = 'H' and MemberEnrollmentAltID8 in ('R')) or
(payercode in ('RR', 'NR') and ProductCode = 'H' and MemberEnrollmentAltID8 in ('D', 'E') and memberenrollmentaltid12 = '');
%end;
%else %if "&population." = "MedicarePPO" %then %do;
%let pop_logic = payercode = 'RR' and ProductCode = 'P' and MemberEnrollmentAltID8 = 'Z';
%end;
%else %if "&population." = "MedicareSNP005" %then %do;
%let pop_logic = (payercode = 'NR' and ProductCode = 'H' and MemberEnrollmentAltID8 in ('H', 'I', 'J')) or
(payercode = 'NR' and ProductCode = 'H' and MemberEnrollmentAltID8 in ('D', 'E') and MemberEnrollmentAltID12 = 'SNP005_YES');
%end;
%else %if "&population." = "MedicareSNP054" %then %do;
%let pop_logic = (payercode = 'NR' and ProductCode = 'H' and MemberEnrollmentAltID8 = 'W') or
(payercode = 'NR' and ProductCode = 'H' and MemberEnrollmentAltID8 in ('D', 'E') and MemberEnrollmentAltID12 = 'SNP054_YES');
%end;
%mend;
%population_setup;
%let datek = '01JAN2024'D;
/** Pull PHP Medicare members as of 01JAN2024 **/
proc sql;
create table php_mcare_mem (compress=yes) as
select distinct memberkey, TerminationDate, PayerCode, ProductCode, MemberEnrollmentAltID8
from php.ENROLL_PROMISE_FINAL_COLLAPSED as a
where &population_setup. and TerminationDate GT &datek.
order by memberkey, TerminationDate;
quit;
Error Message
The SAS System 09:32 Tuesday, July 16, 2024
1 ;*';*";*/;quit;run;
2 OPTIONS PAGENO=MIN;
3 %LET _CLIENTTASKLABEL='MY24_Medicare_CAHPS_Combined.sas';
4 %LET _CLIENTPROCESSFLOWNAME='Process Flow';
5 %LET
5 ! _CLIENTPROJECTPATH='/home/ijones01/sasdata3_MI_projects_hedis_vendor/production/inovalon/programs/hedisMY2024/hos/
5 ! MY24_HOS.egp';
6 %LET _CLIENTPROJECTPATHHOST='uapp6227p.bsc.bscal.com';
7 %LET _CLIENTPROJECTNAME='MY24_HOS.egp';
8 %LET
8 ! _SASPROGRAMFILE='/home/ijones01/sasdata3_MI_projects_hedis_vendor/production/inovalon/programs/hedisMY2024/hos/MY2
8 ! 4_Medicare_CAHPS_Combined.sas';
9 %LET _SASPROGRAMFILEHOST='uapp6227p.bsc.bscal.com';
10
11 ODS _ALL_ CLOSE;
12 OPTIONS DEV=SVG;
13 GOPTIONS XPIXELS=0 YPIXELS=0;
14 %macro HTML5AccessibleGraphSupported;
15 %if %_SAS_VERCOMP_FV(9,4,4, 0,0,0) >= 0 %then ACCESSIBLE_GRAPH;
16 %mend;
17 FILENAME EGHTML TEMP;
18 ODS HTML5(ID=EGHTML) FILE=EGHTML
19 OPTIONS(BITMAP_MODE='INLINE')
20 %HTML5AccessibleGraphSupported
21 ENCODING='utf-8'
22 STYLE=HtmlBlue
23 NOGTITLE
24 NOGFOOTNOTE
25 GPATH=&sasworklocation
26 ;
NOTE: Writing HTML5(EGHTML) Body file: EGHTML
27
28 libname MCAHPS '/sasdata3_MI_projects_hedis_vendor/production/inovalon/programs/hedisMY2024/hos';
NOTE: Libref MCAHPS was successfully assigned as follows:
Engine: V9
Physical Name: /sasdata3_MI_projects_hedis_vendor/production/inovalon/programs/hedisMY2024/hos
29 libname php '/sasdata3_MI_projects_hedis_vendor/production/inovprev/data/extract/membership/php';
NOTE: Libref PHP was successfully assigned as follows:
Engine: V9
Physical Name: /sasdata3_MI_projects_hedis_vendor/production/inovprev/data/extract/membership/php
30 libname bsc '/sasdata3_MI_projects_hedis_vendor/production/inovprev/data/extract/membership/';
NOTE: Libref BSC was successfully assigned as follows:
Engine: V9
Physical Name: /sasdata3_MI_projects_hedis_vendor/production/inovprev/data/extract/membership
31 libname bsc_prvd '/sasdata3_MI_projects_hedis_vendor/production/inovprev/data/final';
NOTE: Libref BSC_PRVD was successfully assigned as follows:
Engine: V9
Physical Name: /sasdata3_MI_projects_hedis_vendor/production/inovprev/data/final
32 %macro population_setup;
33 %global pop_logic;
34 %if "&population." = "MedicareHMOH0504" %then %do;
35 %let pop_logic = payercode = 'RR' and ProductCode = 'H' and MemberEnrollmentAltID8 in ('M');
36 %end;
37 %else %if "&population." = "MedicareHMOH5928" %then %do;
38 %let pop_logic = (payercode in ('RR', 'NR') and ProductCode = 'H' and MemberEnrollmentAltID8 in
2 The SAS System 09:32 Tuesday, July 16, 2024
38 ! ('R')) or
39 (payercode in ('RR', 'NR') and ProductCode = 'H' and MemberEnrollmentAltID8 in
39 ! ('D', 'E') and memberenrollmentaltid12 = '');
40 %end;
41 %else %if "&population." = "MedicarePPO" %then %do;
42 %let pop_logic = payercode = 'RR' and ProductCode = 'P' and MemberEnrollmentAltID8 = 'Z';
43 %end;
44 %else %if "&population." = "MedicareSNP005" %then %do;
45 %let pop_logic = (payercode = 'NR' and ProductCode = 'H' and MemberEnrollmentAltID8 in ('H', 'I',
45 ! 'J')) or
46 (payercode = 'NR' and ProductCode = 'H' and MemberEnrollmentAltID8 in ('D', 'E')
46 ! and MemberEnrollmentAltID12 = 'SNP005_YES');
47 %end;
48 %else %if "&population." = "MedicareSNP054" %then %do;
49 %let pop_logic = (payercode = 'NR' and ProductCode = 'H' and MemberEnrollmentAltID8 = 'W') or
50 (payercode = 'NR' and ProductCode = 'H' and MemberEnrollmentAltID8 in ('D', 'E')
50 ! and MemberEnrollmentAltID12 = 'SNP054_YES');
51 %end;
52 %mend;
53 %population_setup;
54 %let datek = '01JAN2024'D;
55
56
57
58 /** Pull PHP Medicare members as of 01JAN2024 **/
59 proc sql;
60 create table php_mcare_mem (compress=yes) as
61 select distinct memberkey, TerminationDate, PayerCode, ProductCode, MemberEnrollmentAltID8
62 from php.ENROLL_PROMISE_FINAL_COLLAPSED as a
63 where &population_setup. and TerminationDate GT &datek.
_
22
WARNING: Apparent symbolic reference POPULATION_SETUP not resolved.
63 where &population_setup. and TerminationDate GT &datek.
_______________
22
ERROR 22-322: Syntax error, expecting one of the following: a name, a quoted string, a numeric constant,
a datetime constant, a missing value, BTRIM, INPUT, PUT, SUBSTRING, USER.
ERROR 22-322: Syntax error, expecting one of the following: !, !!, &, *, **, +, -, /, <, <=, <>, =, >, >=, AND, EQ, EQT, GE,
GET, GROUP, GT, GTT, HAVING, LE, LET, LT, LTT, NE, NET, OR, ORDER, ^=, |, ||, ~=.
63 where &population_setup. and TerminationDate GT &datek.
_______________
76
ERROR 76-322: Syntax error, statement will be ignored.
64 order by memberkey, TerminationDate;
NOTE: PROC SQL set option NOEXEC and will continue to check the syntax of statements.
65 quit;
NOTE: The SAS System stopped processing this step because of errors.
NOTE: PROCEDURE SQL used (Total process time):
real time 0.00 seconds
3 The SAS System 09:32 Tuesday, July 16, 2024
cpu time 0.00 seconds
66
67 %LET _CLIENTTASKLABEL=;
68 %LET _CLIENTPROCESSFLOWNAME=;
69 %LET _CLIENTPROJECTPATH=;
70 %LET _CLIENTPROJECTPATHHOST=;
71 %LET _CLIENTPROJECTNAME=;
72 %LET _SASPROGRAMFILE=;
73 %LET _SASPROGRAMFILEHOST=;
74
75 ;*';*";*/;quit;run;
76 ODS _ALL_ CLOSE;
77
78
79 QUIT; RUN;
80