<?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: Agreement measures in SAS Health and Life Sciences</title>
    <link>https://communities.sas.com/t5/SAS-Health-and-Life-Sciences/Agreement-measures/m-p/44959#M1334</link>
    <description>Dear JSA,&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
I did my own macro but I have used it only once, so maybe you should assure that everything works properly.&lt;BR /&gt;
&lt;BR /&gt;
I you find any error or you have any comment please let me know.&lt;BR /&gt;
&lt;BR /&gt;
Juan Vicente Torres&lt;BR /&gt;
torres.j(at)recercaclinica.com&lt;BR /&gt;
-------------------------------------------------------------------------------------------------------------&lt;BR /&gt;
&lt;BR /&gt;
/*****************************************************************************&lt;BR /&gt;
   PROGRAM NAME         : ./diagnostic_values.sas&lt;BR /&gt;
   PROJECT NAME         : &lt;BR /&gt;
   AUTHOR               : Juan Vicente Torres &lt;BR /&gt;
   CREATION DATE        : 23/04/2008&lt;BR /&gt;
   DESCRIPTION          : Calculate Sensibility, Specificity, Positive predictive &lt;BR /&gt;
                          values and Negative predictive values&lt;BR /&gt;
   DETAILED REQUIREMENTS: &lt;BR /&gt;
   REQUIREMENTS LOCATION: &lt;BR /&gt;
   INPUT                : &lt;BR /&gt;
   OUTPUT               : &lt;BR /&gt;
   INFRASTRUCTURE       : Windows XP    SAS 9.1&lt;BR /&gt;
&lt;BR /&gt;
   PARAMETERS			: in 	  : Dateset name&lt;BR /&gt;
						  gold_s  : indicate gold standard test&lt;BR /&gt;
						  test    : indicate new test&lt;BR /&gt;
						  decimals: set the number of decimals to be used&lt;BR /&gt;
						  print	  : print results (yes or no)&lt;BR /&gt;
   EXAMPLE				:&lt;BR /&gt;
&lt;BR /&gt;
							data ex;&lt;BR /&gt;
							input gs test @@;&lt;BR /&gt;
							cards;&lt;BR /&gt;
 							1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1&lt;BR /&gt;
							1 0 1 0 1 0 1 0	0 1 0 1 0 1 0 1 0 1 0 1&lt;BR /&gt;
							0 1	0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0&lt;BR /&gt;
							;&lt;BR /&gt;
							run;&lt;BR /&gt;
							&lt;BR /&gt;
							proc freq data=ex;&lt;BR /&gt;
							table test*gs;&lt;BR /&gt;
							run;&lt;BR /&gt;
&lt;BR /&gt;
							%diagnostic_values(in=ex, gold_s=gs, test=test, decimals=4);&lt;BR /&gt;
&lt;BR /&gt;
							It is very important assign the subjects with a disorder&lt;BR /&gt;
							with 1 and the healthy subjects with 0.&lt;BR /&gt;
&lt;BR /&gt;
  ------------------------------------------------------------------------------&lt;BR /&gt;
                    PROGRAM HISTORY&lt;BR /&gt;
  Ver#  Date		Author           Description&lt;BR /&gt;
  ----  --------	---------------  -------------------------------------------&lt;BR /&gt;
  001   23/04/2008	J.V Torres		Production version&lt;BR /&gt;
&lt;BR /&gt;
******************************************************************************/&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
%macro diagnostic_values(in=, gold_s=, test=, decimals=2, print=yes);&lt;BR /&gt;
&lt;BR /&gt;
proc sort data=&amp;amp;in out=&amp;amp;in.x;&lt;BR /&gt;
by descending &amp;amp;test descending &amp;amp;gold_s;&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
%let dec = %eval(&amp;amp;decimals+2).&amp;amp;decimals;&lt;BR /&gt;
&lt;BR /&gt;
%put ****************** &amp;amp;dec.;&lt;BR /&gt;
&lt;BR /&gt;
ods select none;&lt;BR /&gt;
&lt;BR /&gt;
********************************************************************** &lt;BR /&gt;
Sensitivity;&lt;BR /&gt;
&lt;BR /&gt;
ods output BinomialProp = BinomialProp;&lt;BR /&gt;
proc freq data=&amp;amp;in.x order=data;&lt;BR /&gt;
where &amp;amp;gold_s=1;&lt;BR /&gt;
tables &amp;amp;test;&lt;BR /&gt;
exact binomial;&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
data _null_;&lt;BR /&gt;
set binomialprop;&lt;BR /&gt;
if      name1 = "_BIN_"  then call symput('p' ,put(nValue1,&amp;amp;dec.));&lt;BR /&gt;
else if name1 = "L_BIN"  then call symput('la',put(nValue1,&amp;amp;dec.));&lt;BR /&gt;
else if name1 = "U_BIN"  then call symput('ua',put(nValue1,&amp;amp;dec.));&lt;BR /&gt;
else if name1 = "XL_BIN" then call symput('le',put(nValue1,&amp;amp;dec.));&lt;BR /&gt;
else if name1 = "XU_BIN" then call symput('ue',put(nValue1,&amp;amp;dec.));&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
data _dp;&lt;BR /&gt;
length param $35.;&lt;BR /&gt;
param = 'Sensitivity';&lt;BR /&gt;
p = put(&amp;amp;p,&amp;amp;dec.);&lt;BR /&gt;
ainterval = "(&amp;amp;la-&amp;amp;ua)";&lt;BR /&gt;
einterval = "(&amp;amp;le-&amp;amp;ue)"; &lt;BR /&gt;
label param = 'Parameter'&lt;BR /&gt;
	  p = 'Estimation'&lt;BR /&gt;
	  ainterval = 'Assimptotic 95% C.I'&lt;BR /&gt;
	  einterval = 'Exact 95% C.I';&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
