Page 1



How the ClinPlus速 Report Engine is used to increase productivity by providing the capability to create reusable SAS速 programs that deliver high quality statistical tables and data listings.



Overview The ClinPlus Report Engine is a SAS速 based product used to produce high-quality, reproducible tables containing both summary statistics and inferential tests. Comparing it with SAS report writing procedures: Proc Print, Proc Report and Proc Tabulate, it is clear that the ClinPlus Report Engine is all the above and much more. While the SAS report procedures offer limited summary statistics based on Proc Means and Proc Univariate and multi-dimensional tables based on Proc Freq, the ClinPlus Report Engine can produce far more summary statistics and inferential tests in a more flexible presentation. The ClinPlus Report Engine combined with the ClinPlus Report GUI (Graphical User Interface) comprise the ClinPlus Report System. While the ClinPlus Report GUI adds many features for ease of use, management, security and patient profile capabilities, the ClinPlus Report Engine may be used by SAS programmers independently to produce high quality statistical tables and data listings. For nearly 20 years, several of the top 10 pharmaceutical companies, CROs, Biotechs and Medical Device companies have relied on the power and flexibility of the ClinPlus Report System to support hundreds of NDA submissions.


Features The list below describes some of the features that distinguish the ClinPlus Report Engine from alternatives:  C alculates and combines descriptive statistics from the MEANS, UNIVARIATE, FREQ, and GLM, NPAR1WAY, LIFETEST, and MIXED SAS procedures.  P resents p-values for inferential tests from the SAS FREQ, GLM, NPAR1WAY, LIFETEST, and MIXED procedures.  Generates totals and subtotals within specified groups.  I ncludes subgroup counts in column, row, or page headers (e.g., (N = xxx)).  Controls the denominator for percentage calculations.  P rovides automatic rounding, formatting, and decimal point alignment of results.  Uses SAS formats and labels defined external to the routine.  Adjusts spacing between columns and between output lines.  Manages page changing based on user-defined groupings.  Allows headings that span multiple columns.  P rovides dynamic variable substitution in titles, footnotes, labels, and headers.  Places information from a single record on multiple output lines.  Formats variables automatically and aligns decimal points.  P rovides various line (border) options for custom reports: no lines, horizontal lines, or solid boxes.  C an create multiple page reports by design or automatically.  M ultiple page reports can be displayed on the same physical page.  A llows placement of footnotes directly beneath the table body or placed constantly at the bottom of the table or page.  Conditional footnotes - footnote appears only relevant pages.  M ultiple justifications within a single title or footnote line (left, center, right).  T  itles and footnotes can be aligned to the page left or to the table body left.  A llows three variables to share one column printed next to or under each other using one common column heading text.


Features (continued)  Allows word-wrapping of large text fields within any column.  T he ability to stack variables within columns while retaining logical row integrity even if variable text is wrapped within several columns on multiple levels. 

Native RTF tables automatically generated for immediate use in MS Word.

 T  able of Contents Tags can be embedded in titles in RTF tables  T he RTF tables are divided into four parts (Titles, Headers, Row Heads, Table Body and Footnote) and all the parts can be styled differently by choice of fonts, font sizes, etc.  E very report can be individually styled for the RTF presentation.

 T he ClinPlus Report Engine produces data driven statistical tables in a wide variety of styles and formats


Report Structures The ClinPlus Report system uses SAS data as input. A report is the presentation of statistics for a set of variables from the input data (analysis variables). The set of statistics presented for a single analysis variable is called a cell. In a typical report the statistics may be presented for several different analysis variables creating a cell cluster. The default table orientation is analysis variables ACROSS and statistics DOWN as show below using a simple cell cluster:

The cell cluster could be presented for discrete grouping by-variables values such as treatment group or visit. Thus, cell clusters can be displayed in a matrix representing combinations of the grouping by-variables values as it is shown below:

In addition to defining grouping by-variables, across and down groups can be defined on a page basis. Different groups can be displayed on different pages by placing a grouping by-variable in the titles parameter. The basic table orientation can be changed in any way desired. The four possible table orientations are: • Analysis variables Across and Statistics Down (Default) • Analysis variables Down and Statistics Down • Analysis variables Across and Statistics Across • Analysis variables Down and Statistics Across


Report Structures (continued) The ClinPlus Report System can also present overall and cross-group comparison p-values and significance using star (*) notation for respective analysis variables. The placement of inferential statistics on the report depends on which grouping variable in the matrix is being compared. Basic Orientations for Tables with Inferential Tests:

