ERROR: 'NOTE 49-169: The meaning of an identifier after a quoted ...'

4,060 views
Skip to first unread message

Susan Mehle

unread,
Apr 10, 2012, 12:24:24 PM4/10/12
to cmmi-bundled-payment-...@googlegroups.com
In v1.3 I made it all the way through the code and my team had started to review the reports, and the next day a CMS decision meant we needed to revert to 1.2. I've had to start from scratch and everything was going okay until the selector step. As instructed, I am only running "5_run_reports.sas." It errors out very quickly - I am getting the following error at repeated intervals throughout the code. Anyone else? Anyone found the solution?

Thank you for taking at look at this, here is the error message:

1          ;*';*";*/;quit;run;
2          OPTIONS PAGENO=MIN;
3          %LET _CLIENTTASKLABEL='5_run_reports';
4          %LET _CLIENTPROJECTPATH='D:\SASfiles\CMMIBP v1.2\CreateReports.egp';
5          %LET _CLIENTPROJECTNAME='CreateReports.egp';
6          %LET _SASPROGRAMFILE='D:\SASfiles\My SAS Files\rptWholeBundle\selector\5_run_reports.sas';
7          

           _________________________________
           49

NOTE 49-169: The meaning of an identifier after a quoted string may change in a future SAS release.  Inserting white space between a quoted string and the succeeding identifier is recommended.

Jenna Slusarz

unread,
Apr 10, 2012, 12:31:48 PM4/10/12
to cmmi-bundled-payment-...@googlegroups.com
Hi Susan,

It looks like something may be going on with the user settings.  Could you check your settings in program 1 and 5 to make sure they look ok and make sure you have a space between CCN numbers.  It is hard to tell from the few lines below exactly where the problem is.  If the settings look ok would you be able to provide a little more of the log without editing so for example the note around 49-169 will correspond to the row numbers on the side of the log.

Thanks,

Jenna
--


Jenna Slusarz
Program and Operational Support
jenna....@hci3.org
603-554-8145

Visit HCI3 on Facebook

Susan Mehle

unread,
Apr 10, 2012, 12:35:42 PM4/10/12
to cmmi-bundled-payment-...@googlegroups.com
Thanks Jenna, I will provide a little more detail. However, the Note 49-169 is actually the error number from SAS - it does not correspond to a line number. Here is the full log:

1          ;*';*";*/;quit;run;
2          OPTIONS PAGENO=MIN;
3          %LET _CLIENTTASKLABEL='5_run_reports';
4          %LET _CLIENTPROJECTPATH='D:\SASfiles\CMMIBP v1.2\CreateReports.egp';
5          %LET _CLIENTPROJECTNAME='CreateReports.egp';
6          %LET _SASPROGRAMFILE='D:\SASfiles\My SAS Files\rptWholeBundle\selector\5_run_reports.sas';
7          

           _________________________________
           49
NOTE 49-169: The meaning of an identifier after a quoted string may change in a future SAS release.  Inserting white space between a quoted string and the succeeding identifier is recommended.

8          ODS _ALL_ CLOSE;
9          OPTIONS DEV=ACTIVEX;
10         GOPTIONS XPIXELS=0 YPIXELS=0;
11         FILENAME EGSR TEMP;
12         ODS tagsets.sasreport12(ID=EGSR) FILE=EGSR STYLE=Analysis STYLESHEET=(URL="file:///D:/Program%20Files/SAS/EnterpriseGuide/4.3/Styles/Analysis.css") NOGTITLE NOGFOOTNOTE GPATH=&sasworklocation ENCODING=UTF8 options(rolap="on");
                                                                                                                                                            ____________________________________________________________________________
                                                                                                                                                            49
