<?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: Continuous Enrollment Count in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Continuous-Enrollment-Count/m-p/845546#M334283</link>
    <description>&lt;P&gt;What format is applied to it?&lt;/P&gt;</description>
    <pubDate>Mon, 21 Nov 2022 19:48:00 GMT</pubDate>
    <dc:creator>PeterClemmensen</dc:creator>
    <dc:date>2022-11-21T19:48:00Z</dc:date>
    <item>
      <title>Continuous Enrollment Count</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Continuous-Enrollment-Count/m-p/845537#M334279</link>
      <description>&lt;P&gt;Hello, I need to count the months of continuous enrollment per member.&amp;nbsp; When there are gaps in enrollment the count must reset for the member.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is the data format:&lt;/P&gt;
&lt;P&gt;memberid&amp;nbsp; enrollment&lt;/P&gt;
&lt;P&gt;111&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;202201&lt;/P&gt;
&lt;P&gt;111&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;202202&lt;/P&gt;
&lt;P&gt;111&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;202205&lt;/P&gt;
&lt;P&gt;222&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 202205&lt;/P&gt;
&lt;P&gt;222&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 202206&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here's the output I'm looking for:&lt;/P&gt;
&lt;P&gt;memberid&amp;nbsp; enrollment&amp;nbsp; &amp;nbsp; cont_enroll_count&lt;/P&gt;
&lt;P&gt;111&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;202201&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2&lt;/P&gt;
&lt;P&gt;111&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;202202&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2&lt;/P&gt;
&lt;P&gt;111&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;202205&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/P&gt;
&lt;P&gt;222&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 202205&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2&lt;/P&gt;
&lt;P&gt;222&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 202206&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Also, if there's another way to do this, please let me know!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 21 Nov 2022 19:34:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Continuous-Enrollment-Count/m-p/845537#M334279</guid>
      <dc:creator>jmmedina25</dc:creator>
      <dc:date>2022-11-21T19:34:25Z</dc:date>
    </item>
    <item>
      <title>Re: Continuous Enrollment Count</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Continuous-Enrollment-Count/m-p/845544#M334281</link>
      <description>&lt;P&gt;Is&amp;nbsp;&lt;SPAN&gt;enrollment an actual SAS Date value or simply the integer as we see it: 202201 ?&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 21 Nov 2022 19:42:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Continuous-Enrollment-Count/m-p/845544#M334281</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2022-11-21T19:42:19Z</dc:date>
    </item>
    <item>
      <title>Re: Continuous Enrollment Count</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Continuous-Enrollment-Count/m-p/845545#M334282</link>
      <description>&lt;P&gt;the enrollment date is in numeric format&lt;/P&gt;</description>
      <pubDate>Mon, 21 Nov 2022 19:46:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Continuous-Enrollment-Count/m-p/845545#M334282</guid>
      <dc:creator>jmmedina25</dc:creator>
      <dc:date>2022-11-21T19:46:23Z</dc:date>
    </item>
    <item>
      <title>Re: Continuous Enrollment Count</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Continuous-Enrollment-Count/m-p/845546#M334283</link>
      <description>&lt;P&gt;What format is applied to it?&lt;/P&gt;</description>
      <pubDate>Mon, 21 Nov 2022 19:48:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Continuous-Enrollment-Count/m-p/845546#M334283</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2022-11-21T19:48:00Z</dc:date>
    </item>
    <item>
      <title>Re: Continuous Enrollment Count</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Continuous-Enrollment-Count/m-p/845548#M334284</link>
      <description>&lt;P&gt;Try this&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input memberid enrollment : yymmn6.;
format enrollment yymmn6.;
datalines;
111 202201 
111 202202 
111 202205 
222 202205 
222 202206 
;

data temp;
   set have;
   by memberid;

   lag = ifn(first.memberid, ., lag(enrollment));
   if first.memberid | intck('month', lag, enrollment) &amp;gt; 1 then c = 1;
   else c + 1;

   if c = 1 then g + 1;
run;

proc sql;
   create table want as
   select memberid
        , enrollment
        , max(c) as cont_enroll_count
   from temp
   group by g
   ;
quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;Result:&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;memberid enrollment cont_enroll_count
111      202201     2
111      202202     2
111      202205     1
222      202206     2
222      202205     2&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 21 Nov 2022 20:07:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Continuous-Enrollment-Count/m-p/845548#M334284</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2022-11-21T20:07:12Z</dc:date>
    </item>
    <item>
      <title>Re: Continuous Enrollment Count</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Continuous-Enrollment-Count/m-p/845551#M334285</link>
      <description>Numeric format 11.</description>
      <pubDate>Mon, 21 Nov 2022 20:14:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Continuous-Enrollment-Count/m-p/845551#M334285</guid>
      <dc:creator>jmmedina25</dc:creator>
      <dc:date>2022-11-21T20:14:42Z</dc:date>
    </item>
    <item>
      <title>Re: Continuous Enrollment Count</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Continuous-Enrollment-Count/m-p/845554#M334287</link>
      <description>&lt;P&gt;Then you may have to change the date values into Actual SAS Dates for the posted code to work.&lt;/P&gt;</description>
      <pubDate>Mon, 21 Nov 2022 20:19:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Continuous-Enrollment-Count/m-p/845554#M334287</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2022-11-21T20:19:01Z</dc:date>
    </item>
    <item>
      <title>Re: Continuous Enrollment Count</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Continuous-Enrollment-Count/m-p/845804#M334378</link>
      <description>Thank you, this did work however, some members have eligibility that spans multiple years and when the function hits a new year the count resets.  Any Idea for how to fix this?&lt;BR /&gt;&lt;BR /&gt;This is the example:&lt;BR /&gt;Mbr_ID	enrollment 	lag	c	g&lt;BR /&gt;1	202111	.	1	1&lt;BR /&gt;1	202112	202111	2	1&lt;BR /&gt;1	202201	202112	1	2&lt;BR /&gt;1	202202	202201	2	2&lt;BR /&gt;1	202203	202202	3	2&lt;BR /&gt;1	202204	202203	4	2&lt;BR /&gt;1	202205	202204	5	2&lt;BR /&gt;1	202206	202205	6	2&lt;BR /&gt;1	202207	202206	7	2&lt;BR /&gt;1	202208	202207	8	2&lt;BR /&gt;</description>
      <pubDate>Wed, 23 Nov 2022 01:41:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Continuous-Enrollment-Count/m-p/845804#M334378</guid>
      <dc:creator>jmmedina25</dc:creator>
      <dc:date>2022-11-23T01:41:22Z</dc:date>
    </item>
    <item>
      <title>Re: Continuous Enrollment Count</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Continuous-Enrollment-Count/m-p/845846#M334393</link>
      <description>&lt;P&gt;That is why you have to&amp;nbsp;&lt;SPAN&gt;change the date values into Actual SAS Dates. Then you will not have the problem.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 23 Nov 2022 05:45:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Continuous-Enrollment-Count/m-p/845846#M334393</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2022-11-23T05:45:10Z</dc:date>
    </item>
    <item>
      <title>Re: Continuous Enrollment Count</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Continuous-Enrollment-Count/m-p/845895#M334418</link>
      <description>&lt;P&gt;Another possibility is to just code for the year ends. If you have data like this:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input memberid enrollment;
datalines;
111 202201 
111 202202 
111 202205 
222 202205 
222 202206 
333 202112
333 202201
;run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;You can first create the groups of continued enrollment like this (89 is just the difference between e.g. 202201 and 202112, the end of the year):&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data groups;
  set have;
  by memberid;
  dif=dif(enrollment);
  if first.memberid then
    group=1;
  else if dif not in(1,89) then group+1;
  drop dif;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;And then use that to get the counts:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
  do cont_enroll_count=1 by 1 until(last.group);
    set groups;
	by memberid group;
	end;
  do until(last.group);
    set groups;
	by memberid group;
	output;
	end;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Of course, with a date format solution (as suggested by&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/31304"&gt;@PeterClemmensen&lt;/a&gt;)&amp;nbsp; you also check if the months entered are valid. If they are not, the results from the method shown here may get "interesting" (e.g. if you have 202113 followed by 202202, it will just count as continued enrollment, rather than giving an error).&lt;/P&gt;</description>
      <pubDate>Wed, 23 Nov 2022 11:50:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Continuous-Enrollment-Count/m-p/845895#M334418</guid>
      <dc:creator>s_lassen</dc:creator>
      <dc:date>2022-11-23T11:50:01Z</dc:date>
    </item>
  </channel>
</rss>