**********************************************************************&lt;BR /&gt;
Specificity;&lt;BR /&gt;
&lt;BR /&gt;
ods output BinomialProp = BinomialProp;&lt;BR /&gt;
proc freq data=&amp;amp;in.x;&lt;BR /&gt;
where &amp;amp;gold_s=0;&lt;BR /&gt;
tables &amp;amp;test;&lt;BR /&gt;
exact binomial;&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
data _null_;&lt;BR /&gt;
set binomialprop;&lt;BR /&gt;
if      name1 = "_BIN_"  then call symput('p',put(nValue1,&amp;amp;dec.));&lt;BR /&gt;
else if name1 = "L_BIN"  then call symput('la',put(nValue1,&amp;amp;dec.));&lt;BR /&gt;
else if name1 = "U_BIN"  then call symput('ua',put(nValue1,&amp;amp;dec.));&lt;BR /&gt;
else if name1 = "XL_BIN" then call symput('le',put(nValue1,&amp;amp;dec.));&lt;BR /&gt;
else if name1 = "XU_BIN" then call symput('ue',put(nValue1,&amp;amp;dec.));&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
data _dp_aux;&lt;BR /&gt;
length param $35.;&lt;BR /&gt;
param = 'Specificity';&lt;BR /&gt;
p = put(&amp;amp;p,&amp;amp;dec.);&lt;BR /&gt;
ainterval = "(&amp;amp;la-&amp;amp;ua)";&lt;BR /&gt;
einterval = "(&amp;amp;le-&amp;amp;ue)"; &lt;BR /&gt;
label param = 'Parameter'&lt;BR /&gt;
	  p = 'Estimation'&lt;BR /&gt;
	  ainterval = 'Assimptotic 95% C.I'&lt;BR /&gt;
	  einterval = 'Exact 95% C.I';&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
data _dp;&lt;BR /&gt;
set _dp _dp_aux;&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
**********************************************************************&lt;BR /&gt;
Positive predictive value;&lt;BR /&gt;
&lt;BR /&gt;
ods output BinomialProp = BinomialProp;&lt;BR /&gt;
proc freq data=&amp;amp;in.x order=data;&lt;BR /&gt;
where &amp;amp;test=1;&lt;BR /&gt;
tables &amp;amp;gold_s;&lt;BR /&gt;
exact binomial;&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
data _null_;&lt;BR /&gt;
set binomialprop;&lt;BR /&gt;
if      name1 = "_BIN_"  then call symput('p',put(nValue1,&amp;amp;dec.));&lt;BR /&gt;
else if name1 = "L_BIN"  then call symput('la',put(nValue1,&amp;amp;dec.));&lt;BR /&gt;
else if name1 = "U_BIN"  then call symput('ua',put(nValue1,&amp;amp;dec.));&lt;BR /&gt;
else if name1 = "XL_BIN" then call symput('le',put(nValue1,&amp;amp;dec.));&lt;BR /&gt;
else if name1 = "XU_BIN" then call symput('ue',put(nValue1,&amp;amp;dec.));&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
data _dp_aux;&lt;BR /&gt;
length param $35.;&lt;BR /&gt;
param = 'Positive predictive value';&lt;BR /&gt;
p = put(&amp;amp;p,&amp;amp;dec.);&lt;BR /&gt;
ainterval = "(&amp;amp;la-&amp;amp;ua)";&lt;BR /&gt;
einterval = "(&amp;amp;le-&amp;amp;ue)"; &lt;BR /&gt;
label param = 'Parameter'&lt;BR /&gt;
	  p = 'Estimation'&lt;BR /&gt;
	  ainterval = 'Assimptotic 95% C.I'&lt;BR /&gt;
	  einterval = 'Exact 95% C.I';&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
