<?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 Both codes must appear on same claim in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Both-codes-must-appear-on-same-claim/m-p/746931#M234387</link>
    <description>&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm stumped on something and hoping to get some help.&lt;/P&gt;&lt;P&gt;I have data that has claims and multiple claim lines. What I want to do is keep only the claims where BOTH code 29 and 54 appear on the claim. So in the sample below, I would want only claim 2339 and 5498. I created new variables&amp;nbsp; (CountA and CountB ) and thinking of using&amp;nbsp;&lt;/P&gt;&lt;P&gt;if first.claim = last.claim and first.CountA ne last.CountA then output; else delete; but I'm not sure that would work&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Claim&lt;/TD&gt;&lt;TD&gt;Line&lt;/TD&gt;&lt;TD&gt;Code&lt;/TD&gt;&lt;TD&gt;CountA&lt;/TD&gt;&lt;TD&gt;CountB&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2339&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2339&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;54&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2970&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7182&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;54&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7670&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2938&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;54&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2938&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;54&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5498&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5498&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;54&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4118&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4118&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;any ideas how I can tackle this?&lt;/P&gt;</description>
    <pubDate>Thu, 10 Jun 2021 03:08:31 GMT</pubDate>
    <dc:creator>Etoo12121</dc:creator>
    <dc:date>2021-06-10T03:08:31Z</dc:date>
    <item>
      <title>Both codes must appear on same claim</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Both-codes-must-appear-on-same-claim/m-p/746931#M234387</link>
      <description>&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm stumped on something and hoping to get some help.&lt;/P&gt;&lt;P&gt;I have data that has claims and multiple claim lines. What I want to do is keep only the claims where BOTH code 29 and 54 appear on the claim. So in the sample below, I would want only claim 2339 and 5498. I created new variables&amp;nbsp; (CountA and CountB ) and thinking of using&amp;nbsp;&lt;/P&gt;&lt;P&gt;if first.claim = last.claim and first.CountA ne last.CountA then output; else delete; but I'm not sure that would work&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Claim&lt;/TD&gt;&lt;TD&gt;Line&lt;/TD&gt;&lt;TD&gt;Code&lt;/TD&gt;&lt;TD&gt;CountA&lt;/TD&gt;&lt;TD&gt;CountB&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2339&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2339&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;54&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2970&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7182&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;54&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7670&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2938&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;54&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2938&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;54&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5498&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5498&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;54&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4118&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4118&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;any ideas how I can tackle this?&lt;/P&gt;</description>
      <pubDate>Thu, 10 Jun 2021 03:08:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Both-codes-must-appear-on-same-claim/m-p/746931#M234387</guid>
      <dc:creator>Etoo12121</dc:creator>
      <dc:date>2021-06-10T03:08:31Z</dc:date>
    </item>
    <item>
      <title>Re: Both codes must appear on same claim</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Both-codes-must-appear-on-same-claim/m-p/746932#M234388</link>
      <description>&lt;P&gt;I think you could do a sub-select type join where you join the data to itself selecting only records that have code 29 and also exist in a sub-select that only has records with 54.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Jim&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This code:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;Data	Have;
	LENGTH
		Claim	$4
		Line	$1
		Code	$2
		CountA	$1
		CountB	$1
		;

	INFILE	DATALINES DSD DLM='09'X	MISSOVER;

	INPUT
		Claim	$
		Line	$
		Code	$
		CountA	$
		CountB	$
		;

DATALINES;
2339	1	29	1	0 
2339	2	54	0	1 
2970	1	29	1	0 
7182	1	54	0	1 
7670	1	29	1	0 
2938	1	54	0	1 
2938	2	54	0	1 
5498	1	29	1	0 
5498	2	54	0	1 
4118	1	29	1	0 
4118	2	29	1	0 
;
RUN;

PROC	SQL	NOPRINT;
	CREATE	TABLE	Want	AS
		SELECT	*	FROM	Have
			WHERE	Code	=	'29'
				AND	Claim	IN	(
				SELECT	Claim	FROM	Have
					WHERE	Code	=	'54'
					);
