<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5647017353147228301</id><updated>2011-11-26T12:21:52.898+05:30</updated><category term='Clinical Research'/><category term='National Issue'/><category term='SAS'/><title type='text'>........The Thinking Mind</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://itskumar.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5647017353147228301/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://itskumar.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Kumar</name><uri>http://www.blogger.com/profile/09280903025305828419</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5647017353147228301.post-2418528886247962236</id><published>2011-11-26T12:21:00.000+05:30</published><updated>2011-11-26T12:21:52.910+05:30</updated><title type='text'>The Hindu : News : Justice Markandey Katju on the role of media in India</title><content type='html'>&lt;a href="http://www.thehindu.com/news/article2600319.ece#.TtCMfkTwAI8.blogger"&gt;The Hindu : News : Justice Markandey Katju on the role of media in India&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5647017353147228301-2418528886247962236?l=itskumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itskumar.blogspot.com/feeds/2418528886247962236/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itskumar.blogspot.com/2011/11/hindu-news-justice-markandey-katju-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5647017353147228301/posts/default/2418528886247962236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5647017353147228301/posts/default/2418528886247962236'/><link rel='alternate' type='text/html' href='http://itskumar.blogspot.com/2011/11/hindu-news-justice-markandey-katju-on.html' title='The Hindu : News : Justice Markandey Katju on the role of media in India'/><author><name>Kumar</name><uri>http://www.blogger.com/profile/09280903025305828419</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5647017353147228301.post-5972319481435015534</id><published>2010-04-16T17:08:00.010+05:30</published><updated>2010-04-16T17:28:14.410+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='SAS'/><title type='text'>SAS Programming Efficiencies (Part -2)</title><content type='html'>&lt;span style="font-weight:bold;"&gt;&lt;span class="Apple-style-span"  style="color:#993399;"&gt;Tip 4: Assign a value to a constant only once.&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span style="font-weight:bold;"&gt;&lt;span class="Apple-style-span"  style="color:#993399;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-weight:bold;"&gt;&lt;span class="Apple-style-span"  style="color:#993399;"&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;i&gt;Acceptable:&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;data scores;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;infile "scores.dat";&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;input test1-test3;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;x=5;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;i&gt;More Efficient:&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;data scores;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;retain x 5;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;infile "scores.dat";&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;input test1-test3;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;div&gt;SAS assigns values to variables in a retain statement only once. In contrast, SAS executes assignment statements during each iteration of the DATA step.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="color:#993399;"&gt;Tip 5: Put missing values last in expressions&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="color:#993399;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="color:#993399;"&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;i&gt;Acceptable:&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;data test;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;set save.scores;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/b&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;/* t1 is often missing */&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;score=t1 + t2/2 +t3/3 + t4/4;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;More efficient:&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;data test;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;set save.scores;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;/* t1 is often missing */&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;score=t2/2 +t3/3 + t4/4 + t1;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;When a SAS expression contains several operations, a missing value propagates from the &lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;first operation in which it occurs through all subsequent operations in the expression. SAS &lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;records the column and line location of each use of the missing value and how many &lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;missing values occur at the location. The fewer the operations that involve missing values, &lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;the less record-keeping SAS must do and the less CPU time used.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="color:#993399;"&gt;Tip 6: Check for missing values before using a variable in multiple statements.&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="color:#993399;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="color:#993399;"&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;i&gt;Acceptable:&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;data test;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;set save.sales;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;cost=whosale + oftmiss;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;tax=oftmiss*.05;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;profit=sales-oftmiss;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/b&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;More efficient:&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;data test;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;set save.sales;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;if oftmiss ne . then do;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;      &lt;/span&gt;cost=whosale + oftmiss;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;      &lt;/span&gt;tax=oftmiss*.05;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;      &lt;/span&gt;profit=sales-oftmiss;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;end;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Propagating missing values in expressions requires CPU time, as discussed in the previous &lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;tip. By checking for a missing value before performing the operations, you can reduce the &lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;number of missing values that are propagated.&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#993399;"&gt;&lt;b&gt;&lt;span class="Apple-style-span"   style="color: rgb(51, 51, 51);  font-weight: normal;  line-height: 18px; font-family:'Trebuchet MS', Verdana, Arial, sans-serif;font-size:13px;"&gt;&lt;b&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;&lt;div&gt;&lt;div style="text-align: left; "&gt;&lt;div style="text-align: left; "&gt;&lt;div style="text-align: left; "&gt;&lt;div style="text-align: left; "&gt;&lt;b&gt;&lt;div style="text-align: left; "&gt;&lt;div style="text-align: left; "&gt;&lt;div style="text-align: right; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;to be continued in next blog...&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5647017353147228301-5972319481435015534?l=itskumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itskumar.blogspot.com/feeds/5972319481435015534/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itskumar.blogspot.com/2010/04/sas-programming-efficiencies-part-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5647017353147228301/posts/default/5972319481435015534'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5647017353147228301/posts/default/5972319481435015534'/><link rel='alternate' type='text/html' href='http://itskumar.blogspot.com/2010/04/sas-programming-efficiencies-part-2.html' title='SAS Programming Efficiencies (Part -2)'/><author><name>Kumar</name><uri>http://www.blogger.com/profile/09280903025305828419</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5647017353147228301.post-7429793992786687950</id><published>2010-04-07T11:53:00.027+05:30</published><updated>2010-04-07T13:00:16.471+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='SAS'/><title type='text'>SAS Programming Efficiencies (Part -1)</title><content type='html'>&lt;div&gt;The purpose of this blog is to provide tips for improving the efficiency of your SAS programs. It suggests coding techniques, provides guidelines for their use, and compares examples of acceptable and improved ways to accomplish the same task. Most of the tips are limited to DATA step applications.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Efficiency&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;For the purpose of this discussion, efficiency will be defined simply as obtaining more results from fewer computer resources. When you submit a SAS program, the computer must:&lt;/span&gt;&lt;/div&gt;&lt;/b&gt;&lt;div&gt;&lt;b&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;b&gt;&lt;div style="display: inline !important; "&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;load the required software into memory&lt;/span&gt;&lt;/div&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;b&gt;&lt;div style="display: inline !important; "&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;compile the program&lt;/span&gt;&lt;/div&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;b&gt;&lt;div style="display: inline !important; "&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;find the data on which the program will execute&lt;/span&gt;&lt;/div&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;b&gt;&lt;div style="display: inline !important; "&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;perform the operations requested in the program&lt;/span&gt;&lt;/div&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;b&gt;&lt;div style="display: inline !important; "&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;report the result of the operations for your inspection&lt;/span&gt;&lt;/div&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/b&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;div&gt;All of these tasks require time and space. Time and space for a computer program are composed of CPU time, I/O time, and memory.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;/b&gt;&lt;div&gt;&lt;b&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;div style="display: inline !important; "&gt;&lt;i&gt;&lt;b&gt;CPU time:&lt;/b&gt;&lt;/i&gt; the time the Central Processing Unit spends performing the operations you assign.&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;div style="display: inline !important; "&gt;&lt;b&gt;I/O time:&lt;/b&gt; the time the computer spends on two tasks, input and output. Input refers to moving the data from storage areas such as disks or tapes into memory. Output refers to moving the results out of memory to storage or to a display device.&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;div style="display: inline !important; "&gt;&lt;b&gt;&lt;i&gt;Memory:&lt;/i&gt;&lt;/b&gt; the size of the work area that the CPU must devote to the operations in the program.&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;Another important resource is data storage - how much space on disk or tape your data use.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;A gain in efficiency is seldom absolute because optimizing one resource usually results in increased consumption of another resource. For example, recreating a SAS data set in each run avoids the cost of storing the data set but increases the I/O and CPU time for the program. A few programming techniques do improve performance in all areas.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;A. Execute only the Necessary Statements&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;The number and complexity of statements executed largely control the CPU time used. By default, SAS executes every statement in the DATA step for each observation in the input source. Within a statement, SAS executes every operation in a given expression each time the statement executes. Tips in this section fall into two main categories:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;tips that reduce the number of statements executed.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;tips that reduce the number of operations performed in a particular statement.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="color:#993399;"&gt;Tip 1: When performing several calculations, be sure you execute them only for the necessary observations.&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;&lt;div&gt;Acceptable:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;libname read '~/dissert';&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;data temp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;set read.adults;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;wkincome=rpincome/52;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;if age LT 50;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/i&gt;&lt;/b&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;More efficient:&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;libname read '~/dissert';&lt;/div&gt;&lt;div&gt;data temp;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;set read.adults;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;if age LT 50;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;wkincome=rpincome/52;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;By moving the subsetting IF statement before the recodes, the recodes are executed only for the observations that will appear in the output data set. This decreases the CPU time.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="color:#993399;"&gt;Tip 2: When only one condition can be true for a given observation, write &lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); font-style: normal; font-weight: normal; "&gt;&lt;b&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;b&gt;&lt;i&gt;&lt;div style="display: inline !important; "&gt;&lt;b&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="color:#993399;"&gt;a series of IF-THEN/ELSE statements.&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="color:#993399;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;/i&gt;&lt;/b&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;&lt;b&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="color:#993399;"&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;Acceptable:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;if division =1 then adjinc=rpincome/1.5;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;if division =2 then adjinc=rpincome/1.4;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;if division =3 then adjinc=rpincome;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;if division =4 then adjinc=rpincome;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;if division =5 then adjinc=rpincome/1.2;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;if division =6 then adjinc=rpincome/1.2;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;if division =7 then adjinc=rpincome/1.2;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;if division =8 then adjinc=rpincome/1.3;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;if division =9 then adjinc=rpincome;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;if division gt 9 then adjinc=rpincome;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;More Efficient:&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;if division =1 then adjinc=rpincome/1.5;&lt;/div&gt;&lt;div&gt; else if division =2 then adjinc=rpincome/1.4; &lt;/div&gt;&lt;div&gt;  else if division =3 then adjinc=rpincome;&lt;/div&gt;&lt;div&gt;   else if division =4 then adjinc=rpincome;&lt;/div&gt;&lt;div&gt;    else if division =5 then adjinc=rpincome/1.2;&lt;/div&gt;&lt;div&gt;     else if division =6 then adjinc=rpincome/1.2;&lt;/div&gt;&lt;div&gt;      else if division =7 then adjinc=rpincome/1.2;&lt;/div&gt;&lt;div&gt;       else if division =8 then adjinc=rpincome/1.3;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;        else if division=9 then adjinc=rpincome;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;         else adjinc=rpincome;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/i&gt;&lt;/b&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;In IF-THEN/ELSE statements, SAS stops checking statements when a condition is true for &lt;b&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;b&gt;&lt;i&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;b&gt;&lt;i&gt;&lt;div style="display: inline !important; "&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;an observation. It then skips to the end of the series and then resumes processing. &lt;b&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;b&gt;&lt;i&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;b&gt;&lt;i&gt;&lt;div style="display: inline !important; "&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;However, in a series of IF-THEN statements without the ELSE, SAS checks each &lt;b&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;b&gt;&lt;i&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;b&gt;&lt;i&gt;&lt;div style="display: inline !important; "&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;condition for every observation. This tip is most useful when some categories contain &lt;b&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;b&gt;&lt;i&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;b&gt;&lt;i&gt;&lt;div style="display: inline !important; "&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;many more observations than other categories and you can place the conditions in order of &lt;b&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;b&gt;&lt;i&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;b&gt;&lt;i&gt;&lt;div style="display: inline !important; "&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;decreasing probability.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="color:#993399;"&gt;Tip 3: Perform resource-intensive calculations and comparisons only &lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); font-style: normal; font-weight: normal; "&gt;&lt;b&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;b&gt;&lt;i&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;b&gt;&lt;i&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;b&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="color:#993399;"&gt;once.&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;Use IF-THEN/ELSE to test simple conditions.&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&lt;div style="text-align: left;"&gt;&lt;i&gt;Acceptable:&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;if division in(1,2,3) and year(date) LT 1950 then&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;adjinc=rpincome/1.25;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;else if division in(1,2,3) and year(date) LT 1960 then&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;adjinc=rpincome/1.5;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;else if division in(1,2,3) and year(date) LT 1970 then&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;adjinc=rpincome/1.75;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/b&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&lt;i&gt;More Efficient:&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;div style="text-align: left;"&gt;year=year(date);&lt;/div&gt;&lt;div style="text-align: left;"&gt;if division in(1,2,3) then flag='y';&lt;/div&gt;&lt;div style="text-align: left;"&gt;if flag='y' and year LT 1950 then adjinc=rpincome/1.25;&lt;/div&gt;&lt;div style="text-align: left;"&gt; else if flag='y' and year LT 1960 then adjinc=rpincome/1.5;&lt;/div&gt;&lt;div style="text-align: left;"&gt;  else if flag='y' and year LT 1970 then adjinc=rpincome/1.75;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/b&gt;&lt;div style="text-align: left;"&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&lt;div style="text-align: left;"&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal; font-style: normal; "&gt;Functions are expensive and require a lot of CPU time. By moving the calculations &lt;b&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;b&gt;&lt;i&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;b&gt;&lt;i&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="text-align: left; display: inline !important; "&gt;&lt;div style="text-align: left; display: inline !important; "&gt;&lt;div style="text-align: left; display: inline !important; "&gt;&lt;div style="text-align: left; display: inline !important; "&gt;&lt;b&gt;&lt;div style="text-align: left; display: inline !important; "&gt;&lt;div style="text-align: left; display: inline !important; "&gt;&lt;div style="text-align: left; display: inline !important; "&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;involving SAS functions, you have reduced the number of times the functions need to be &lt;b&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;b&gt;&lt;i&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="display: inline !important; "&gt;&lt;b&gt;&lt;i&gt;&lt;div style="display: inline !important; "&gt;&lt;div style="text-align: left; display: inline !important; "&gt;&lt;div style="text-align: left; display: inline !important; "&gt;&lt;div style="text-align: left; display: inline !important; "&gt;&lt;div style="text-align: left; display: inline !important; "&gt;&lt;b&gt;&lt;div style="text-align: left; display: inline !important; "&gt;&lt;div style="text-align: left; display: inline !important; "&gt;&lt;div style="text-align: left; display: inline !important; "&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;evaluated per observation.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: right;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;to be continued in next blog...&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5647017353147228301-7429793992786687950?l=itskumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itskumar.blogspot.com/feeds/7429793992786687950/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itskumar.blogspot.com/2010/04/sas-programming-efficiencies-part-1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5647017353147228301/posts/default/7429793992786687950'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5647017353147228301/posts/default/7429793992786687950'/><link rel='alternate' type='text/html' href='http://itskumar.blogspot.com/2010/04/sas-programming-efficiencies-part-1.html' title='SAS Programming Efficiencies (Part -1)'/><author><name>Kumar</name><uri>http://www.blogger.com/profile/09280903025305828419</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5647017353147228301.post-1664788567931243464</id><published>2009-07-17T11:37:00.004+05:30</published><updated>2009-07-17T11:45:23.969+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Clinical Research'/><title type='text'>The Impact of Financial Crisis on CRO</title><content type='html'>&lt;strong&gt;&lt;em&gt;A look at how the current financial crisis has established more opportunity for the contract research organization industry.&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;em&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;The focus on outsourcing of not only small and medium sized entities but also big pharma companies due to cost containment and regulatory pressures has led to several years of double digit growth for contract research organizations (CROs). According to the Contract Research Annual Review 2008, the CRO market grew by an extraordinary 28% last year while the pharmaceutical industry struggled with growth of around 5%. Headcounts in clinical development departments at pharmaceutical companies have been static or even decreasing (in the case of mergers and acquisitions) in the past few years, while CROs expanded their offers toward full service.&lt;br /&gt;Strategic outsourcing allows pharma companies to focus on their partner's core strengths and long-term goals. This route allows the sponsor to maximize internal resources and capacities of the vendor. Tactical outsourcing relates to short-term projects that cannot be handled internally due to the lack of internal capacity or resources, allowing for streamlining processes, fast turn around times, and access to additional equipment.&lt;br /&gt;Forecasts predict that there remains a sufficient growth opportunity for the CRO industry until 2012. The last months have been turbulent for the economy with increased merger and acquisition activities of pharmaceutical companies in order to expand market capitalization and tackle the problem of thinning pipelines.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Resulting situation&lt;/strong&gt;&lt;br /&gt;Complete R&amp;amp;D portfolios have been subject to thorough reviews. Sanofi-Aventis, for instance, announced the discontinuation of 14 development programs, four of these had reached Phase III, leaving 51 projects in the development pipeline.&lt;br /&gt;The economic downturn will certainly have an impact on CROs, but how substantial and how long will this last?&lt;br /&gt;Short-term effects induced by delays in payments, shifting of projects, backlogs, and prioritizations with fewer projects have reached the CRO industry already. Kendle, for example, reported a 78% drop in profit compared to the same period last year. Top executives at Kendle categorize the Q1 results as unique and view them as a near-term, manageable event. The recession might result in reduced growth rate, but the mid- and long-term effects of downsizing of R&amp;amp;D in the pharmaceutical industry will create opportunities for contract researchers.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Silver lining&lt;/strong&gt;&lt;br /&gt;The current outsourcing market is different compared to other industries, such as steel or car production where two or three companies represent the majority of sales in the market. The CRO market is highly fragmented and the number of CROs worldwide has reached over 1100.&lt;br /&gt;A consolidation of the customer base through mergers/acquisitions should therefore not pose a problem for the majority of CROs. Large global contract research providers like Quintiles, Covance, PPD, Charles River Labs, and ICON—holding 45% of the total market—will expand their capabilities in emerging markets for cost reduction purposes.&lt;br /&gt;Unmet medical needs in oncology, CNS, cardiovascular, and infectious diseases will continue to be major drivers of drug development. CROs focusing on full-service offerings in these therapeutic areas will continue to grow profits. In conclusion, one could state that unlike in other industries, the current financial crisis will create opportunities for contract research organizations.&lt;br /&gt;&lt;br /&gt;&lt;div align="right"&gt;&lt;span style="font-size:78%;color:#666666;"&gt;&lt;em&gt;*Courtesy: applied clinicaltrials online&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5647017353147228301-1664788567931243464?l=itskumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itskumar.blogspot.com/feeds/1664788567931243464/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itskumar.blogspot.com/2009/07/impact-of-financial-crisis-on-cro.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5647017353147228301/posts/default/1664788567931243464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5647017353147228301/posts/default/1664788567931243464'/><link rel='alternate' type='text/html' href='http://itskumar.blogspot.com/2009/07/impact-of-financial-crisis-on-cro.html' title='The Impact of Financial Crisis on CRO'/><author><name>Kumar</name><uri>http://www.blogger.com/profile/09280903025305828419</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5647017353147228301.post-190084150710863810</id><published>2009-05-20T15:36:00.005+05:30</published><updated>2009-05-20T22:15:01.557+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Clinical Research'/><title type='text'>India : Boon for Clinical Trials</title><content type='html'>&lt;strong&gt;&lt;em&gt;"Conducting clinical trials in India has become a strategic imperative for many pharmaceutical companies. Speedy patient enrollment, strong investigators, and cost savings are key draws."&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;em&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;India has what pharmaceutical and biotech developers need: over 1 billion people, 14,000 hospitals, 700,000 beds, and half a million doctors. India's heterogeneous population includes a diverse ethnic mix of people who suffer from a high incidence of lifestyle diseases that are common in the West.&lt;br /&gt;In considering India as a location for clinical trials, pharmaceutical companies often assess three primary factors. The first is patient enrollment opportunities that lead to quicker completion of clinical trials, the second is cost savings, and the third is an understanding of the Indian regulatory environment and quality issues to ensure that data can be used for U.S. and European regulatory approvals.&lt;br /&gt;The first wave of outsourcing to India was based on economics. By moving tasks such as clinical data management to companies in India, pharmaceutical companies reduced the cost of entering and cleaning clinical trial data. This first step was followed rapidly by tasks associated with database set up (i.e., building screens and programming logic checks in systems such as Oracle Clinical) and analysis (using systems such as SAS to generate tables, listings, and figures) required as part of the final reporting in a clinical study report. This outsourcing of data entry, cleaning, and analysis to offshore companies included working with global or local companies with IT and process improvement expertise.&lt;br /&gt;Today, outsourcing to India is far more strategic and broader in nature and focuses on accelerating drug development by discovering viable new drugs and biologics sooner to enrolling trials more rapidly.&lt;br /&gt;As noted, cost pressures in the pharmaceutical industry are a major reason why many companies are outsourcing to India. Several pharmaceutical companies and CROs set up operations to perform everything from clinical data management and statistical programming to medical writing. These tasks, which were typically done internally or at CROs, can be done accurately and cost effectively in India.&lt;br /&gt;In an era when one day's delay in a clinical trial can cost a company $2 million in subsequent foregone revenue, speed to market is key for many small and medium sized pharmaceutical and biotechnology companies. The real advantage for a pharmaceutical company is to get to market and reach peak sales sooner, prior to patent expiration.&lt;br /&gt;India not only provides rapid patient enrollment solutions, it has investigators who are highly motivated, project managers who are often well-trained MDs and PhDs, and a huge patient population that is treatment naïve and available for researchers to test novel therapies.&lt;br /&gt;Previously, when clinical trials were delayed due to enrollment, investigational sites in India were added to rescue the trial. Today, many companies include conducting trials in India as part of their clinical development plans.&lt;br /&gt;Conducting clinical trials in India has become a strategic imperative for many pharmaceutical companies. Speedy patient enrollment, strong investigators, and cost savings are key draws. As of May 20, 2009, www.clinicaltrials.gov/ listed 958 ongoing trials in India.&lt;br /&gt;&lt;br /&gt;&lt;div align="right"&gt;&lt;em&gt;&lt;span style="font-size:78%;"&gt;*Courtesy: applied clinicaltrials online&lt;/span&gt;&lt;/em&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5647017353147228301-190084150710863810?l=itskumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itskumar.blogspot.com/feeds/190084150710863810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itskumar.blogspot.com/2009/05/india-boon-for-clinical-trials.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5647017353147228301/posts/default/190084150710863810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5647017353147228301/posts/default/190084150710863810'/><link rel='alternate' type='text/html' href='http://itskumar.blogspot.com/2009/05/india-boon-for-clinical-trials.html' title='India : Boon for Clinical Trials'/><author><name>Kumar</name><uri>http://www.blogger.com/profile/09280903025305828419</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5647017353147228301.post-2393353543782337766</id><published>2009-05-15T11:03:00.005+05:30</published><updated>2009-05-15T22:33:37.673+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Clinical Research'/><title type='text'>Is Clinical Research Recession Proof?</title><content type='html'>&lt;strong&gt;&lt;em&gt;"Drug development, largely immune to past economic downturns, now faces a different climate."&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;The most common questions nowadays revolve around the current recession and its impact on clinical research.&lt;br /&gt;Though reluctant to openly admit it, inquisitors are responding to growing concerns about announced layoffs, tight financial markets that once fed smaller company R&amp;amp;D spending, and project postponements and cancellations.&lt;br /&gt;The questions are not easily answered. Historically, clinical research has weathered recessionary periods extremely well, leading analysts and insiders to conclude that biopharmaceutical R&amp;amp;D is somewhat immune to economic cycles.&lt;br /&gt;&lt;br /&gt;A Tufts CSDD analysis of the past five recessions since 1973 shows that R&amp;amp;D spending continues to grow, though at a more modest rate compared with healthy economic periods. Active Phase I–III project volume continued to rise steadily during the past five recessions. And, according to PhRMA, clinical research personnel growth has typically been flat or has slightly increased during recessionary periods.&lt;br /&gt;However, the current economic crisis appears to be an anomaly.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Unusual volatility&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;The impact of this global recession has hit clinical research squarely and broadly, although a few select sponsors and CROs have emerged unscathed and eager to pursue market opportunities.&lt;br /&gt;Pharmaceutical and large biotechnology companies have announced that they will be terminating—or leaving unfilled—more than 50,000 positions, of which about 10% will come from R&amp;amp;D. Additionally, a number of major drug development sponsors have announced plans to focus research priorities.&lt;br /&gt;In the past few months alone, for example, GlaxoSmithKline has announced its plans to eliminate hundreds of research positions as part of an operations overhaul. AstraZeneca and Merck also announced plans to cut thousands of positions worldwide—including those within R&amp;amp;D—during the next several years. Pfizer, which recently acquired Wyeth, reports that it plans to eliminate 19,500 jobs—or 15% of its combined workforce.&lt;br /&gt;In addition, Pfizer indicated that cardiovascular disease, long a major focus of its innovation, is not a core R&amp;amp;D area of interest at this time.&lt;br /&gt;After cutting 1200 jobs a year ago, Abbott Labs announced that it will be eliminating another 1000 jobs. Belgium's UCB Pharma reported that it would cut 2000 jobs, or 17% of its workforce. And Procter &amp;amp; Gamble is now apparently looking to pull out of the drugmaking business altogether.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Good and bad&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;Amidst downsizings and consolidation, there is a smattering of positive news.&lt;br /&gt;Sponsors with very strong pipelines have reported solid sales and profit growth during the current recession. As such, rumors are circulating that some of these top-performing companies are attractive takeover candidates.&lt;br /&gt;Bristol-Myers Squibb, for example, posted very strong revenue and earnings growth in 2008. Schering-Plough and Novartis also posted very strong financial performance in 2008. Novo Nordisk reported a 138% increase in net income for fourth quarter 2008.&lt;br /&gt;For small pharmaceutical and biotechnology companies, the current operating environment is particularly volatile. Many of these companies face the bleak prospect of scarce funding from capital markets and major biopharmaceutical companies.&lt;br /&gt;There are numerous cases, at this time, of financially distressed small biopharmaceutical companies roiled by the current operating climate.&lt;br /&gt;To name a few: Myocor Inc., which had a promising atrial defibrillation device, folded this past October. Orchestra Therapeutics, while developing a treatment for multiple sclerosis, filed for Chapter 7 bankruptcy the same month. Titan, a small biopharmaceutical company focused primarily on CNS disorders, significantly downsized this past December. Altus Pharmaceuticals announced it is cutting 75% of its workforce—or 107 jobs—and will reduce its research focus to a single program.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;A holding pattern&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;Economic uncertainty is driving much higher levels of cautious program management among private sector clinical research sponsors.&lt;br /&gt;Based on anecdotal reports, sponsors are taking a far more conservative approach to new study starts. They are suspending and terminating large numbers of programs. And they're placing more emphasis on early and substantial justification to continue funding development programs.&lt;br /&gt;&lt;br /&gt;Service providers (e.g., CROs, investigative sites, and patient recruitment companies) note that industry sponsors have been eliminating programs and focusing on priority projects with tight performance timelines and costs.&lt;br /&gt;Sponsors are also becoming more selective about what, as well as to whom, they outsource to better capitalize on in-house competencies.&lt;br /&gt;A number of CROs reported very strong 2008 performance due to rising sponsor reliance on outsourcing to handle capacity needs. Recently, PharmaNet stated that a high number of postponed and cancelled contracts have forced it to adjust its financial forecasts for 2009.&lt;br /&gt;In its December 31, 2008, financial statement, Parexel noted that a small biopharmaceutical company client was filing for bankruptcy protection and would no longer fund its late-stage clinical research program.&lt;br /&gt;Investigative sites are reporting widespread postponements and cancellations of planned work. In response, sites have been aggressively pursuing whatever clinical trial opportunities they can find with sponsors and CROs to replace lost study volume.&lt;br /&gt;Sites overall report that they're in good shape if they are able to execute work already on their books, but the pipeline seems uncommonly light for the second and third quarters of 2009.&lt;br /&gt;Many clinical trials postponed in the fourth quarter of 2008 have yet to be initiated. Investigative sites report that sponsors aren't even engaged in pre-trial work with the sites selected to conduct them. Several sites were forced to write off significantly higher levels of bad debt or uncollectible receivables on their books due to this recession.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The M&amp;amp;A impact&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The recent volume of merger and acquisition activity in the biopharmaceutical industry has been high, and it is expected to accelerate in 2009 and 2010, as the climate transitions to that of a buyer's market.&lt;br /&gt;Notable transactions during 2008 include Takeda Pharmaceutical's acquisition of Millenium Pharmaceuticals, Teva Pharmaceuticals acquisition of Barr Pharmaceuticals, and King Pharmaceuticals $1.6 billion purchase of Alpharma. In early 2009, Pfizer acquired Wyeth, Roche made a hostile bid for Genentech, and Astellas made a $1 billion unsolicited bid for CV Therapeutics.&lt;br /&gt;Tufts CSDD analysis of M&amp;amp;A transactions shows that combined entities typically limit or reduce R&amp;amp;D spending to accommodate integration challenges and instability. The rising volume of mergers and acquisitions in the current operating environment highlights another unusual condition of this recession. The period of caution and constraint might be extended beyond historical durations.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Guarded optimism&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;For now, clinical research professionals remain guardedly optimistic for 2009. A recent survey of the CEOs of PhRMA-member companies finds that one-third is confident they will continue to see revenue and earnings growth this year. The remaining two-thirds project an economic recovery in 2010.&lt;br /&gt;In the informal surveys taken at conferences and presentations, sponsors, CROs, and investigative sites largely anticipate that the clinical research industry will emerge healthier once the global economy has recovered.&lt;br /&gt;Specifically, professionals note that financially distressed markets weed out unhealthy players and free up qualified talent, offering a variety of organizations new or expanded expertise.&lt;br /&gt;The current environment forces all players to restructure and manage their operations more leanly through lowering both variable and fixed operating costs. Dependence on outsourcing will continue to grow and may finally, out of necessity, spur more effective collaboration models.&lt;br /&gt;The uncertainties of a volatile recession speak to the need to improve the quality and frequency of communication between sponsors, CROs, and sites in order to manage project suspensions and terminations responsibly and ethically. And sponsors and CROs must be mindful of site cash flow needs in order to preserve and support their most valued investigative sites.&lt;br /&gt;Most sites are operating with very tight margins and poor cash flow—it takes the typical site more than 130 days on average to get paid for work performed.&lt;br /&gt;"Although the current recession may be different, the name of the game is still about hunkering down, focusing on performance, and making infrastructure and process improvements."&lt;br /&gt;&lt;br /&gt;&lt;div align="right"&gt;&lt;em&gt;&lt;span style="font-size:78%;"&gt;*Courtesy: applied clinicaltrials online&lt;/span&gt;&lt;/em&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5647017353147228301-2393353543782337766?l=itskumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itskumar.blogspot.com/feeds/2393353543782337766/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itskumar.blogspot.com/2009/05/is-clinical-research-recession-proof.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5647017353147228301/posts/default/2393353543782337766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5647017353147228301/posts/default/2393353543782337766'/><link rel='alternate' type='text/html' href='http://itskumar.blogspot.com/2009/05/is-clinical-research-recession-proof.html' title='Is Clinical Research Recession Proof?'/><author><name>Kumar</name><uri>http://www.blogger.com/profile/09280903025305828419</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5647017353147228301.post-1662058904295376161</id><published>2009-05-14T10:44:00.000+05:30</published><updated>2009-05-14T10:55:47.058+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='National Issue'/><title type='text'>Tainted money</title><content type='html'>&lt;em&gt;&lt;strong&gt;&lt;span style="font-family:arial;"&gt;"India ranks fifth among developing countries with illicit outflows of around $22 billion to $27 billion a year during 2002-06.&lt;/span&gt;&lt;/strong&gt; "&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;THE money is tainted; it is a drain of wealth from the country, being located in secretive Swiss banks; and the sums involved are large. Not surprisingly, the issue of monies stashed away by India’s rich and powerful in numbered accounts in Swiss and similar banks is periodically raised, provokes controversy and then enters a period of hibernation. It is revived periodically for a number of reasons. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Most often, the transfer of money to Swiss bank accounts involves a violation of tax, foreign exchange and/or other laws of the country, and therefore is illegal and morally repugnant. To boot, the sums involved are not small. Finally, these reflect surpluses that can be used to finance much needed development initiatives in the country, but are now being kept idle abroad to facilitate illegal accumulation. Their existence is symbolic of an elite that places self before the nation. This is even truer of alleged payoffs for award of defence contracts. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;Currently, three factors have combined to revive the controversy in India. First, early this year, in a major breakthrough, prosecutors from the United States’ Internal Revenue Service (IRS) investigating violations of tax laws by American citizens managed to force UBS, Switzerland’s largest bank, to reveal the names of 250 nationals who were suspected of having evaded payment of about $300 million in taxes by using offshore accounts. The bank also agreed to pay the U.S. government $780 million to settle the issue.&lt;br /&gt;&lt;br /&gt;The second factor leading to a revival of the debate was the release of estimates of how much money could be illicitly flowing to accounts abroad from developing countries, India in particular. Provided by Global Financial Integrity, a programme of the Centre for International Policy, these estimates based on accepted methodologies suggest between $858.6 billion and $1.06 trillion flowed illicitly from developing countries in 2006.&lt;br /&gt;&lt;br /&gt;India ranked fifth among developing countries with illicit outflows of around $22 billion to $27 billion a year during 2002-06, following Russia ($32-$38 billion), Mexico ($41-$46 billion), Saudi Arabia ($54-$55 billion) and China ($233-$289 billion). At current exchange rates, the figure at the lower end of the range amounts to more than Rs.110,000 crore a year. If a quarter of that could be recovered as tax it could go a long way in financing the National Rural Employment Guarantee Scheme each year. And if the whole amount is spent within the country, it would amount to a demand stimulus of close to three and a half per cent of gross domestic product , which could help reverse the current slowdown in growth. If there is so much money that could be kept back at home the issue is bound to be controversial, even if the figure is just an estimate.&lt;br /&gt;&lt;br /&gt;Finally, all this has occurred when India is in election mode. With an issue at hand which can provoke moral indignation and fuel nationalistic sentiment, it would be too much to expect the opposition to let it be – never mind the fact that flows of this kind were occurring even when the principal opposition party, the Bharatiya Janata Party, was in power at the Centre.&lt;br /&gt;&lt;br /&gt;&lt;div align="right"&gt;&lt;em&gt;&lt;span style="font-size:78%;"&gt;Courtesy: Frontline - May 09 - 22, 2009&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5647017353147228301-1662058904295376161?l=itskumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itskumar.blogspot.com/feeds/1662058904295376161/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itskumar.blogspot.com/2009/05/tainted-money.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5647017353147228301/posts/default/1662058904295376161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5647017353147228301/posts/default/1662058904295376161'/><link rel='alternate' type='text/html' href='http://itskumar.blogspot.com/2009/05/tainted-money.html' title='Tainted money'/><author><name>Kumar</name><uri>http://www.blogger.com/profile/09280903025305828419</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5647017353147228301.post-7407825691144757414</id><published>2009-05-12T17:00:00.001+05:30</published><updated>2009-05-12T17:00:56.500+05:30</updated><title type='text'>Welcome..!!</title><content type='html'>Welcome to my blog section..!!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5647017353147228301-7407825691144757414?l=itskumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itskumar.blogspot.com/feeds/7407825691144757414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itskumar.blogspot.com/2009/05/welcome.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5647017353147228301/posts/default/7407825691144757414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5647017353147228301/posts/default/7407825691144757414'/><link rel='alternate' type='text/html' href='http://itskumar.blogspot.com/2009/05/welcome.html' title='Welcome..!!'/><author><name>Kumar</name><uri>http://www.blogger.com/profile/09280903025305828419</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>