data _dp;&lt;BR /&gt;
set _dp _dp_aux;&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
**********************************************************************&lt;BR /&gt;
Negative predictive value;&lt;BR /&gt;
&lt;BR /&gt;
ods output BinomialProp = BinomialProp;&lt;BR /&gt;
proc freq data=&amp;amp;in.x;&lt;BR /&gt;
where &amp;amp;test=0;&lt;BR /&gt;
tables &amp;amp;gold_s;&lt;BR /&gt;
exact binomial;&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
data _null_;&lt;BR /&gt;
set binomialprop;&lt;BR /&gt;
if      name1 = "_BIN_"  then call symput('p',put(nValue1,&amp;amp;dec.));&lt;BR /&gt;
else if name1 = "L_BIN"  then call symput('la',put(nValue1,&amp;amp;dec.));&lt;BR /&gt;
else if name1 = "U_BIN"  then call symput('ua',put(nValue1,&amp;amp;dec.));&lt;BR /&gt;
else if name1 = "XL_BIN" then call symput('le',put(nValue1,&amp;amp;dec.));&lt;BR /&gt;
else if name1 = "XU_BIN" then call symput('ue',put(nValue1,&amp;amp;dec.));&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
data _dp_aux;&lt;BR /&gt;
length param $35.;&lt;BR /&gt;
param = 'Negative predictive value';&lt;BR /&gt;
p = put(&amp;amp;p,&amp;amp;dec.);&lt;BR /&gt;
ainterval = "(&amp;amp;la-&amp;amp;ua)";&lt;BR /&gt;
einterval = "(&amp;amp;le-&amp;amp;ue)"; &lt;BR /&gt;
label param = 'Parameter'&lt;BR /&gt;
	  p = 'Estimation'&lt;BR /&gt;
	  ainterval = 'Assimptotic 95% C.I'&lt;BR /&gt;
	  einterval = 'Exact 95% C.I';&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
data _dp;&lt;BR /&gt;
set _dp _dp_aux;&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
ods select all;&lt;BR /&gt;
&lt;BR /&gt;
%if %upcase(&amp;amp;print) = YES %then %do;&lt;BR /&gt;
*title 'Diagnostic parameters';&lt;BR /&gt;
proc report missing headline headskip nowd split="@" data=_dp ;&lt;BR /&gt;
columns param p ainterval einterval ;&lt;BR /&gt;
define param 	 / display %w(36) order order=data;&lt;BR /&gt;
define p         / display %w(10);&lt;BR /&gt;
define ainterval / display %w(21);&lt;BR /&gt;
define einterval / display %w(15);&lt;BR /&gt;
run;&lt;BR /&gt;
%end;&lt;BR /&gt;
&lt;BR /&gt;
%mend;</description>
    <pubDate>Thu, 25 Sep 2008 13:30:38 GMT</pubDate>
    <dc:creator>JuanVte</dc:creator>
    <dc:date>2008-09-25T13:30:38Z</dc:date>
    <item>
      <title>Agreement measures</title>
      <link>https://communities.sas.com/t5/SAS-Health-and-Life-Sciences/Agreement-measures/m-p/44958#M1333</link>
      <description>Hi,&lt;BR /&gt;