QUIT;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Yields:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jimbarbour_0-1623296631536.png" style="width: 999px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/60204i48DC7CC9DC378EB0/image-size/large?v=v2&amp;amp;px=999" role="button" title="jimbarbour_0-1623296631536.png" alt="jimbarbour_0-1623296631536.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 10 Jun 2021 03:44:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Both-codes-must-appear-on-same-claim/m-p/746932#M234388</guid>
      <dc:creator>jimbarbour</dc:creator>
      <dc:date>2021-06-10T03:44:09Z</dc:date>
    </item>
    <item>
      <title>Re: Both codes must appear on same claim</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Both-codes-must-appear-on-same-claim/m-p/746939#M234393</link>
      <description>&lt;P&gt;Not sure, what you expect as result exactly. I removed the count-variables.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
   length
      Claim $4
      Line 8
      Code $2
   ;

   input Claim Line Code;

   datalines;
2339  1  29
2339  2  54
2970  1  29
7182  1  54
7670  1  29
2938  1  54
2938  2  54
5498  1  29
5498  2  54
4118  1  29
4118  2  29
;

proc sort data=have;
   by claim line;
run;

data interesting;
   set have;
   by claim;
   
   lastCode = lag(Code);
   
   if first.Claim and last.Claim then delete;
   
   if first.Claim then lastCode = ' ';
   
   if last.Claim then do;
      if lastCode = '29' and Code = '54' or lastCode = '54' and Code = '29' then output;
   end;
   
   keep claim;
run;

data want;
   merge have interesting(in= isInteresting);
   by Claim;
   
   if isInteresting;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 10 Jun 2021 05:12:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Both-codes-must-appear-on-same-claim/m-p/746939#M234393</guid>
      <dc:creator>andreas_lds</dc:creator>
      <dc:date>2021-06-10T05:12:21Z</dc:date>
    </item>
    <item>
      <title>Re: Both codes must appear on same claim</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Both-codes-must-appear-on-same-claim/m-p/746940#M234394</link>
      <description>&lt;P&gt;Use a double DO loop:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
has_29 = 0;
has_54 = 0;
do until (last.claim);
  set have;
  by claim notsorted;
  if code = "29" then has_29 = 1;
  if code = "54" then has_54 = 1;
end;
do until (last.claim);
  set have;
  by claim notsorted;
  if has_29 and has_54 then output;
end;
drop has_29 has_54;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 10 Jun 2021 05:23:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Both-codes-must-appear-on-same-claim/m-p/746940#M234394</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2021-06-10T05:23:09Z</dc:date>
    </item>
    <item>
      <title>Re: Both codes must appear on same claim</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Both-codes-must-appear-on-same-claim/m-p/747247#M234503</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
   length
      Claim $4
      Line 8
      Code $2
   ;

   input Claim Line Code;

   datalines;
2339  1  29
2339  2  54
2970  1  29
7182  1  54
7670  1  29
2938  1  54
2938  2  54
5498  1  29
5498  2  54
4118  1  29
4118  2  29
;
run;

data claims;
	set have;
	has29=code=29;
	has54=code=54;
run;

proc sql;
	create table claims2 as select claim,max(has29) as has29, max(has54) as has54
		from claims
		group by claim;
quit;

data claims3;
	set claims2;
	if has29=1 and has54=1;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;This will keep only claim 2339 and 5498. First, I create boolean variables and then select the max of them and group by claim to collapse down to 1 row per claim. In another data step, I use a subsetting if to keep only where the booleans are both equal to 1 (has code = 29 and has code = 54) within the same claim.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 11 Jun 2021 01:24:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Both-codes-must-appear-on-same-claim/m-p/747247#M234503</guid>
      <dc:creator>tarheel13</dc:creator>
      <dc:date>2021-06-11T01:24:09Z</dc:date>
    </item>
    <item>
      <title>Re: Both codes must appear on same claim</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Both-codes-must-appear-on-same-claim/m-p/748007#M234874</link>
      <description>Thank you &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/37107"&gt;@jimbarbour&lt;/a&gt;. worked like a charm</description>
      <pubDate>Tue, 15 Jun 2021 01:37:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Both-codes-must-appear-on-same-claim/m-p/748007#M234874</guid>
      <dc:creator>Etoo12121</dc:creator>
      <dc:date>2021-06-15T01:37:26Z</dc:date>
    </item>
    <item>
      <title>Re: Both codes must appear on same claim</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Both-codes-must-appear-on-same-claim/m-p/748011#M234877</link>
      <description>&lt;P&gt;You're welcome.&amp;nbsp; Glad I was able to help.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Jim&lt;/P&gt;</description>
      <pubDate>Tue, 15 Jun 2021 01:49:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Both-codes-must-appear-on-same-claim/m-p/748011#M234877</guid>
      <dc:creator>jimbarbour</dc:creator>
      <dc:date>2021-06-15T01:49:35Z</dc:date>
    </item>
  </channel>
</rss>