NOTE 49-169: The meaning of an identifier after a quoted string may change in a future SAS release.  Inserting white space between a quoted string and the succeeding identifier is recommended.
13         
14         GOPTIONS ACCESSIBLE;
15         /* Run multiple combinations of time window and methodology */
16         
17         %let User_SASprog_Folder='D:\SASfiles\My SAS Files\rptWholeBundle';
18         /* <== Folder location of the SAS programs. It is assumed that the */
19         /* selector codes are in the /selector/ subfolder. */
20         /*   Ex. For Windows, %let User_SASprog_Folder=C:\CMMIBP\Code; */
WARNING: The quoted string currently being processed has become more than 262 characters long.  You may have unbalanced quotation marks.
21         /*   Ex. For Unix, %let User_SASprog_Folder=/usr/CMMIBP/Code;
22         
23         
24         /*******************************************
25         * No user modifications from this point on *
26         *******************************************/
27         %include "&user_sasprog_folder./selector/1_user_specification.sas";
28         %include "&user_sasprog_folder./selector/2_select_index_events.sas";
29         %include "&user_sasprog_folder./selector/3_services_for_selected_index_events.sas";
30         %include "&user_sasprog_folder./selector/4_reporting.sas";
31         
32         libname rptdata "&user_reportdata_folder.";
33         
34         %macro run_report(t_num=,t_method=,t_acute=,t_chronic=,t_procedural=);
35         %macro delete_incl_subset;
36         proc datasets lib=bundles nolist;
37         delete incl_ie incl_ie_beneficiaries incl_ie_evaporated incl_ie_services incl_pac_codes;
38         quit;
39         %mend;
40         
41         %let rr_timemodelexist=0;
42         proc sql noprint;
43         select count(*) into :rr_timemodelexist
44         from rptdata.time_model
2                                                                                                                        The SAS System                                                                                            14:19 Thursday, April 5, 2012

45         where hrc=&user_hrc. and model_ver=&user_model. and time_window_ver=&t_num.;
46         quit;
47         
48         %if &rr_timemodelexist.=0 %then %do;
49         data t_timemodel;
50         hrc=&user_hrc.;
51         model_ver=&user_model.;
52         time_window_ver=&t_num.;
53         proc append base=rptdata.time_model data=t_timemodel force;
54         run;
55         
56         data user_specifications;
57         set fmt_drg_cluster (keep=drg: rename=(drg=drg_cd drg_cluster=condition));
58         model=&User_Model.;
59         if put(condition,$fmt_cluster_cat.)='A' then pre_days=&t_acute.;
60         else if put(condition,$fmt_cluster_cat.)='C' then pre_days=&t_chronic.;
61         else if put(condition,$fmt_cluster_cat.)='P' then pre_days=&t_procedural.;
62         post_days=pre_days;
63         run;
64         
65         /* Selected Participant Run */
66         %select_index_events(m_ccn_list=&user_ccn_list.);
67         %svcs_for_selected_ie(m_method=&t_method.);
68         %reporting(m_num=&t_num.,m_method=&t_method.,m_acute=&t_acute.,m_chronic=&t_chronic.,m_procedural=&t_procedural.,m_ccn_list=&user_ccn_list.);
69         %delete_incl_subset;
70         
71         /* HRC Benchmark Run */
72          %if %str(&user_ccn_list.) ne %then %do;
73         %select_index_events(m_ccn_list=);
74         %svcs_for_selected_ie(m_method=&t_method.);
75         %reporting(m_num=&t_num.,m_method=&t_method.,m_acute=&t_acute.,m_chronic=&t_chronic.,m_procedural=&t_procedural.,m_ccn_list=);
76         %delete_incl_subset;
77          %end;
78         %end;
79         %mend run_report;
80         
81         %macro run_combo;
82         %let user_time_window_method=%upcase(&user_time_window_method.);
83         %if &user_time_window_method. ne B and &user_time_window_method. ne V and &user_time_window_method. ne F %then %let user_time_window_method=V;
84         
85         %let user_acute_time_window=%sysfunc(max(%sysfunc(min(&user_acute_time_window.,180)),30));
86         %let user_chronic_time_window=%sysfunc(max(%sysfunc(min(&user_chronic_time_window.,180)),30));
87         %let user_procedural_time_window=%sysfunc(max(%sysfunc(min(&user_procedural_time_window.,180)),30));
88         
89         %run_report(t_num=1001,t_method=V,t_acute=30,t_chronic=180,t_procedural=30); /* HCI3 default time window */
90         
91         %if &user_time_window_method.=B or &user_time_window_method.=V %then %do;
92         %run_report(t_num=1002,t_method=V,t_acute=30,t_chronic=30,t_procedural=30);
93         %run_report(t_num=1004,t_method=V,t_acute=90,t_chronic=90,t_procedural=90);
94         %run_report(t_num=1005,t_method=V,t_acute=180,t_chronic=180,t_procedural=180);
95         %end;
96         
97         %if &user_time_window_method.=B or &user_time_window_method.=F %then %do;
98         %run_report(t_num=2001,t_method=F,t_acute=30,t_chronic=180,t_procedural=30);
3                                                                                                                        The SAS System                                                                                            14:19 Thursday, April 5, 2012

