<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: SAS program to ID a cohort based on ICD 9 data keeping only data that meets criteria in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/SAS-program-to-ID-a-cohort-based-on-ICD-9-data-keeping-only-data/m-p/791423#M253490</link>
    <description>&lt;PRE&gt;&lt;CODE class=""&gt;1          OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;
 68         
 69         data work.test;
 70         informat ID DOB dx_date age icd_1 icd_2 icd_3 icd_4 icd_5 icd_6 icd_7 icd_8 icd_9 icd_10 icd_11 icd_12 icd_13 icd_14
 70       ! icd_15 icd_16 icd_17 icd_18 icd_19 icd_20 icd_21 icd_22 icd_23 icd_24 icd_25;
 71         age = INT(YRDIF(DOB, dx_date, 'ACTUAL')) &amp;gt;= 30;
 72         where prxmatch('/0520|0522|V0171/', catx('|', of icd_: )) ;
                                                             ____
                                                             22
                                                             202
 ERROR: Syntax error while parsing WHERE clause.
 ERROR: No input data sets available for WHERE statement.
 ERROR 22-322: Syntax error, expecting one of the following: !, !!, &amp;amp;, (, ), *, **, +, ',', -, /, &amp;lt;, &amp;lt;=, &amp;lt;&amp;gt;, =, &amp;gt;, &amp;gt;=, ?, AND, 
               BETWEEN, CONTAINS, EQ, GE, GT, IN, IS, LE, LIKE, LT, NE, NOT, NOTIN, OR, ^, ^=, |, ||, ~, ~=.  
 
 ERROR 202-322: The option or parameter is not recognized and will be ignored.
 
 73         run;
 
 NOTE: The SAS System stopped processing this step because of errors.
 WARNING: The data set WORK.TEST may be incomplete.  When this step was stopped there were 0 observations and 29 variables.
 WARNING: Data set WORK.TEST was not replaced because this step was stopped.
 NOTE: DATA statement used (Total process time):
       real time           0.00 seconds
       user cpu time       0.00 seconds
       system cpu time     0.01 seconds
       memory              672.03k
       OS Memory           24996.00k
       Timestamp           01/21/2022 01:46:40 PM
       Step Count                        63  Switch Count  0
       Page Faults                       0
       Page Reclaims                     70
       Page Swaps                        0
       Voluntary Context Switches        0
       Involuntary Context Switches      0
       Block Input Operations            0
       Block Output Operations           8&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Fri, 21 Jan 2022 13:48:34 GMT</pubDate>
    <dc:creator>bej</dc:creator>
    <dc:date>2022-01-21T13:48:34Z</dc:date>
    <item>
      <title>SAS program to ID a cohort based on ICD 9 data keeping only data that meets criteria</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-program-to-ID-a-cohort-based-on-ICD-9-data-keeping-only-data/m-p/790452#M253080</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I opened my big mouth and said that I used to work with SAS years and years ago, so here we are at 10:00 on a Saturday night reaching out for help from you guys. Any help you can give will be greatly appreciated.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have multiple years of patient data that has 28 fields (ID ($2.), DOB (mmddyyyy), DxDate (mmddyyyy), ICD_1, ICD_2, ... ICD_25 ($7.))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The output data that I want is only the ID based on an ICD code of V0171, 0520, or 0522 with an age &amp;gt;= 30.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data have;&lt;BR /&gt;input ID DOB DxDate icd_1 icd_2 icd_3 icd_4 icd_5 icd_6 icd_7 icd_8 icd_9 icd_10 icd_11 icd_12 icd_13 icd_14 icd_15 icd_16 icd_17 icd_18 icd_19 icd_20 icd_21 icd_22 icd_23 icd_24 icd_25 $7.;&lt;BR /&gt;format DOB mmddyyyy10. DxDate mmddyyyy10.;&lt;BR /&gt;age = INT(YRDIF(DOB, DxDate, 'ACTUAL'));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Have I started this off right? How would I proceed from here? Thanks!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 17 Jan 2022 04:51:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-program-to-ID-a-cohort-based-on-ICD-9-data-keeping-only-data/m-p/790452#M253080</guid>
      <dc:creator>bej</dc:creator>
      <dc:date>2022-01-17T04:51:34Z</dc:date>
    </item>
    <item>
      <title>Re: SAS program to ID a cohort based on ICD 9 data keeping only data that meets criteria</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-program-to-ID-a-cohort-based-on-ICD-9-data-keeping-only-data/m-p/790475#M253092</link>
      <description>&lt;P&gt;So just a where clause?&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;where prxmatch('/V0171|V0520|V0522/',catx('|',of&amp;nbsp;ICD_: )) ;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;or&lt;/P&gt;
