<?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 IDENTIFYING TREATED AND UNTREATED PATIENTS in New SAS User</title>
    <link>https://communities.sas.com/t5/New-SAS-User/IDENTIFYING-TREATED-AND-UNTREATED-PATIENTS/m-p/834038#M35829</link>
    <description>&lt;P&gt;Hi all,&lt;/P&gt;
&lt;P&gt;i have two datasets:&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1. dataset1 = disease. it contains patients with disease (dx = 1) and no disease (dx = 0)&lt;/P&gt;
&lt;P&gt;2. dataset 2 = medication. it contains patients taking medication for the disease (t2D = 1) and those not taking medications(t2D = 0)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;i&amp;nbsp; need to get 1. patient with disease and taking med&lt;/P&gt;
&lt;P&gt;2. patient with disease not taking med&lt;/P&gt;
&lt;P&gt;3. patients without disease taking med&lt;/P&gt;
&lt;P&gt;my code is too long,beacuse i had to create new datasets for each category of patients and used inner join.&amp;nbsp; I&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/***QUESTION 1**/

/**TAKES EVERY PATIENT WITH THE MEDICATION THAT HAVE DIABETES**/
DATA DXMED; /*1,759,104*/
MERGE T2DMED2 (IN = A) /*1,759,104*/  T2DM2 (IN = B) /**/;
BY PATIENT_ID;
IF A =1 OR B = 1;
RUN;

PROC FREQ DATA = DXMED;
TABLES DX*T2D;
RUN;

**Q2**/

/**PATIENTS TREATED WITHOUT A DIAGNOSIS OF DIABETES**/


DATA MYHUMANA.T2DXXX; /**6,807,243**/ /*DISTINCT PATIENTS WITH NO T2D**/
SET MYHUMANA.T2DX; /*DISTINCT PATIENTS WITH T2D AND NO T2D, 7,436,258**/
IF T2D = 0;
RUN;

/**432,513**/
DATA Q2;  /**INNER JOIN**/
MERGE MYHUMANA.T2DXXX (IN = A) /*DISTINCT PATIENTS WITH NO T2D /**7,436,258**/  MYHUMANA.MED(IN = B); /**DISTINCT PATIENTS TAKING ADM**/ /**1,759,104**/
BY PATIENT_ID;
IF A=1 AND B=1;
RUN;

/***CROSS-CHECK WITH ALTERNATE DATA STEP***/

DATA Q2A; /**LEFT JOIN SO ALL PATIENTS TAKING ADM IS IN DATASET Q2A**/ /**1,759,104**/
MERGE MYHUMANA.MED(IN = A) /**1,759,104**/ /*DISTINCT PATIENTS TREATED*/  MYHUMANA.T2DX(IN = B); /**7,436,258**/ /*DISTINCT PATIENTS WITH T2D AND NO T2D**/
BY PATIENT_ID;
IF A=1;
RUN;

/**T2D = 0 = 432,513**/
PROC FREQ DATA = Q2A;
TABLES T2D; 
RUN;



/**Q3**/

/**PATIENTS WITH DIABETES AND RECEIVED AN ANTIDIABETIC MEDICATION**/

/**367,471**/
DATA Q3;
MERGE MYHUMANA.T2DXX (IN = A) /**WITH T2D ONLY**/ /**629,015**/  MYHUMANA.MED(IN = B); /**TAKING ADM ONLY**/ /**1,759,104**/
BY PATIENT_ID;
IF A=1 AND B=1;
RUN;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;s there an efficent way i can do this please? THANK YOU&lt;/P&gt;</description>
    <pubDate>Sun, 18 Sep 2022 21:13:44 GMT</pubDate>
    <dc:creator>Banke</dc:creator>
    <dc:date>2022-09-18T21:13:44Z</dc:date>
    <item>
      <title>IDENTIFYING TREATED AND UNTREATED PATIENTS</title>
      <link>https://communities.sas.com/t5/New-SAS-User/IDENTIFYING-TREATED-AND-UNTREATED-PATIENTS/m-p/834038#M35829</link>
      <description>&lt;P&gt;Hi all,&lt;/P&gt;