99         %run_report(t_num=2002,t_method=F,t_acute=30,t_chronic=30,t_procedural=30);
100         %run_report(t_num=2004,t_method=F,t_acute=90,t_chronic=90,t_procedural=90);
101         %run_report(t_num=2005,t_method=F,t_acute=180,t_chronic=180,t_procedural=180);
102         %end;
103        
104         proc sql noprint;
105         select sum(case when time_window_method='F' then 1 else 0 end), sum(case when time_window_method='V' then 1 else 0 end)
106         into :rr_ftimeexist, :rr_vtimeexist
107         from rptdata.time_window
108         where time_window_acute=&user_acute_time_window.
109         and time_window_chronic=&user_chronic_time_window.
110         and time_window_procedural=&user_procedural_time_window.;
111         quit;
112         %if &rr_vtimeexist.= %then %let rr_vtimeexist=0;
113         %if &rr_ftimeexist.= %then %let rr_ftimeexist=0;
114        
115         %if &rr_vtimeexist. %then %do;
116         proc sql noprint;
117         select time_window_ver into :rr_vtnext
118         from rptdata.time_window
119         where time_window_method='V'
120         and time_window_acute=&user_acute_time_window.
121         and time_window_chronic=&user_chronic_time_window.
122         and time_window_procedural=&user_procedural_time_window.;
123         quit;
124         %end;
125         %else %do;
126         data t_num;
127         time_window_ver=&rr_vtnext.;
128         time_window_method='V';
129         time_window_acute=&user_acute_time_window.;
130         time_window_chronic=&user_chronic_time_window.;
131         time_window_procedural=&user_procedural_time_window.;
132         proc append base=rptdata.time_window data=t_num force;
133         run;
134        
135         proc sql noprint;
136         select max(time_window_ver)+1 into :rr_vtnext
137         from rptdata.time_window
138         where time_window_method='V';
139         quit;
140         %end;
141        
142         %if &user_time_window_method.=B or &user_time_window_method.=V %then %do;
143         %run_report(t_num=&rr_vtnext.,t_method=V,t_acute=&user_acute_time_window.,t_chronic=&user_chronic_time_window.,t_procedural=&user_procedural_time_window.);
144         %end;
145        
146         %if &rr_ftimeexist. %then %do;
147         proc sql noprint;
148         select time_window_ver into :rr_ftnext
149         from rptdata.time_window
150         where time_window_method='F'
151         and time_window_acute=&user_acute_time_window.
152         and time_window_chronic=&user_chronic_time_window.
4                                                                                                                        The SAS System                                                                                            14:19 Thursday, April 5, 2012