&lt;BR /&gt;
Somebody knows if there is some macro or statement to compute confidence intervals for positive and negative percent agreement indices to measure agreement between 2 diagnostic tests when no golden standard exists?&lt;BR /&gt;
&lt;BR /&gt;
Thanks</description>
      <pubDate>Thu, 11 Sep 2008 07:24:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Health-and-Life-Sciences/Agreement-measures/m-p/44958#M1333</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2008-09-11T07:24:35Z</dc:date>
    </item>
    <item>
      <title>Re: Agreement measures</title>
      <link>https://communities.sas.com/t5/SAS-Health-and-Life-Sciences/Agreement-measures/m-p/44959#M1334</link>
      <description>Dear JSA,&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
I did my own macro but I have used it only once, so maybe you should assure that everything works properly.&lt;BR /&gt;
&lt;BR /&gt;
I you find any error or you have any comment please let me know.&lt;BR /&gt;
&lt;BR /&gt;
Juan Vicente Torres&lt;BR /&gt;
torres.j(at)recercaclinica.com&lt;BR /&gt;
-------------------------------------------------------------------------------------------------------------&lt;BR /&gt;
&lt;BR /&gt;
/*****************************************************************************&lt;BR /&gt;
   PROGRAM NAME         : ./diagnostic_values.sas&lt;BR /&gt;
   PROJECT NAME         : &lt;BR /&gt;
   AUTHOR               : Juan Vicente Torres &lt;BR /&gt;
   CREATION DATE        : 23/04/2008&lt;BR /&gt;
   DESCRIPTION          : Calculate Sensibility, Specificity, Positive predictive &lt;BR /&gt;
                          values and Negative predictive values&lt;BR /&gt;
   DETAILED REQUIREMENTS: &lt;BR /&gt;
   REQUIREMENTS LOCATION: &lt;BR /&gt;
   INPUT                : &lt;BR /&gt;
   OUTPUT               : &lt;BR /&gt;
   INFRASTRUCTURE       : Windows XP    SAS 9.1&lt;BR /&gt;
&lt;BR /&gt;
   PARAMETERS			: in 	  : Dateset name&lt;BR /&gt;
						  gold_s  : indicate gold standard test&lt;BR /&gt;
						  test    : indicate new test&lt;BR /&gt;
						  decimals: set the number of decimals to be used&lt;BR /&gt;
						  print	  : print results (yes or no)&lt;BR /&gt;
   EXAMPLE				:&lt;BR /&gt;
&lt;BR /&gt;
							data ex;&lt;BR /&gt;
							input gs test @@;&lt;BR /&gt;
							cards;&lt;BR /&gt;
 							1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1&lt;BR /&gt;
							1 0 1 0 1 0 1 0	0 1 0 1 0 1 0 1 0 1 0 1&lt;BR /&gt;
							0 1	0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0&lt;BR /&gt;
							;&lt;BR /&gt;
							run;&lt;BR /&gt;
							&lt;BR /&gt;
							proc freq data=ex;&lt;BR /&gt;
							table test*gs;&lt;BR /&gt;
							run;&lt;BR /&gt;
&lt;BR /&gt;
							%diagnostic_values(in=ex, gold_s=gs, test=test, decimals=4);&lt;BR /&gt;
&lt;BR /&gt;
							It is very important assign the subjects with a disorder&lt;BR /&gt;
							with 1 and the healthy subjects with 0.&lt;BR /&gt;
&lt;BR /&gt;
  ------------------------------------------------------------------------------&lt;BR /&gt;
                    PROGRAM HISTORY&lt;BR /&gt;
  Ver#  Date		Author           Description&lt;BR /&gt;
  ----  --------	---------------  -------------------------------------------&lt;BR /&gt;
  001   23/04/2008	J.V Torres		Production version&lt;BR /&gt;
&lt;BR /&gt;
******************************************************************************/&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
%macro diagnostic_values(in=, gold_s=, test=, decimals=2, print=yes);&lt;BR /&gt;
&lt;BR /&gt;
proc sort data=&amp;amp;in out=&amp;amp;in.x;&lt;BR /&gt;
by descending &amp;amp;test descending &amp;amp;gold_s;&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
%let dec = %eval(&amp;amp;decimals+2).&amp;amp;decimals;&lt;BR /&gt;
&lt;BR /&gt;
%put ****************** &amp;amp;dec.;&lt;BR /&gt;
&lt;BR /&gt;
ods select none;&lt;BR /&gt;
&lt;BR /&gt;
********************************************************************** &lt;BR /&gt;
Sensitivity;&lt;BR /&gt;
&lt;BR /&gt;
ods output BinomialProp = BinomialProp;&lt;BR /&gt;
proc freq data=&amp;amp;in.x order=data;&lt;BR /&gt;
where &amp;amp;gold_s=1;&lt;BR /&gt;
tables &amp;amp;test;&lt;BR /&gt;
exact binomial;&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
data _null_;&lt;BR /&gt;
set binomialprop;&lt;BR /&gt;
if      name1 = "_BIN_"  then call symput('p' ,put(nValue1,&amp;amp;dec.));&lt;BR /&gt;
else if name1 = "L_BIN"  then call symput('la',put(nValue1,&amp;amp;dec.));&lt;BR /&gt;
else if name1 = "U_BIN"  then call symput('ua',put(nValue1,&amp;amp;dec.));&lt;BR /&gt;
else if name1 = "XL_BIN" then call symput('le',put(nValue1,&amp;amp;dec.));&lt;BR /&gt;
else if name1 = "XU_BIN" then call symput('ue',put(nValue1,&amp;amp;dec.));&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
data _dp;&lt;BR /&gt;
length param $35.;&lt;BR /&gt;
param = 'Sensitivity';&lt;BR /&gt;
p = put(&amp;amp;p,&amp;amp;dec.);&lt;BR /&gt;
ainterval = "(&amp;amp;la-&amp;amp;ua)";&lt;BR /&gt;
einterval = "(&amp;amp;le-&amp;amp;ue)"; &lt;BR /&gt;
label param = 'Parameter'&lt;BR /&gt;
	  p = 'Estimation'&lt;BR /&gt;
	  ainterval = 'Assimptotic 95% C.I'&lt;BR /&gt;
	  einterval = 'Exact 95% C.I';&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