Orientation when comparison variable runs across the page:

Orientation when comparison variable runs down the page:


How to use the ClinPlus Report Engine

ClinPlus Report Engine is available using two macro style calls: %DZSTABLE and %DZSLIST. If there are statistical calculations that are required for a desired report then the %DZSTABLE macro call will be used. Otherwise, if no statistical calculations are required then the %DZSLIST macro call will be used. (%DZSTABLE calls %DZSLIST automatically). There is no pre-structured data or variable formatting requirements, however, input data should be in a “one-proc-away� structure. Using the specified input SAS data, %DZSTABLE executes the appropriate SAS statistical procedures and then transposes and merges the procedure output to produce the final report. When setting out to produce a desired report, the first task is to determine the table orientation and decide what statistics are needed for each analysis variable. A simple macro call is written specifying parameters to produce a basic report. The basic report can be set up in minutes. The refining and further customizing comes after the basic report is created by adding additional formatting parameters and options. There are only two required parameters in a %DZSTABLE call: titles and display. (DISPLAY is the parameter used for determining the analysis variables and the statistics applied for these variables.). There are also only two required parameters in a %DZSLIST call: titles and colvars. (COLVARS is the parameter where the variable names are listed to create the columns of the report). A number of additional parameters and options can be used to customize the report.


How to use the ClinPlus Report Engine (continued) Below is an example of each macro call and the resulting RTF reports: %DZSTABLE ( Titles = EXAMPLE call for DZSTABLE\@\Week: !week\@, Display =  n percentp .01 mean 1. min 1. nextto max 1. std .1 median pvkruskal <sysbp diabp>, Across = tmt, Down = <variable> over <statistic>, Compare = tmt 1 to 2, Span = all pgcells Treatment Groups, Stattext=  n Total\variable @@i Variables|Statistics\min BP\max Range, Skipline= <variable>, Spacing = 1, PL = 47, LL = 100, Data = testdata, Footnote=  @_indent Variable in Titles\@_indent Pvalue=Kruskal for Sysbp\@_indent Median for Diabp, Options =  toptot blankskip center snugfoot solidlines onlyhorz nodate nonumber );

ď Ž C  alls to the ClinPlus Report Engine are made with a logical concise format.


How to use the ClinPlus Report Engine (continued) %dzslist( Titles = Adverse Events Listing Example\@, Colvars= < .id@@ .ageSexRace@@ .trt> type drug@@ period@@ visit body@@ prefTerm@@ repTerm onset, Collens = id 18 body 30 prefterm 15 repTerm 15, Skipline= id, LL = 120, PL = 45, Footnote= @_indent Footnote line, Options =  stack solidlines onlyhorz snugfoot blankskip center nodate nonumber);


When to use the ClinPlus Report Engine The %DZSLIST and %DZSLIST macro calls are written within SAS programs. These programs may contain other data manipulation steps prior to the calls and several calls may be written within a single SAS program. Each time a %DZSTABLE call is executed, a data set containing all requested statistics for each analysis variable, along with id and grouping variables, is created. This data set is valuable for subsequent steps, such as producing graphic displays. Since calls to the Engine are written within SAS programs, compatibility with existing SAS program management tools or procedures such as SAS Drug Development or in-house developed solutions is assured. The report output is produced as a true RTF table that can automatically be converted to HTML or PDF using SAS ODS or other third party software. ClinPlus Report Engine calls may contain symbolics (macro variables) for any parameter or option that are resolved at run-time. Common examples are replacing an input data set, titles, footnotes, etc. Our proprietary RTF generator includes many features demanded by medical writers that allow the tables and listings produced to be included directly into the final report as in-text tables and listings in the appendix with no reformatting at all. Many other RTF Styles may be defined to support various needs such as publications and presentations. Simplicity allows less experienced SAS programmers to produce high quality data listings easily with training so your more experienced SAS programmers are not burdened with data listing requests from Data Management or other departments. Any statistical table that can be defined using the cell structure described earlier in this paper can be produced with the ClinPlus Report Engine, thus allowing possible exploitation by other business units.


DZS Software Solutions, Inc.

+1 732 764 6969

For more information please visit ClinPlus is a registered trademark of DZS Software Solutions, Inc. SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. 速 indicates USA registration.

Enhancing statistical report capabilities using the clinplus report engine  
Enhancing statistical report capabilities using the clinplus report engine  

The ClinPlus Report System has been depended on for almost two decades by pharmaceutical, CROs, biotechnology and medical device companies t...