153         and time_window_procedural=&user_procedural_time_window.;
154         quit;
155         %end;
156         %else %do;
157         data t_num;
158         time_window_ver=&rr_ftnext.;
159         time_window_method='F';
160         time_window_acute=&user_acute_time_window.;
161         time_window_chronic=&user_chronic_time_window.;
162         time_window_procedural=&user_procedural_time_window.;
163         proc append base=rptdata.time_window data=t_num force;
164         run;
165        
166         proc sql noprint;
167         select max(time_window_ver)+1 into :rr_ftnext
168         from rptdata.time_window
169         where time_window_method='F';
170         quit;
171         %end;
172        
173         %if &user_time_window_method.=B or &user_time_window_method.=F %then %do;
174         %run_report(t_num=&rr_ftnext.,t_method=F,t_acute=&user_acute_time_window.,t_chronic=&user_chronic_time_window.,t_procedural=&user_procedural_time_window.);
175         %end;
176        %mend run_combo;
177        
178        %macro rr_init;
179         %if %sysfunc(exist(rptdata.time_window))=0 %then %do;
180         data rptdata.time_window(index=(time_window_ver tablekey=(time_window_method time_window_acute time_window_chronic time_window_procedural)));
181         time_window_ver=1001; time_window_method='V'; time_window_acute=30; time_window_chronic=180; time_window_procedural=30; output;
182         time_window_ver=1002; time_window_method='V'; time_window_acute=30; time_window_chronic=30; time_window_procedural=30; output;
183         time_window_ver=1003; time_window_method='V'; time_window_acute=60; time_window_chronic=60; time_window_procedural=60; output;
184         time_window_ver=1004; time_window_method='V'; time_window_acute=90; time_window_chronic=90; time_window_procedural=90; output;
185         time_window_ver=1005; time_window_method='V'; time_window_acute=180; time_window_chronic=180; time_window_procedural=180; output;
186         time_window_ver=2001; time_window_method='F'; time_window_acute=30; time_window_chronic=180; time_window_procedural=30; output;
187         time_window_ver=2002; time_window_method='F'; time_window_acute=30; time_window_chronic=30; time_window_procedural=30; output;
188         time_window_ver=2003; time_window_method='F'; time_window_acute=60; time_window_chronic=60; time_window_procedural=60; output;
189         time_window_ver=2004; time_window_method='F'; time_window_acute=90; time_window_chronic=90; time_window_procedural=90; output;
190         time_window_ver=2005; time_window_method='F'; time_window_acute=180; time_window_chronic=180; time_window_procedural=180; output;
191         run;
192         %end;
193         %if %sysfunc(exist(rptdata.time_model))=0 %then %do;
194         data rptdata.time_model(index=(tablekey=(hrc model_ver time_window_ver)));
195         format hrc model_ver time_window_ver 8.;
196         call missing(hrc,model_ver,time_window_ver);
197         if _n_=0;
198         run;
199         %end;
200        %mend;
201        %rr_init;
202        
203        ods results off;
204        options mprint nosymbolgen nomlogic;
205        %run_combo;
206        options nomprint;
5                                                                                                                        The SAS System                                                                                            14:19 Thursday, April 5, 2012

207        ods results on;
208        
209        
210        GOPTIONS NOACCESSIBLE;
211        %LET _CLIENTTASKLABEL=;
212        %LET _CLIENTPROJECTPATH=;
213        %LET _CLIENTPROJECTNAME=;
214        %LET _SASPROGRAMFILE=;
215        
216        ;*';*";*/;quit;run;
217        ODS _ALL_ CLOSE;
218        
219        
220        QUIT; RUN;
221        



Jenna Slusarz

unread,
Apr 10, 2012, 12:37:36 PM4/10/12
to cmmi-bundled-payment-...@googlegroups.com
Hi Susan,

I'm not seeing an actual error, just the notes in the log.  Notes are ok it is errors that you need to check for.

Jenna

Susan Mehle

unread,
Apr 10, 2012, 12:40:34 PM4/10/12
to cmmi-bundled-payment-...@googlegroups.com
_________________________________
           49

This is what SAS is identifying as the error message - the note line explains what it means. 

Thank you for your help with this Jenna, I appreciate it.

kmanning

unread,
Apr 10, 2012, 12:48:21 PM4/10/12
to CMMI Bundled Payment Pilots - SAS and HCI3
Try taking out the quotes on the path names, which shouldn't be
required on %LET statements

Susan Mehle

unread,
Apr 10, 2012, 1:42:01 PM4/10/12
to cmmi-bundled-payment-...@googlegroups.com
I'm not using quotes in the let statments - SAS is putting them in the log though. Also, lines 1 through 6 are not even part of the program code, I'm not sure where that is coming from.

Susan Mehle

unread,
Apr 10, 2012, 5:07:05 PM4/10/12
to cmmi-bundled-payment-...@googlegroups.com
Solved:

I renamed all directories so that there were no spaces or periods. For example, "D:\SASfiles\CMMIBP v1.2\CreateReports.egp" became "D:\SASfiles\CMMIBP\CreateReports.egp". This seems to have fixed the issue. Thanks everyone for your help with this.

Susan
Reply all
Reply to author
Forward
0 new messages