&lt;P&gt;i have two datasets:&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1. dataset1 = disease. it contains patients with disease (dx = 1) and no disease (dx = 0)&lt;/P&gt;
&lt;P&gt;2. dataset 2 = medication. it contains patients taking medication for the disease (t2D = 1) and those not taking medications(t2D = 0)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;i&amp;nbsp; need to get 1. patient with disease and taking med&lt;/P&gt;
&lt;P&gt;2. patient with disease not taking med&lt;/P&gt;
&lt;P&gt;3. patients without disease taking med&lt;/P&gt;
&lt;P&gt;my code is too long,beacuse i had to create new datasets for each category of patients and used inner join.&amp;nbsp; I&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/***QUESTION 1**/

/**TAKES EVERY PATIENT WITH THE MEDICATION THAT HAVE DIABETES**/
DATA DXMED; /*1,759,104*/
MERGE T2DMED2 (IN = A) /*1,759,104*/  T2DM2 (IN = B) /**/;
BY PATIENT_ID;
IF A =1 OR B = 1;
RUN;

PROC FREQ DATA = DXMED;
TABLES DX*T2D;
RUN;

**Q2**/

/**PATIENTS TREATED WITHOUT A DIAGNOSIS OF DIABETES**/


DATA MYHUMANA.T2DXXX; /**6,807,243**/ /*DISTINCT PATIENTS WITH NO T2D**/
SET MYHUMANA.T2DX; /*DISTINCT PATIENTS WITH T2D AND NO T2D, 7,436,258**/
IF T2D = 0;
RUN;

/**432,513**/
DATA Q2;  /**INNER JOIN**/
MERGE MYHUMANA.T2DXXX (IN = A) /*DISTINCT PATIENTS WITH NO T2D /**7,436,258**/  MYHUMANA.MED(IN = B); /**DISTINCT PATIENTS TAKING ADM**/ /**1,759,104**/
BY PATIENT_ID;
IF A=1 AND B=1;
RUN;

/***CROSS-CHECK WITH ALTERNATE DATA STEP***/

DATA Q2A; /**LEFT JOIN SO ALL PATIENTS TAKING ADM IS IN DATASET Q2A**/ /**1,759,104**/
MERGE MYHUMANA.MED(IN = A) /**1,759,104**/ /*DISTINCT PATIENTS TREATED*/  MYHUMANA.T2DX(IN = B); /**7,436,258**/ /*DISTINCT PATIENTS WITH T2D AND NO T2D**/
BY PATIENT_ID;
IF A=1;
RUN;

/**T2D = 0 = 432,513**/
PROC FREQ DATA = Q2A;
TABLES T2D; 
RUN;



/**Q3**/

/**PATIENTS WITH DIABETES AND RECEIVED AN ANTIDIABETIC MEDICATION**/

/**367,471**/
DATA Q3;
MERGE MYHUMANA.T2DXX (IN = A) /**WITH T2D ONLY**/ /**629,015**/  MYHUMANA.MED(IN = B); /**TAKING ADM ONLY**/ /**1,759,104**/
BY PATIENT_ID;
IF A=1 AND B=1;
RUN;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;s there an efficent way i can do this please? THANK YOU&lt;/P&gt;</description>
      <pubDate>Sun, 18 Sep 2022 21:13:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/IDENTIFYING-TREATED-AND-UNTREATED-PATIENTS/m-p/834038#M35829</guid>
      <dc:creator>Banke</dc:creator>
      <dc:date>2022-09-18T21:13:44Z</dc:date>
    </item>
    <item>
      <title>Re: IDENTIFYING TREATED AND UNTREATED PATIENTS</title>
      <link>https://communities.sas.com/t5/New-SAS-User/IDENTIFYING-TREATED-AND-UNTREATED-PATIENTS/m-p/834075#M35836</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data disease;
input subjid dx;
cards;
1 1
2 0
3 0
4 1
;
data medication;
input subjid t2D;
cards;
1 0
2 0
3 1
4 1
;

proc sql;
create table p_with_disease_taking_med as
select subjid from disease where dx=1
intersect
select subjid from medication where t2D=1 
;
create table p_with_disease_not_taking_med as
select subjid from disease where dx=1
intersect
select subjid from medication where t2D=0 
;
create table p_without_disease_taking_med as
select subjid from disease where dx=0
intersect
select subjid from medication where t2D=1 
;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 19 Sep 2022 12:17:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/IDENTIFYING-TREATED-AND-UNTREATED-PATIENTS/m-p/834075#M35836</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2022-09-19T12:17:39Z</dc:date>
    </item>
  </channel>
</rss>

