BookmarkSubscribeRSS Feed
manya92
Fluorite | Level 6

Hi, 

 

I need to write a code for the condition given below :-

All patients must have 365 days of eligibility prior to the index_date and 365 days of eligibility after the index_date. 

 

Below is the code i wrote. Is that correct ?

proc sql;
	create table DATASET_A as  
	select distinct a.*, b.period_start, b.period_stop
	from DATASET_b as a 
	inner join DATASET_c as b 
	on a.enrolid = b.enrolid 
	where ((a.index_date -365) le b.period_start le (a.index_date) AND (a.index_date) le b.period_stop ge (a.index_date +365));
quit ;
1 REPLY 1
ChrisNZ
Tourmaline | Level 20

Assuming eligibility means what I think (you haven't told us), wouldn't this fill the criteria?

where b.PERIOD_START <= a.INDEX_DATE-365 and b.PERIOD_STOP >= a.index_date+365;

 

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 994 views
  • 0 likes
  • 2 in conversation