&lt;P&gt;&lt;CODE class=" language-sas"&gt;where index(catx('|',of&amp;nbsp;ICD_: ),'V0171') | index(catx('|',of&amp;nbsp;ICD_: ),'V0520') | index(catx('|',of&amp;nbsp;ICD_: ),'V0522') ;&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 17 Jan 2022 09:02:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-program-to-ID-a-cohort-based-on-ICD-9-data-keeping-only-data/m-p/790475#M253092</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2022-01-17T09:02:30Z</dc:date>
    </item>
    <item>
      <title>Re: SAS program to ID a cohort based on ICD 9 data keeping only data that meets criteria</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-program-to-ID-a-cohort-based-on-ICD-9-data-keeping-only-data/m-p/790479#M253093</link>
      <description>&lt;P&gt;Complete&amp;nbsp;the clause with the age condition&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;and yrdif(DOB, today(), 'age')&amp;nbsp;&amp;gt;=&amp;nbsp;30&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 17 Jan 2022 09:36:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-program-to-ID-a-cohort-based-on-ICD-9-data-keeping-only-data/m-p/790479#M253093</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2022-01-17T09:36:28Z</dc:date>
    </item>
    <item>
      <title>Re: SAS program to ID a cohort based on ICD 9 data keeping only data that meets criteria</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-program-to-ID-a-cohort-based-on-ICD-9-data-keeping-only-data/m-p/790761#M253195</link>
      <description>&lt;P&gt;&lt;SPAN&gt;where prxmatch('/0520|0522|V0171/',catx('|',of icd_: )) ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks. When I try and run this line, it underlines icd_ and flags it as:&lt;/P&gt;&lt;DIV class=""&gt;ERROR 22-322: Syntax error, expecting one of the following: !, !!, &amp;amp;, (, ), *, **, +, ',', -, /, &amp;lt;, &amp;lt;=, &amp;lt;&amp;gt;, =, &amp;gt;, &amp;gt;=, ?, AND,&amp;nbsp;BETWEEN, CONTAINS, EQ, GE, GT, IN, IS, LE, LIKE, LT, NE, NOT, NOTIN, OR, ^, ^=, |, ||, ~, ~=.&lt;/DIV&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;ERROR 202-322: The option or parameter is not recognized and will be ignored.&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;Not sure if it matters, but only V0171 has a preceeding V. The others two are just numbers. I get the same results if I use the second&amp;nbsp; where index(catx that you provided, as well. Any advice on why it is doing this?&lt;/DIV&gt;</description>
      <pubDate>Tue, 18 Jan 2022 20:06:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-program-to-ID-a-cohort-based-on-ICD-9-data-keeping-only-data/m-p/790761#M253195</guid>
      <dc:creator>bej</dc:creator>
      <dc:date>2022-01-18T20:06:02Z</dc:date>
    </item>
    <item>
      <title>Re: SAS program to ID a cohort based on ICD 9 data keeping only data that meets criteria</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-program-to-ID-a-cohort-based-on-ICD-9-data-keeping-only-data/m-p/790775#M253203</link>
      <description>&lt;P&gt;Show the log please.&lt;/P&gt;
&lt;P&gt;The syntax is correct.&lt;/P&gt;
&lt;PRE&gt;25         data t;
26           ICD_1='XXX0520'; ICD_2='XXX0521';
27           X = prxmatch('/0520|0522|V0171/', catx('|', of ICD_: )) ;
28           put X=;
29         run;

X=4
NOTE: The data set WORK.T has 1 observations and 3 variables.
NOTE: Compressing data set WORK.T increased size by 100.00 percent. 
      Compressed is 2 pages; un-compressed would require 1 pages.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      

&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 18 Jan 2022 22:37:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-program-to-ID-a-cohort-based-on-ICD-9-data-keeping-only-data/m-p/790775#M253203</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2022-01-18T22:37:35Z</dc:date>
    </item>
    <item>
      <title>Re: SAS program to ID a cohort based on ICD 9 data keeping only data that meets criteria</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-program-to-ID-a-cohort-based-on-ICD-9-data-keeping-only-data/m-p/791184#M253374</link>
      <description>&lt;P&gt;Sorry, it has been over 12 years since I have messed with SAS, so I want to apologize again for my ignorance, but I am still having issues with your program.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My data looks like this (ID, DOB, Dx_Date and 25 icd_ variables with various data)&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;DOB&lt;/TD&gt;&lt;TD&gt;Dx_Date&lt;/TD&gt;&lt;TD&gt;icd_1&lt;/TD&gt;&lt;TD&gt;icd_2&lt;/TD&gt;&lt;TD&gt;icd_3&lt;/TD&gt;&lt;TD&gt;icd_4&lt;/TD&gt;&lt;TD&gt;icd_5&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#00FF00"&gt;&lt;STRONG&gt;... icd_25&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1/1/1945&lt;/TD&gt;&lt;TD&gt;2/3/2020&lt;/TD&gt;&lt;TD&gt;0543&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;V1111&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;0545&lt;/TD&gt;&lt;TD&gt;0546&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;0520&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;0548&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;59&lt;/TD&gt;&lt;TD&gt;2/2/1955&lt;/TD&gt;&lt;TD&gt;2/4/2020&lt;/TD&gt;&lt;TD&gt;0544&lt;/TD&gt;&lt;TD&gt;0545&lt;/TD&gt;&lt;TD&gt;0546&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;V0171&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;0548&lt;/TD&gt;&lt;TD&gt;0549&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;672&lt;/TD&gt;&lt;TD&gt;3/3/1965&lt;/TD&gt;&lt;TD&gt;2/5/2020&lt;/TD&gt;&lt;TD&gt;0545&lt;/TD&gt;&lt;TD&gt;0546&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000"&gt;0548&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;0548&lt;/TD&gt;&lt;TD&gt;0549&lt;/TD&gt;&lt;TD&gt;0550&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1055&lt;/TD&gt;&lt;TD&gt;4/4/1975&lt;/TD&gt;&lt;TD&gt;2/6/2020&lt;/TD&gt;&lt;TD&gt;0546&lt;/TD&gt;&lt;TD&gt;0547&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;0522&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;V0999&lt;/TD&gt;&lt;TD&gt;0550&lt;/TD&gt;&lt;TD&gt;0551&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;When I run the code that you provided, I get the following output:&lt;/P&gt;&lt;P&gt;Obs&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;icd_1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; icd_2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; X&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; age&amp;nbsp; &amp;nbsp; DOB&amp;nbsp; &amp;nbsp; &amp;nbsp; Dx_Date&lt;BR /&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; XXX0520&amp;nbsp; &amp;nbsp; &amp;nbsp;XXX0522&amp;nbsp; &amp;nbsp; &amp;nbsp;4&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What I need is to have a new output, just display the IDs of the clients that meet the criteria (the three ICD codes, 0520, 0522, V0171, and &amp;gt;=30). So, using the above data snipet.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Output_A:&lt;/P&gt;&lt;P&gt;ID&lt;/P&gt;&lt;P&gt;1&lt;/P&gt;&lt;P&gt;59&lt;/P&gt;&lt;P&gt;1055&lt;/P&gt;</description>
      <pubDate>Thu, 20 Jan 2022 16:07:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-program-to-ID-a-cohort-based-on-ICD-9-data-keeping-only-data/m-p/791184#M253374</guid>
      <dc:creator>bej</dc:creator>
      <dc:date>2022-01-20T16:07:05Z</dc:date>
    </item>
    <item>
      <title>Re: SAS program to ID a cohort based on ICD 9 data keeping only data that meets criteria</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-program-to-ID-a-cohort-based-on-ICD-9-data-keeping-only-data/m-p/791348#M253458</link>
      <description>&lt;P&gt;My WHERE clause should do what you ask. Show the log.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 21 Jan 2022 06:30:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-program-to-ID-a-cohort-based-on-ICD-9-data-keeping-only-data/m-p/791348#M253458</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2022-01-21T06:30:26Z</dc:date>
    </item>
    <item>
      <title>Re: SAS program to ID a cohort based on ICD 9 data keeping only data that meets criteria</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-program-to-ID-a-cohort-based-on-ICD-9-data-keeping-only-data/m-p/791423#M253490</link>
      <description>&lt;PRE&gt;&lt;CODE class=""&gt;1          OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;
 68         
 69         data work.test;
 70         informat ID DOB dx_date age icd_1 icd_2 icd_3 icd_4 icd_5 icd_6 icd_7 icd_8 icd_9 icd_10 icd_11 icd_12 icd_13 icd_14
 70       ! icd_15 icd_16 icd_17 icd_18 icd_19 icd_20 icd_21 icd_22 icd_23 icd_24 icd_25;
 71         age = INT(YRDIF(DOB, dx_date, 'ACTUAL')) &amp;gt;= 30;
 72         where prxmatch('/0520|0522|V0171/', catx('|', of icd_: )) ;
                                                             ____
                                                             22
                                                             202
 ERROR: Syntax error while parsing WHERE clause.
 ERROR: No input data sets available for WHERE statement.
 ERROR 22-322: Syntax error, expecting one of the following: !, !!, &amp;amp;, (, ), *, **, +, ',', -, /, &amp;lt;, &amp;lt;=, &amp;lt;&amp;gt;, =, &amp;gt;, &amp;gt;=, ?, AND, 
               BETWEEN, CONTAINS, EQ, GE, GT, IN, IS, LE, LIKE, LT, NE, NOT, NOTIN, OR, ^, ^=, |, ||, ~, ~=.  
 
 ERROR 202-322: The option or parameter is not recognized and will be ignored.
 
 73         run;
 
 NOTE: The SAS System stopped processing this step because of errors.
 WARNING: The data set WORK.TEST may be incomplete.  When this step was stopped there were 0 observations and 29 variables.
 WARNING: Data set WORK.TEST was not replaced because this step was stopped.
 NOTE: DATA statement used (Total process time):
       real time           0.00 seconds
       user cpu time       0.00 seconds
       system cpu time     0.01 seconds
       memory              672.03k
       OS Memory           24996.00k
       Timestamp           01/21/2022 01:46:40 PM
       Step Count                        63  Switch Count  0
       Page Faults                       0
       Page Reclaims                     70
       Page Swaps                        0
       Voluntary Context Switches        0
       Involuntary Context Switches      0
       Block Input Operations            0
       Block Output Operations           8&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 21 Jan 2022 13:48:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-program-to-ID-a-cohort-based-on-ICD-9-data-keeping-only-data/m-p/791423#M253490</guid>
      <dc:creator>bej</dc:creator>
      <dc:date>2022-01-21T13:48:34Z</dc:date>
    </item>
    <item>
      <title>Re: SAS program to ID a cohort based on ICD 9 data keeping only data that meets criteria</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-program-to-ID-a-cohort-based-on-ICD-9-data-keeping-only-data/m-p/791607#M253594</link>
      <description>&lt;P&gt;Read the log.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=""&gt;ERROR: No input data sets available for WHERE statement.&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;What data are you reading? You need a SET statement if reading a SAS table.&lt;/P&gt;
&lt;P&gt;If reading flat data, you need an INPUT statement. In that case, the INPUT statement should come before the filter statement, and WHERE should be replaced with IF.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 21 Jan 2022 23:18:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-program-to-ID-a-cohort-based-on-ICD-9-data-keeping-only-data/m-p/791607#M253594</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2022-01-21T23:18:50Z</dc:date>
    </item>
  </channel>
</rss>