**********************************************************************&lt;BR /&gt;
Specificity;&lt;BR /&gt;
&lt;BR /&gt;
ods output BinomialProp = BinomialProp;&lt;BR /&gt;
proc freq data=&amp;amp;in.x;&lt;BR /&gt;
where &amp;amp;gold_s=0;&lt;BR /&gt;
tables &amp;amp;test;&lt;BR /&gt;
exact binomial;&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
data _null_;&lt;BR /&gt;
set binomialprop;&lt;BR /&gt;
if      name1 = "_BIN_"  then call symput('p',put(nValue1,&amp;amp;dec.));&lt;BR /&gt;
else if name1 = "L_BIN"  then call symput('la',put(nValue1,&amp;amp;dec.));&lt;BR /&gt;
else if name1 = "U_BIN"  then call symput('ua',put(nValue1,&amp;amp;dec.));&lt;BR /&gt;
else if name1 = "XL_BIN" then call symput('le',put(nValue1,&amp;amp;dec.));&lt;BR /&gt;
else if name1 = "XU_BIN" then call symput('ue',put(nValue1,&amp;amp;dec.));&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
data _dp_aux;&lt;BR /&gt;
length param $35.;&lt;BR /&gt;
param = 'Specificity';&lt;BR /&gt;
p = put(&amp;amp;p,&amp;amp;dec.);&lt;BR /&gt;
ainterval = "(&amp;amp;la-&amp;amp;ua)";&lt;BR /&gt;
einterval = "(&amp;amp;le-&amp;amp;ue)"; &lt;BR /&gt;
label param = 'Parameter'&lt;BR /&gt;
	  p = 'Estimation'&lt;BR /&gt;
	  ainterval = 'Assimptotic 95% C.I'&lt;BR /&gt;
	  einterval = 'Exact 95% C.I';&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
