﻿<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>PhUSE What's New</title><link>http://www.phuse.eu/splash.aspx</link><generator>What's New RSS feed developed by VSI-Thinking, www.vsi-thinking.com</generator><language>en</language><description>All the latest updates from PhUSE</description><copyright>(C) 2011PhUSE</copyright><item><title>1. Code Structure</title><link>http://www.phuse.eu/wiki-header-and-revision-history.aspx</link><pubDate>Tue, 28 Feb 2012 14:24:31 GMT</pubDate><dc:creator>PhUSE Wiki</dc:creator><description><![CDATA[A standard header should be used for every program. The purpose of the header is to identify the]]></description><content:encoded><![CDATA[A standard header should be used for every program. The purpose of the header is to identify the program and provide documentation including revision history. It provides the necessary information to a code reviewer to identify and understand the program and its development life cycle. Standardizing the header will allow the information contained in the header to be leveraged programmatically for things such as auditing, project documentation, macro and dataset use tracking, consistency checking, and revision history reporting. There are a number of existing version control systems available (see appendix A).              The template below presents an example for a SAS program, but the basic elements needed in a good header are generalizable to most types of programs. The elements included in a header will vary from organization to organization, but there are certain pieces of information which are recommended to be included.              Highly Recommended:              Identification of the project of which the program is a part   Program name   Author identification which should be human readable and unique   Date - convention used in different organizations will vary, so be clear as to what this date represents, for example date program initiated, date program passed final validation prior to database lock, etc.   Revision History   Recommended:              Brief description of the purpose of the program   All outputs generated by the program, including creation of files and/or modifications to files   Optional:              External files used such as datasets or databases that are used as data inputs to the program or macros used   Additional information for users which may include such things as usage instructions, macro parameters, or sample macro calls   Platform and operating system which the program was developed to run in   Software/programming language which the program was programmed in   Copyright information]]></content:encoded><guid isPermalink="false">http://www.phuse.eu/wiki-header-and-revision-history.aspx?240228022012</guid></item><item><title>Overview of Common SAS Macro Functions</title><link>http://www.phuse.eu/wiki-overview-of-common-sas-macro-functions.aspx</link><pubDate>Sun, 16 Oct 2011 18:28:47 GMT</pubDate><dc:creator>PhUSE Wiki</dc:creator><description><![CDATA[BEEP tone                          , e.g. to recognize when a long run SAS program   finishes     ]]></description><content:encoded><![CDATA[BEEP tone                          , e.g. to recognize when a long run SAS program   finishes                                                     DATA   _null_;                                                              CALL SOUND (100,200);                                                               CALL SOUND (200,200);                                                   RUN;                                                                   Use of PARMBUFF, e.g. to avoid SAS errors   when parameters has been mistyped or flexible parameter names should be used.                                                  &lt;o:p&gt; &lt;/o:p&gt;                                                Example for   initializing unknown macro systems via parameters:                                                                   http://www.lexjansen.com/phuse/2009/cs/cs01.pdf                                                                                 %macro   test /parmbuff;                                                              %PUT syspbuff=&amp;syspbuff;                                   %mend;                            &lt;o:p&gt;               &lt;/o:p&gt;                                                %sales   (parm1 = 1, parm2 = 0);                                                  &lt;o:p&gt; &lt;/o:p&gt;                                                Log   output:                                    syspbuff=(parm1   = 1, parm2 = 0)                                                  &lt;o:p&gt; &lt;/o:p&gt;                                                                                Sometimes FILES needs to be modified. Positioning   according leading spaces can be used.                                                     DATA   _NULL_;                                                      INFILE &quot;c:\test1.txt&quot;                                                          lrecl=100 END=eof TRUNCOVER;                                                      FILE &quot;c:\test2.txt&quot; lrecl=100;                                                      INPUT;                            &lt;o:p&gt;               &lt;/o:p&gt;                                                                   text = _INFILE_;                            &lt;o:p&gt;               &lt;/o:p&gt;                                                                   i=LENGTH(text)-LENGTH(LEFT(text));                                                      PUT @i text;                                   RUN;                                                                   When the work   area should be cleaned completely, then also global macro variables can be   deleted with the SYMDEL function.                                                     Data   _temp;                                                              Set sashelp.vmacro;                                                              Where scope=’GLOBAL’;                                   RUN;                                   DATA   _null_;                                                              Set _temp;                                                              Call symdel(name);                                   Run;                                                  &lt;o:p&gt; &lt;/o:p&gt;]]></content:encoded><guid isPermalink="false">http://www.phuse.eu/wiki-overview-of-common-sas-macro-functions.aspx?280616102011</guid></item><item><title>Overview of Common SAS Macro Functions</title><link>http://www.phuse.eu/wiki-overview-of-common-sas-macro-functions.aspx</link><pubDate>Fri, 14 Oct 2011 19:17:42 GMT</pubDate><dc:creator>PhUSE Wiki</dc:creator><description><![CDATA[BEEP tone                          , e.g. to recognize when a long run SAS program   finishes     ]]></description><content:encoded><![CDATA[BEEP tone                          , e.g. to recognize when a long run SAS program   finishes                                                     DATA   _null_;                                                              CALL SOUND (100,200);                                                               CALL SOUND (200,200);                                                   RUN;                                                                   Use of PARMBUFF, e.g. to avoid SAS errors   when parameters has been mistyped or flexible parameter names should be used.                                                  &lt;o:p&gt; &lt;/o:p&gt;                                                Example for   initializing unknown macro systems via parameters:                                                                   http://www.lexjansen.com/phuse/2009/cs/cs01.pdf                                                                                 %macro   test /parmbuff;                                                              %PUT syspbuff=&amp;syspbuff;                                   %mend;                            &lt;o:p&gt;               &lt;/o:p&gt;                                                %sales   (parm1 = 1, parm2 = 0);                                                  &lt;o:p&gt; &lt;/o:p&gt;                                                Log   output:                                    syspbuff=(parm1   = 1, parm2 = 0)                                                  &lt;o:p&gt; &lt;/o:p&gt;                                                                                Sometimes FILES needs to be modified. Positioning   according leading spaces can be used.                                                     DATA   _NULL_;                                                      INFILE &quot;c:\test1.txt&quot;                                                          lrecl=100 END=eof TRUNCOVER;                                                      FILE &quot;c:\test2.txt&quot; lrecl=100;                                                      INPUT;                            &lt;o:p&gt;               &lt;/o:p&gt;                                                                   text = _INFILE_;                            &lt;o:p&gt;               &lt;/o:p&gt;                                                                   i=LENGTH(text)-LENGTH(LEFT(text));                                                      PUT @i text;                                   RUN;                                                                   When the work   area should be cleaned completely, then also global macro variables can be   deleted with the SYMDEL function.                                                     Data   _temp;                                                              Set sashelp.vmacro;                                                              Where scope=’GLOBAL’;                                   RUN;                                   DATA   _null_;                                                              Set _temp;                                                              Call symdel(name);                                   Run;                                                  &lt;o:p&gt; &lt;/o:p&gt;]]></content:encoded><guid isPermalink="false">http://www.phuse.eu/wiki-overview-of-common-sas-macro-functions.aspx?170714102011</guid></item><item><title>How transparent are we?</title><link>http://www.phuse.eu/blog/how-transparent-are-we/</link><pubDate>Wed, 15 May 2013 07:00:00 GMT</pubDate><dc:creator>Anindita Bhattacharjee</dc:creator><description><![CDATA[How transparent are the reports on clinical trials? If we happen to read scientific journals we]]></description><content:encoded><![CDATA[Since we depend on statistics for analyzing data from clinical trials, let us start by looking at some figures – “…information on the method used in a trial to assign participants to comparison groups was reported in only 21% of 519 trial reports indexed in PubMed in 2000, and only 34% of 616 reports indexed in 2006. Similarly, only 45% of trial reports indexed in PubMed in 2000 and 53% in 2006 defined a primary end point, and only 27% in 2000 and 45% in 2006 reported a sample size calculation…”. This data is from a BMJ article.           It also quotes…“The whole of medicine depends on the transparent reporting of clinical trials”…and unfortunately the lack of transparency is reflected by the shocking statistics mentioned above. If the clinical trial reports on these specialty journals fail to provide much needed information, then where will a reader – maybe a researcher, a doctor or a patient - find the truth of the drug being tested and intended for catering to innumerable ailing patients? Absence of essential information is mostly the result of inappropriate design and conduct of clinical trials. This obviously is a threatening situation for the healthcare industry because in cases like these many a time the treatment effects are exaggerated leading to ineffective or harmful drugs being made available to patients. It may actually be a mammoth task or even more honestly… an impractical mission to try to standardize the conduct of a clinical trial. But what if we could start backwards? That is, if “reporting” of these trials could be regulated, it would automatically impact their conduct. This noble thought originally glinted in the minds of a group of experts’ way back in 1993. Thankfully, these experts - journal editors, trialists and methodologists helped this industry in addressing the dilemma by starting an initiative, called the CONSORT (Consolidated Standards of Reporting Trials). I got acquainted with this topic recently in a workshop.           CONSORT provides guidance to authors on basic information that ought to be included while reporting randomized controlled trials (RCTs). For those who are new to this subject, let me share some of the key points from the 25-item CONSORT Statement checklist. It starts with mentioning how to construct title, abstract and introduction and encompasses the proper mention of method and results of the trial that is being reported. The focus is to enable readers to understand a trial&#39;s design, conduct, analysis and interpretation. There is a document “Explanation and Elaboration Document”in conjunction to the CONSORT Statement, which very articulately elaborates with examples on each of the checklist points thus aiding an author to prepare an adequate report. The CONSORT Statement is endorsed by prominent general medical journals, many specialty medical journals, and leading editorial organizations.           During the workshop, I kept wondering…well the points mentioned, seemed to be pretty obvious and why would anyone even need to lay these down? I could not resist asking this question to the presenter….and the answer was…history and statistics reveal not all the clinical trial reports or the published articles in medical journals seem to be following even these simple rules…and then I came across the numbers in BMJ….it disturbed me.           Did I just hear someone say “Oh! Why is this a programmer’s problem?” Being a programmer myself, may I please take the liberty to provide our side of the story…. I belong to this family of healthcare professionals who in his/her own way contributes to the making of a drug. So if there is a drug out in the market…with unsubstantiated claims, I may have just been as responsible in producing any meaningless analysis blindly as much as the medical writer who may have endorsed the trial report with inaccurate data twisted in the favor of the drug.            Have we ever thought where and how will the tables, listings and figures be utilized that we so efficiently keep producing by the dozens every hour? Do we understand what the significance of the p-values is when we generate these numbers for an adverse event table? And we thought we never prove safety, we just provide evidence…Have we considered questioning our statisticians or clinicians when there is an ad-hoc request for subgroup analysis? Do we bother to check back with the SAP if these analyses were planned? If not, have we satisfied our curious minds by getting the answers regarding the purpose of these analyses? If the answer to all these questions is “No” then we surely contributed in promoting drugs with inadequate evidence.            It is said scientists are skeptics of the highest order…but surprisingly our skepticism cease to work when we are at our jobs. At least now we have CONSORT to guide us in asking the right questions…maybe we can make a beginning…I just did.           &lt;?xml:namespace prefix = o ns = &quot;urn:schemas-microsoft-com:office:office&quot; /?&gt;     &lt;o:p&gt;             &lt;/o:p&gt;                           References and acknowledgements –&lt;o:p&gt;&lt;/o:p&gt;                                       -                                            The CONSORT website (            www.consort-statement.org          )                           -                                           http://www.bmj.com/content/340/bmj.c869                                -                                           IASCT]]></content:encoded><guid isPermalink="false">http://www.phuse.eu/blog/how-transparent-are-we/000715052013</guid></item><item><title>PhUSE Outstanding Contribution Award 2012</title><link>http://www.phuse.eu/forum.aspx?a=topic&amp;post=82</link><pubDate>Thu, 02 Aug 2012 09:32:48 GMT</pubDate><dc:creator>Adrienne Bonwick</dc:creator><description><![CDATA[doesnt this thing have a &#39;like&#39;]]></description><content:encoded><![CDATA[doesnt this thing have a &#39;like&#39; button?]]></content:encoded><guid isPermalink="false">http://www.phuse.eu/forum.aspx?a=topic&amp;post=82320902082012</guid></item><item><title>PhUSE Outstanding Contribution Award 2012</title><link>http://www.phuse.eu/forum.aspx?a=topic&amp;post=82</link><pubDate>Thu, 02 Aug 2012 08:43:45 GMT</pubDate><dc:creator>John Salter</dc:creator><description><![CDATA[Yes.  Yes, you]]></description><content:encoded><![CDATA[Yes.  Yes, you have.]]></content:encoded><guid isPermalink="false">http://www.phuse.eu/forum.aspx?a=topic&amp;post=82430802082012</guid></item><item><title>PhUSE Outstanding Contribution Award 2012</title><link>http://www.phuse.eu/forum.aspx?a=topic&amp;post=82</link><pubDate>Wed, 01 Aug 2012 19:02:46 GMT</pubDate><dc:creator>Adrienne Bonwick</dc:creator><description><![CDATA[I think Ive already done this havent]]></description><content:encoded><![CDATA[I think Ive already done this havent I?]]></content:encoded><guid isPermalink="false">http://www.phuse.eu/forum.aspx?a=topic&amp;post=82020701082012</guid></item><item><title>PhUSE Publications</title><link>http://www.phuse.eu/</link><pubDate>Tue, 21 May 2013 16:48:37 GMT</pubDate><dc:creator>PhUSE</dc:creator><description><![CDATA[]]></description><content:encoded><![CDATA[]]></content:encoded><guid isPermalink="false">http://www.phuse.eu/480421052013</guid></item><item><title>PhUSE Tube Videos</title><link>http://www.phuse.eu/phusetube_repository.aspx</link><pubDate>Mon, 01 Apr 2013 14:29:32 GMT</pubDate><dc:creator>PhUSE</dc:creator><description><![CDATA[tube]]></description><content:encoded><![CDATA[tube]]></content:encoded><guid isPermalink="false">http://www.phuse.eu/phusetube_repository.aspx290201042013</guid></item><item><title>PhUSE Tube</title><link>http://www.phuse.eu/phusetube.aspx</link><pubDate>Mon, 01 Apr 2013 14:11:06 GMT</pubDate><dc:creator>PhUSE</dc:creator><description><![CDATA[tube]]></description><content:encoded><![CDATA[tube]]></content:encoded><guid isPermalink="false">http://www.phuse.eu/phusetube.aspx110201042013</guid></item><item><title>PhUSE Society Newsletters</title><link>http://www.phuse.eu/Society-Newsletters.aspx</link><pubDate>Thu, 28 Mar 2013 12:08:59 GMT</pubDate><dc:creator>PhUSE</dc:creator><description><![CDATA[The electronic versions of the PhUSE newsletter]]></description><content:encoded><![CDATA[The electronic versions of the PhUSE newsletter]]></content:encoded><guid isPermalink="false">http://www.phuse.eu/Society-Newsletters.aspx081228032013</guid></item><item><title>CDISC Events</title><link>http://www.phuse.eu/CDISC-Events.aspx</link><pubDate>Thu, 21 Mar 2013 13:01:53 GMT</pubDate><dc:creator>PhUSE</dc:creator><description><![CDATA[CDISC Events]]></description><content:encoded><![CDATA[CDISC Events]]></content:encoded><guid isPermalink="false">http://www.phuse.eu/CDISC-Events.aspx010121032013</guid></item><item><title>2013 SDE Denmark</title><link>http://www.phuse.eu/1-day-events.aspx</link><pubDate>Tue, 28 May 2013 00:00:00 GMT</pubDate><dc:creator>PhUSE Events</dc:creator><description><![CDATA[PhUSE Member Event: 2013 SDE Denmark at Lundbeck Offices (Copenhagen)]]></description><content:encoded><![CDATA[]]></content:encoded><guid isPermalink="false">http://www.phuse.eu/1-day-events.aspx?2013 SDE Denmark001228052013</guid></item><item><title>2013 SDE Belgium</title><link>http://www.phuse.eu/1-day-events.aspx</link><pubDate>Mon, 10 Jun 2013 00:00:00 GMT</pubDate><dc:creator>PhUSE Events</dc:creator><description><![CDATA[PhUSE Member Event: 2013 SDE Belgium at J&J Offices (Beerse)]]></description><content:encoded><![CDATA[]]></content:encoded><guid isPermalink="false">http://www.phuse.eu/1-day-events.aspx?2013 SDE Belgium001210062013</guid></item><item><title>2013 Boston SDE</title><link>http://www.phuse.eu/1-day-events.aspx</link><pubDate>Thu, 20 Jun 2013 00:00:00 GMT</pubDate><dc:creator>PhUSE Events</dc:creator><description><![CDATA[PhUSE Member Event: 2013 Boston SDE at BiogenIdec]]></description><content:encoded><![CDATA[]]></content:encoded><guid isPermalink="false">http://www.phuse.eu/1-day-events.aspx?2013 Boston SDE001220062013</guid></item><item><title>2013 SDE Switzerland</title><link>http://www.phuse.eu/1-day-events.aspx</link><pubDate>Fri, 28 Jun 2013 00:00:00 GMT</pubDate><dc:creator>PhUSE Events</dc:creator><description><![CDATA[PhUSE Member Event: 2013 SDE Switzerland at Roche Offices, Basel]]></description><content:encoded><![CDATA[]]></content:encoded><guid isPermalink="false">http://www.phuse.eu/1-day-events.aspx?2013 SDE Switzerland001228062013</guid></item></channel></rss>