data _dp;&lt;BR /&gt;
set _dp _dp_aux;&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
**********************************************************************&lt;BR /&gt;
Positive predictive value;&lt;BR /&gt;
&lt;BR /&gt;
ods output BinomialProp = BinomialProp;&lt;BR /&gt;
proc freq data=&amp;amp;in.x order=data;&lt;BR /&gt;
where &amp;amp;test=1;&lt;BR /&gt;
tables &amp;amp;gold_s;&lt;BR /&gt;
exact binomial;&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
data _null_;&lt;BR /&gt;
set binomialprop;&lt;BR /&gt;
if      name1 = "_BIN_"  then call symput('p',put(nValue1,&amp;amp;dec.));&lt;BR /&gt;
else if name1 = "L_BIN"  then call symput('la',put(nValue1,&amp;amp;dec.));&lt;BR /&gt;
else if name1 = "U_BIN"  then call symput('ua',put(nValue1,&amp;amp;dec.));&lt;BR /&gt;
else if name1 = "XL_BIN" then call symput('le',put(nValue1,&amp;amp;dec.));&lt;BR /&gt;
else if name1 = "XU_BIN" then call symput('ue',put(nValue1,&amp;amp;dec.));&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
data _dp_aux;&lt;BR /&gt;
length param $35.;&lt;BR /&gt;
param = 'Positive predictive value';&lt;BR /&gt;
p = put(&amp;amp;p,&amp;amp;dec.);&lt;BR /&gt;
ainterval = "(&amp;amp;la-&amp;amp;ua)";&lt;BR /&gt;
einterval = "(&amp;amp;le-&amp;amp;ue)"; &lt;BR /&gt;
label param = 'Parameter'&lt;BR /&gt;
	  p = 'Estimation'&lt;BR /&gt;
	  ainterval = 'Assimptotic 95% C.I'&lt;BR /&gt;
	  einterval = 'Exact 95% C.I';&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
data _dp;&lt;BR /&gt;
set _dp _dp_aux;&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
**********************************************************************&lt;BR /&gt;
Negative predictive value;&lt;BR /&gt;
&lt;BR /&gt;
ods output BinomialProp = BinomialProp;&lt;BR /&gt;
proc freq data=&amp;amp;in.x;&lt;BR /&gt;
where &amp;amp;test=0;&lt;BR /&gt;
tables &amp;amp;gold_s;&lt;BR /&gt;
exact binomial;&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
data _null_;&lt;BR /&gt;
set binomialprop;&lt;BR /&gt;
if      name1 = "_BIN_"  then call symput('p',put(nValue1,&amp;amp;dec.));&lt;BR /&gt;
else if name1 = "L_BIN"  then call symput('la',put(nValue1,&amp;amp;dec.));&lt;BR /&gt;
else if name1 = "U_BIN"  then call symput('ua',put(nValue1,&amp;amp;dec.));&lt;BR /&gt;
else if name1 = "XL_BIN" then call symput('le',put(nValue1,&amp;amp;dec.));&lt;BR /&gt;
else if name1 = "XU_BIN" then call symput('ue',put(nValue1,&amp;amp;dec.));&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
data _dp_aux;&lt;BR /&gt;
length param $35.;&lt;BR /&gt;
param = 'Negative predictive value';&lt;BR /&gt;
p = put(&amp;amp;p,&amp;amp;dec.);&lt;BR /&gt;
ainterval = "(&amp;amp;la-&amp;amp;ua)";&lt;BR /&gt;
einterval = "(&amp;amp;le-&amp;amp;ue)"; &lt;BR /&gt;
label param = 'Parameter'&lt;BR /&gt;
	  p = 'Estimation'&lt;BR /&gt;
	  ainterval = 'Assimptotic 95% C.I'&lt;BR /&gt;
	  einterval = 'Exact 95% C.I';&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
data _dp;&lt;BR /&gt;
set _dp _dp_aux;&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
ods select all;&lt;BR /&gt;
&lt;BR /&gt;
%if %upcase(&amp;amp;print) = YES %then %do;&lt;BR /&gt;
*title 'Diagnostic parameters';&lt;BR /&gt;
proc report missing headline headskip nowd split="@" data=_dp ;&lt;BR /&gt;
columns param p ainterval einterval ;&lt;BR /&gt;
define param 	 / display %w(36) order order=data;&lt;BR /&gt;
define p         / display %w(10);&lt;BR /&gt;
define ainterval / display %w(21);&lt;BR /&gt;
define einterval / display %w(15);&lt;BR /&gt;
run;&lt;BR /&gt;
%end;&lt;BR /&gt;
&lt;BR /&gt;
%mend;</description>
      <pubDate>Thu, 25 Sep 2008 13:30:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Health-and-Life-Sciences/Agreement-measures/m-p/44959#M1334</guid>
      <dc:creator>JuanVte</dc:creator>
      <dc:date>2008-09-25T13:30:38Z</dc:date>
    </item>
  </channel>
</rss>

