1                                        The SAS System         09:51 Wednesday, October 21, 2009

NOTE: Copyright (c) 2002-2003 by SAS Institute Inc., Cary, NC, USA. 
NOTE: SAS (r) 9.1 (TS1M3)
      Licensed to SY TRUONG, Site 0051884001.
NOTE: This session is executing on the XP_PRO  platform.



NOTE: (E9BX04) SAS 9.1.3 SP 4

NOTE: SAS initialization used:
      real time           0.65 seconds
      cpu time            0.59 seconds
      

NOTE: AUTOEXEC processing beginning; file is C:\apache\htdocs\cdiscbuilder\saspgm\autoexec.sas.

NOTE: Libref _CDISC_ was successfully assigned as follows: 
      Engine:        V9 
      Physical Name: C:\apache\htdocs\cdiscbuilder\saspgm

NOTE: AUTOEXEC processing completed.

1          /*------------------------------------------------------------*
2          * program:     cdisc105.sas                                     *
3          * Description: Case #105. SUPPQUAL Study ID For Supplemental Qualifiers domains, this
3        ! identifies records*
4          *              where values for [Study Identifier, Unique Subject Identifier,
4        ! Identifying Variable, *
5          *              Identifying Variable Value, Qualifier Variable Name] variable(s) are
5        ! not unique.*
6          * By:          Sy Truong, 10/14/2009                          *
7          *-------------------------------------------------------------*/
8          
9          libname templib '../data';
NOTE: Libref TEMPLIB was successfully assigned as follows: 
      Engine:        V9 
      Physical Name: C:\apache\htdocs\cdiscbuilder\data
10         options nofmterr;
11         *** Create some data to be selected ***;
12         data templib.SUPPAE(label="Inclusion/Exclusion Criteria Not Met");
13         attrib STUDYID	label="Study IdentifIEr" length=$100;
14         attrib RDOMAIN	label="Related RDOMAIN Abbreviation" length=$100;
15         attrib USUBJID	label="Unique Subject IdentifIEr" length=$100;
16         attrib IDVAR	label="Identifying Variable" length=$100;
17         attrib IDVARVAL	label="Identifying Variable Value" length=$100;
18         attrib QNAM	    label="Qualifier Variable Name" length=$100;
19         attrib QLABEL	label="Qualifier Variable Label" length=$100;
20         attrib QVAL	    label="Data Value" length=$100;
21         attrib QORIG	label="Category of Question" length=$100;
22         attrib QEVAL	label="Subcategory for Question" length=$100;
23         
24         STUDYID = 'test';RDOMAIN = 'test';USUBJID = '123';IDVAR = 'AESEQ';IDVARVAL = '1';QNAM
24       ! = 'AETRTEM';QLABEL = 'test';QVAL = 'test';QORIG = 'test';QEVAL = 'test';
2                                        The SAS System         09:51 Wednesday, October 21, 2009

25         output;
26         STUDYID = 'test';RDOMAIN = 'test';USUBJID = '123';IDVAR = 'AESEQ';IDVARVAL = '1';QNAM
26       ! = 'AETRTEM';QLABEL = 'test';QVAL = 'test';QORIG = 'test';QEVAL = 'test';
27         
28         output;
29         STUDYID = 'test';RDOMAIN = 'test';USUBJID = '456';IDVAR = 'AESEQ';IDVARVAL = '1';QNAM
29       ! = 'HLT';QLABEL = 'test';QVAL = 'test';QORIG = 'test';QEVAL = 'test';
30         
31         output;
32         STUDYID = 'test';RDOMAIN = 'test';USUBJID = '456';IDVAR = 'AESEQ';IDVARVAL = '1';QNAM
32       ! = 'LLT';QLABEL = 'test';QVAL = 'test';QORIG = 'test';QEVAL = 'test';
33         output;
34         
35         STUDYID = 'test';RDOMAIN = 'test';USUBJID = '123';IDVAR = 'AESEQ';IDVARVAL = '2';QNAM
35       ! = 'AETRTEM';QLABEL = 'test';QVAL = 'test';QORIG = 'test';QEVAL = 'test';
36         
37         output;
38         STUDYID = 'test';RDOMAIN = 'test';USUBJID = '789';IDVAR = 'AESEQ';IDVARVAL = '2';QNAM
38       ! = 'HLGT';QLABEL = 'test';QVAL = 'test';QORIG = 'test';QEVAL = 'test';
39         
40         output;
41         STUDYID = 'test';RDOMAIN = 'test';USUBJID = '789';IDVAR = 'AESEQ';IDVARVAL = '2';QNAM
41       ! = 'HLT';QLABEL = 'test';QVAL = 'test';QORIG = 'test';QEVAL = 'test';
42         
43         output;
44         STUDYID = 'test6';RDOMAIN = 'test';USUBJID = '789';IDVAR = 'AESEQ';IDVARVAL = '2';QNAM
44       !  = 'LLT';QLABEL = 'test';QVAL = 'test';QORIG = 'test';QEVAL = 'test';
45         
46         output;
47         
48         run;

NOTE: The data set TEMPLIB.SUPPAE has 8 observations and 10 variables.
NOTE: DATA statement used (Total process time):
      real time           0.04 seconds
      cpu time            0.04 seconds
      

49         %cdisc(datlib=templib,datname=SUPPAE);

50         proc sort data=templib.suppae out=suppae nodupkey;
51         by usubjid;
52         run;

NOTE: There were 8 observations read from the data set TEMPLIB.SUPPAE.
NOTE: 5 observations with duplicate key values were deleted.
NOTE: The data set WORK.SUPPAE has 3 observations and 10 variables.
NOTE: PROCEDURE SORT used (Total process time):
      real time           0.04 seconds
      cpu time            0.04 seconds
      

NOTE: Table WORK._72 created, with 3 rows and 1 columns.
3                                        The SAS System         09:51 Wednesday, October 21, 2009


53         proc sort data=templib.suppae out =_105;
54         by STUDYID USUBJID IDVAR IDVARVAL QNAM;
55         run;

NOTE: There were 8 observations read from the data set TEMPLIB.SUPPAE.
NOTE: The data set WORK._105 has 8 observations and 10 variables.
NOTE: PROCEDURE SORT used (Total process time):
      real time           0.03 seconds
      cpu time            0.03 seconds
      

56         data _105;
57         retain obsnum 0;
58         set _105;
59         by STUDYID USUBJID IDVAR IDVARVAL QNAM;
60         obsnum = obsnum + 1;
61         if first.qnam ne last.qnam then output;
62         run;

NOTE: There were 8 observations read from the data set WORK._105.
NOTE: The data set WORK._105 has 2 observations and 11 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      

63         proc sort data=_105 NODUPKEY;
64         by QNAM;
65         run;

NOTE: There were 2 observations read from the data set WORK._105.
NOTE: 1 observations with duplicate key values were deleted.
NOTE: The data set WORK._105 has 1 observations and 11 variables.
NOTE: PROCEDURE SORT used (Total process time):
      real time           0.03 seconds
      cpu time            0.03 seconds
      

66                  proc sort data=cdisc nodupkey;
67                     by libname datname datlab variable length label type case comment;
68                  run;

NOTE: There were 10 observations read from the data set WORK.CDISC.
NOTE: 0 observations with duplicate key values were deleted.
NOTE: The data set WORK.CDISC has 10 observations and 11 variables.
NOTE: PROCEDURE SORT used (Total process time):
      real time           0.03 seconds
      cpu time            0.03 seconds
      

69               proc sort data = work.cdisc;
70                  by libname datname datlab variable case;
4                                        The SAS System         09:51 Wednesday, October 21, 2009

71               run;

NOTE: There were 10 observations read from the data set WORK.CDISC.
NOTE: The data set WORK.CDISC has 10 observations and 11 variables.
NOTE: PROCEDURE SORT used (Total process time):
      real time           0.03 seconds
      cpu time            0.03 seconds
      

72         
73               proc format;
74                  *** Generate the comments for the CDISC evaluation case number ***;
75                  value $casefmt
76                  '1' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#1">1</a>'
77                  '2' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#2">2</a>'
78                  '3' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#3">3</a>'
79                  '4' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#4">4</a>'
80                  '5' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#5">5</a>'
81                  '6' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#6">6</a>'
82                  '7' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#7">7</a>'
83                  '8' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#8">8</a>'
84                  '9' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#9">9</a>'
85                  '10' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#10">10</a>'
86                  '11' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#11">11</a>'
87                  '12' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#12">12</a>'
88                  '13' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#13">13</a>'
89                  '14' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#14">14</a>'
90                  '15' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#15">15</a>'
91                  '16' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#16">16</a>'
92                  '17' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#17">17</a>'
93                  '18' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#18">18</a>'
94                  '19' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#19">19</a>'
95                  '20' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#20">20</a>'
96                  '21' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#21">21</a>'
97                  '22' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#22">22</a>'
98                  '23' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#23">23</a>'
99                  '24' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#24">24</a>'
100                 '25' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#25">25</a>'
101                 '26' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#26">26</a>'
102                 '27' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#27">27</a>'
103                 '28' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#28">28</a>'
104                 '29' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#29">29</a>'
105                 '30' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#30">30</a>'
106                 '31' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#31">31</a>'
107                 '32' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#32">32</a>'
108                 '33' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#33">33</a>'
109                 '34' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#34">34</a>'
110                 '35' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#35">35</a>'
111                 '36' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#36">36</a>'
112                 '37' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#37">37</a>'
113                 '38' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#38">38</a>'
114                 '39' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#39">39</a>'
115                 '40' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#40">40</a>'
5                                        The SAS System         09:51 Wednesday, October 21, 2009

116                 '41' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#41">41</a>'
117                 '42' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#42">42</a>'
118                 '43' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#43">43</a>'
119                 '44' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#44">44</a>'
120                 '45' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#45">45</a>'
121                 '46' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#46">46</a>'
122                 '47' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#47">47</a>'
123                 '48' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#48">48</a>'
124                 '49' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#49">49</a>'
125                 '50' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#50">50</a>'
126                 '51' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#51">51</a>'
127                 '52' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#52">52</a>'
128                 '53' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#53">53</a>'
129                 '54' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#54">54</a>'
130                 '55' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#55">55</a>'
131                 '56' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#56">56</a>'
132                 '57' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#57">57</a>'
133                 '58' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#58">58</a>'
134                 '59' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#59">59</a>'
135                 '60' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#60">60</a>'
136                 '61' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#61">61</a>'
137                 '62' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#62">62</a>'
138                 '63' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#63">63</a>'
139                 '64' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#64">64</a>'
140                 '65' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#65">65</a>'
141                 '66' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#66">66</a>'
142                 '67' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#67">67</a>'
143                 '68' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#68">68</a>'
144                 '69' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#69">69</a>'
145                 '70' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#70">70</a>'
146                 '71' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#71">71</a>'
147                 '72' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#72">72</a>'
148                 '73' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#73">73</a>'
149                 '74' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#74">74</a>'
150                 '75' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#75">75</a>'
151                 '76' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#76">76</a>'
152                 '77' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#77">77</a>'
153                 '78' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#78">78</a>'
154                 '79' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#79">79</a>'
155                 '80' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#80">80</a>'
156                 '81' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#81">81</a>'
157                 '82' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#82">82</a>'
158                 '83' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#83">83</a>'
159                 '84' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#84">84</a>'
160                 '85' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#85">85</a>'
161                 '86' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#86">86</a>'
162                 '87' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#87">87</a>'
163                 '88' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#88">88</a>'
164                 '89' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#89">89</a>'
165                 '90' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#90">90</a>'
166                 '91' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#91">91</a>'
167                 '92' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#92">92</a>'
168                 '93' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#93">93</a>'
6                                        The SAS System         09:51 Wednesday, October 21, 2009

169                 '94' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#94">94</a>'
170                 '95' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#95">95</a>'
171                 '96' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#96">96</a>'
172                 '97' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#97">97</a>'
173                 '98' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#98">98</a>'
174                 '99' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#99">99</a>'
175                 '100' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#100">100</a>'
176                 '101' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#101">101</a>'
177                 '102' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#102">102</a>'
178                 '103' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#103">103</a>'
179                 '104' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#104">104</a>'
180                 '105' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#105">105</a>'
181                 '106' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#106">106</a>'
182                 '107' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#107">107</a>'
183                 '108' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#108">108</a>'
184                 '109' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#109">109</a>'
185                 '110' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#110">110</a>'
186                 '111' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#111">111</a>'
187                 '112' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#112">112</a>'
188                 '113' = '<a href="http://meta-x.com/cdiscbuilder/cdisc.html#113">113</a>';
NOTE: Format $CASEFMT has been output.
189        
190        
191        
192                 *** Generate the format for the bookmark of variables ***;
193                 value $bookfmt
194                 "suppae.studyid" = '<a name="suppae.studyid">suppae.studyid</a>'
195                 "suppae.rdomain" = '<a name="suppae.rdomain">suppae.rdomain</a>'
196                 "suppae.usubjid" = '<a name="suppae.usubjid">suppae.usubjid</a>'
197                 "suppae.idvar" = '<a name="suppae.idvar">suppae.idvar</a>'
198                 "suppae.idvarval" = '<a name="suppae.idvarval">suppae.idvarval</a>'
199                 "suppae.qnam" = '<a name="suppae.qnam">suppae.qnam</a>'
200                 "suppae.qlabel" = '<a name="suppae.qlabel">suppae.qlabel</a>'
201                 "suppae.qval" = '<a name="suppae.qval">suppae.qval</a>'
202                 "suppae.qorig" = '<a name="suppae.qorig">suppae.qorig</a>'
203                 "suppae.qeval" = '<a name="suppae.qeval">suppae.qeval</a>'
204                 ;
NOTE: Format $BOOKFMT has been output.
205        
206                 *** Generate the format for dataset linking ***;
207                 value $datfmt
208                 "ae" = '<a name="ae">ae</a><br>'
209                 "ae3a" = '<a name="ae3a">ae3a</a><br>'
210                 "cdisc10" = '<a name="cdisc10">cdisc10</a><br>'
211                 "cdisc11" = '<a name="cdisc11">cdisc11</a><br>'
212                 "cdisc14" = '<a name="cdisc14">cdisc14</a><br>'
213                 "cdisc15" = '<a name="cdisc15">cdisc15</a><br>'
214                 "cdisc18" = '<a name="cdisc18">cdisc18</a><br>'
215                 "cdisc2" = '<a name="cdisc2">cdisc2</a><br>'
216                 "cdisc21" = '<a name="cdisc21">cdisc21</a><br>'
217                 "cdisc2b_1" = '<a name="cdisc2b_1">cdisc2b_1</a><br>'
218                 "cdisc2b_2" = '<a name="cdisc2b_2">cdisc2b_2</a><br>'
219                 "cdisc2b_3" = '<a name="cdisc2b_3">cdisc2b_3</a><br>'
7                                        The SAS System         09:51 Wednesday, October 21, 2009

220                 "cdisc2_b" = '<a name="cdisc2_b">cdisc2_b</a><br>'
221                 "cdisc2_c" = '<a name="cdisc2_c">cdisc2_c</a><br>'
222                 "cdisc4" = '<a name="cdisc4">cdisc4</a><br>'
223                 "cdisc5" = '<a name="cdisc5">cdisc5</a><br>'
224                 "cdisc6" = '<a name="cdisc6">cdisc6</a><br>'
225                 "cdisc7" = '<a name="cdisc7">cdisc7</a><br>'
226                 "cdisc8" = '<a name="cdisc8">cdisc8</a><br>'
227                 "cdisc9" = '<a name="cdisc9">cdisc9</a><br>'
228                 "ce" = '<a name="ce">ce</a><br>'
229                 "cm" = '<a name="cm">cm</a><br>'
230                 "co" = '<a name="co">co</a><br>'
231                 "da" = '<a name="da">da</a><br>'
232                 "dm" = '<a name="dm">dm</a><br>'
233                 "ds" = '<a name="ds">ds</a><br>'
234                 "dv" = '<a name="dv">dv</a><br>'
235                 "eg" = '<a name="eg">eg</a><br>'
236                 "ex" = '<a name="ex">ex</a><br>'
237                 "fa" = '<a name="fa">fa</a><br>'
238                 "ie" = '<a name="ie">ie</a><br>'
239                 "lb" = '<a name="lb">lb</a><br>'
240                 "mb" = '<a name="mb">mb</a><br>'
241                 "mh" = '<a name="mh">mh</a><br>'
242                 "ms" = '<a name="ms">ms</a><br>'
243                 "notdm" = '<a name="notdm">notdm</a><br>'
244                 "pc" = '<a name="pc">pc</a><br>'
245                 "pe" = '<a name="pe">pe</a><br>'
246                 "pp" = '<a name="pp">pp</a><br>'
247                 "qs" = '<a name="qs">qs</a><br>'
248                 "relrec" = '<a name="relrec">relrec</a><br>'
249                 "sc" = '<a name="sc">sc</a><br>'
250                 "se" = '<a name="se">se</a><br>'
251                 "su" = '<a name="su">su</a><br>'
252                 "supmh" = '<a name="supmh">supmh</a><br>'
253                 "suppae" = '<a name="suppae">suppae</a><br>'
254                 "suppp" = '<a name="suppp">suppp</a><br>'
255                 "supte" = '<a name="supte">supte</a><br>'
256                 "supvs" = '<a name="supvs">supvs</a><br>'
257                 "sv" = '<a name="sv">sv</a><br>'
258                 "ta" = '<a name="ta">ta</a><br>'
259                 "te" = '<a name="te">te</a><br>'
260                 "ti" = '<a name="ti">ti</a><br>'
261                 "ts" = '<a name="ts">ts</a><br>'
262                 "tv" = '<a name="tv">tv</a><br>'
263                 "vs" = '<a name="vs">vs</a><br>'
264                 ;
NOTE: Format $DATFMT has been output.
265              run;

NOTE: PROCEDURE FORMAT used (Total process time):
      real time           0.20 seconds
      cpu time            0.03 seconds
      

8                                        The SAS System         09:51 Wednesday, October 21, 2009

266        
267              data work.cdisc;
268                 set work.cdisc;
269                 by libname datname datlab variable case;
270        
271                 attrib datvar label="Dataset and Variable" length=$100 format=$bookfmt.;
272                 if variable ne '' then
273                 datvar = compress(lowcase(datname) || "." || lowcase(variable));
274                 else datvar = lowcase(datname);
275                 /*format case casefmt.;*/
276                 attrib charcase label = "Case Number" length = $10;
277                 charcase = trim(left(put(case, best.)));
278                 format charcase $casefmt.;
279                 *format datname $datfmt.;
280              run;

NOTE: There were 10 observations read from the data set WORK.CDISC.
NOTE: The data set WORK.CDISC has 10 observations and 13 variables.
NOTE: DATA statement used (Total process time):
      real time           0.04 seconds
      cpu time            0.04 seconds
      

281        
282              *** Remove The Special Characters ******;
283              proc template;
284                 define style styles.test/store=work.test;
285                 parent=styles.default;
286                 style byline from titlesandfooters /
287                    protectspecialchars=off;
288                 end;
NOTE: STYLE 'Styles.Test' has been saved to: WORK.TEST
289              run;
NOTE: PROCEDURE TEMPLATE used (Total process time):
      real time           0.09 seconds
      cpu time            0.03 seconds
      

290        
291              proc sort data = work.cdisc;
292                 by libname datname datlab variable case;
293              run;

NOTE: There were 10 observations read from the data set WORK.CDISC.
NOTE: The data set WORK.CDISC has 10 observations and 13 variables.
NOTE: PROCEDURE SORT used (Total process time):
      real time           0.03 seconds
      cpu time            0.03 seconds
      

294        
295              ods listing close;
296              ods html file='cdisc105.html' style=styles.mxistyle;
9                                        The SAS System         09:51 Wednesday, October 21, 2009

NOTE: Writing HTML Body file: cdisc105.html
297              data work.suppae (drop=usrname datetime);
298                 set work.cdisc;
299                 where lowcase(datname)=lowcase("suppae");
300              run;

NOTE: There were 10 observations read from the data set WORK.CDISC.
      WHERE LOWCASE(datname)='suppae';
NOTE: The data set WORK.SUPPAE has 10 observations and 11 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      

301                       data suppae(drop=xxx);
302                          set suppae;
303                          retain xxx 0;
304                          if xxx = 2 then xxx = 1;
305                          else xxx = xxx + 1;
306                          yyy = compress(put(xxx,best.));
307                       run;

NOTE: There were 10 observations read from the data set WORK.SUPPAE.
NOTE: The data set WORK.SUPPAE has 10 observations and 12 variables.
NOTE: DATA statement used (Total process time):
      real time           0.03 seconds
      cpu time            0.03 seconds
      

308        
309              %let newlab = %nrbquote(Inclusion/Exclusion Criteria Not Met);
310              title1 height=2 '<a name="suppae"> Findings from CDISC Evaluation</a>';
311              title2 height=2 "Data Table Name = suppae Data Table Label=&newlab";
312              footnote1 height=2 "Generated on: 10/21/2009,  9:51:21 am, Administrator";
313              footnote2 height=2 "Located at: C:\apache\htdocs\cdiscbuilder\data";
314               proc report data = work.suppae nowindows;
315                    column obs libname datvar label type length charcase comment yyy;
316                       define obs/computed 'Obs';
317                       define libname/width=20;
318                       define datvar/width=50;
319                       define label/width=50;
320                       define type/width=20;
321                       define length/width=50;
322                       define comment/width=50;
323                       define charcase/width=50;
324                       define yyy/ noprint;
325        
326                    compute yyy;
327                       if yyy = "2" then do;
328                          call define (_row_,'style','STYLE=[BACKGROUND=cxFFFFCC]');
329                       end;
330                    endcompute;
331        
10                                       The SAS System         09:51 Wednesday, October 21, 2009

332                    compute charcase;
333                       if charcase='1' then call define
333      ! ('charcase','style','STYLE=[BACKGROUND=CXccffcc JUST=CENTER]');
334                       if charcase='2' then call define
334      ! ('charcase','style','STYLE=[BACKGROUND=CXcd0030 JUST=CENTER]');
335                       if charcase='3' then call define
335      ! ('charcase','style','STYLE=[BACKGROUND=CXcd0094 JUST=CENTER]');
336                       if charcase='4' then call define
336      ! ('charcase','style','STYLE=[BACKGROUND=CXcd00f8 JUST=CENTER]');
337                       if charcase='5' then call define
337      ! ('charcase','style','STYLE=[BACKGROUND=CXcd015c JUST=CENTER]');
338                       if charcase='6' then call define
338      ! ('charcase','style','STYLE=[BACKGROUND=CXcd01c0 JUST=CENTER]');
339                       if charcase='7' then call define
339      ! ('charcase','style','STYLE=[BACKGROUND=CXcd0224 JUST=CENTER]');
340                       if charcase='8' then call define
340      ! ('charcase','style','STYLE=[BACKGROUND=CXcd0288 JUST=CENTER]');
341                       if charcase='9' then call define
341      ! ('charcase','style','STYLE=[BACKGROUND=CXcd02ec JUST=CENTER]');
342                       if charcase='10' then call define
342      ! ('charcase','style','STYLE=[BACKGROUND=CXcd0350 JUST=CENTER]');
343                       if charcase='11' then call define
343      ! ('charcase','style','STYLE=[BACKGROUND=CXcd03b4 JUST=CENTER]');
344                       if charcase='12' then call define
344      ! ('charcase','style','STYLE=[BACKGROUND=CXcd0418 JUST=CENTER]');
345                       if charcase='13' then call define
345      ! ('charcase','style','STYLE=[BACKGROUND=CXcd047c JUST=CENTER]');
346                       if charcase='14' then call define
346      ! ('charcase','style','STYLE=[BACKGROUND=CXcd04e0 JUST=CENTER]');
347                       if charcase='15' then call define
347      ! ('charcase','style','STYLE=[BACKGROUND=CXcd0544 JUST=CENTER]');
348                       if charcase='16' then call define
348      ! ('charcase','style','STYLE=[BACKGROUND=CXcd05a8 JUST=CENTER]');
349                       if charcase='17' then call define
349      ! ('charcase','style','STYLE=[BACKGROUND=CXcd060c JUST=CENTER]');
350                       if charcase='18' then call define
350      ! ('charcase','style','STYLE=[BACKGROUND=CXcd0670 JUST=CENTER]');
351                       if charcase='19' then call define
351      ! ('charcase','style','STYLE=[BACKGROUND=CXcd06d4 JUST=CENTER]');
352                       if charcase='20' then call define
352      ! ('charcase','style','STYLE=[BACKGROUND=CXffffcc JUST=CENTER]');
353                       if charcase='21' then call define
353      ! ('charcase','style','STYLE=[BACKGROUND=CX398C54 JUST=CENTER]');
354                       if charcase='22' then call define
354      ! ('charcase','style','STYLE=[BACKGROUND=CX398d1c JUST=CENTER]');
355                       if charcase='23' then call define
355      ! ('charcase','style','STYLE=[BACKGROUND=CX398d80 JUST=CENTER]');
356                       if charcase='24' then call define
356      ! ('charcase','style','STYLE=[BACKGROUND=CX398de4 JUST=CENTER]');
357                       if charcase='25' then call define
357      ! ('charcase','style','STYLE=[BACKGROUND=CX398e48 JUST=CENTER]');
358                       if charcase='26' then call define
358      ! ('charcase','style','STYLE=[BACKGROUND=CX398eac JUST=CENTER]');
11                                       The SAS System         09:51 Wednesday, October 21, 2009

359                       if charcase='27' then call define
359      ! ('charcase','style','STYLE=[BACKGROUND=CX398f10 JUST=CENTER]');
360                       if charcase='28' then call define
360      ! ('charcase','style','STYLE=[BACKGROUND=CX398f74 JUST=CENTER]');
361                       if charcase='29' then call define
361      ! ('charcase','style','STYLE=[BACKGROUND=CX398fd8 JUST=CENTER]');
362                       if charcase='30' then call define
362      ! ('charcase','style','STYLE=[BACKGROUND=CX39903c JUST=CENTER]');
363                       if charcase='31' then call define
363      ! ('charcase','style','STYLE=[BACKGROUND=CX3990a0 JUST=CENTER]');
364                       if charcase='32' then call define
364      ! ('charcase','style','STYLE=[BACKGROUND=CX399104 JUST=CENTER]');
365                       if charcase='33' then call define
365      ! ('charcase','style','STYLE=[BACKGROUND=CX399168 JUST=CENTER]');
366                       if charcase='34' then call define
366      ! ('charcase','style','STYLE=[BACKGROUND=CX3991cc JUST=CENTER]');
367                       if charcase='35' then call define
367      ! ('charcase','style','STYLE=[BACKGROUND=CX399230 JUST=CENTER]');
368                       if charcase='36' then call define
368      ! ('charcase','style','STYLE=[BACKGROUND=CX399294 JUST=CENTER]');
369                       if charcase='37' then call define
369      ! ('charcase','style','STYLE=[BACKGROUND=CX3992f8 JUST=CENTER]');
370                       if charcase='38' then call define
370      ! ('charcase','style','STYLE=[BACKGROUND=CX39935c JUST=CENTER]');
371                       if charcase='39' then call define
371      ! ('charcase','style','STYLE=[BACKGROUND=CXffcccc JUST=CENTER]');
372                       if charcase='40' then call define
372      ! ('charcase','style','STYLE=[BACKGROUND=CXffcd30 JUST=CENTER]');
373                       if charcase='41' then call define
373      ! ('charcase','style','STYLE=[BACKGROUND=CXffcd94 JUST=CENTER]');
374                       if charcase='42' then call define
374      ! ('charcase','style','STYLE=[BACKGROUND=CXffcdf8 JUST=CENTER]');
375                       if charcase='43' then call define
375      ! ('charcase','style','STYLE=[BACKGROUND=CXffce5c JUST=CENTER]');
376                       if charcase='44' then call define
376      ! ('charcase','style','STYLE=[BACKGROUND=CXffcec0 JUST=CENTER]');
377                       if charcase='45' then call define
377      ! ('charcase','style','STYLE=[BACKGROUND=CXffcf24 JUST=CENTER]');
378                       if charcase='46' then call define
378      ! ('charcase','style','STYLE=[BACKGROUND=CXffcf88 JUST=CENTER]');
379                       if charcase='47' then call define
379      ! ('charcase','style','STYLE=[BACKGROUND=CXffcfec JUST=CENTER]');
380                       if charcase='48' then call define
380      ! ('charcase','style','STYLE=[BACKGROUND=CXffd050 JUST=CENTER]');
381                       if charcase='49' then call define
381      ! ('charcase','style','STYLE=[BACKGROUND=CXffd0b4 JUST=CENTER]');
382                       if charcase='50' then call define
382      ! ('charcase','style','STYLE=[BACKGROUND=CXffd118 JUST=CENTER]');
383                       if charcase='51' then call define
383      ! ('charcase','style','STYLE=[BACKGROUND=CXffd17c JUST=CENTER]');
384                       if charcase='52' then call define
384      ! ('charcase','style','STYLE=[BACKGROUND=CXffd1e0 JUST=CENTER]');
385                       if charcase='53' then call define
12                                       The SAS System         09:51 Wednesday, October 21, 2009

385      ! ('charcase','style','STYLE=[BACKGROUND=CXffd244 JUST=CENTER]');
386                       if charcase='54' then call define
386      ! ('charcase','style','STYLE=[BACKGROUND=CXffd2a8 JUST=CENTER]');
387                       if charcase='55' then call define
387      ! ('charcase','style','STYLE=[BACKGROUND=CXffd30c JUST=CENTER]');
388                       if charcase='56' then call define
388      ! ('charcase','style','STYLE=[BACKGROUND=CXffd370 JUST=CENTER]');
389                       if charcase='57' then call define
389      ! ('charcase','style','STYLE=[BACKGROUND=CXffd3d4 JUST=CENTER]');
390                       if charcase='58' then call define
390      ! ('charcase','style','STYLE=[BACKGROUND=CXccccff JUST=CENTER]');
391                       if charcase='59' then call define
391      ! ('charcase','style','STYLE=[BACKGROUND=CXcccd63 JUST=CENTER]');
392                       if charcase='60' then call define
392      ! ('charcase','style','STYLE=[BACKGROUND=CXcccdc7 JUST=CENTER]');
393                       if charcase='61' then call define
393      ! ('charcase','style','STYLE=[BACKGROUND=CXccce2b JUST=CENTER]');
394                       if charcase='62' then call define
394      ! ('charcase','style','STYLE=[BACKGROUND=CXccce8f JUST=CENTER]');
395                       if charcase='63' then call define
395      ! ('charcase','style','STYLE=[BACKGROUND=CXcccef3 JUST=CENTER]');
396                       if charcase='64' then call define
396      ! ('charcase','style','STYLE=[BACKGROUND=CXcccf57 JUST=CENTER]');
397                       if charcase='65' then call define
397      ! ('charcase','style','STYLE=[BACKGROUND=CXcccfbb JUST=CENTER]');
398                       if charcase='66' then call define
398      ! ('charcase','style','STYLE=[BACKGROUND=CXccd01f JUST=CENTER]');
399                       if charcase='67' then call define
399      ! ('charcase','style','STYLE=[BACKGROUND=CXccd083 JUST=CENTER]');
400                       if charcase='68' then call define
400      ! ('charcase','style','STYLE=[BACKGROUND=CXccd0e7 JUST=CENTER]');
401                       if charcase='69' then call define
401      ! ('charcase','style','STYLE=[BACKGROUND=CXccd14b JUST=CENTER]');
402                       if charcase='70' then call define
402      ! ('charcase','style','STYLE=[BACKGROUND=CXccd1af JUST=CENTER]');
403                       if charcase='71' then call define
403      ! ('charcase','style','STYLE=[BACKGROUND=CXccd213 JUST=CENTER]');
404                       if charcase='72' then call define
404      ! ('charcase','style','STYLE=[BACKGROUND=CXccd277 JUST=CENTER]');
405                       if charcase='73' then call define
405      ! ('charcase','style','STYLE=[BACKGROUND=CXccd2db JUST=CENTER]');
406                       if charcase='74' then call define
406      ! ('charcase','style','STYLE=[BACKGROUND=CXccd33f JUST=CENTER]');
407                       if charcase='75' then call define
407      ! ('charcase','style','STYLE=[BACKGROUND=CXccd3a3 JUST=CENTER]');
408                       if charcase='76' then call define
408      ! ('charcase','style','STYLE=[BACKGROUND=CXccd407 JUST=CENTER]');
409                       if charcase='77' then call define
409      ! ('charcase','style','STYLE=[BACKGROUND=CX99ccff JUST=CENTER]');
410                       if charcase='78' then call define
410      ! ('charcase','style','STYLE=[BACKGROUND=CX99cd63 JUST=CENTER]');
411                       if charcase='79' then call define
411      ! ('charcase','style','STYLE=[BACKGROUND=CX99cdc7 JUST=CENTER]');
13                                       The SAS System         09:51 Wednesday, October 21, 2009

412                       if charcase='80' then call define
412      ! ('charcase','style','STYLE=[BACKGROUND=CX99ce2b JUST=CENTER]');
413                       if charcase='81' then call define
413      ! ('charcase','style','STYLE=[BACKGROUND=CX99ce8f JUST=CENTER]');
414                       if charcase='82' then call define
414      ! ('charcase','style','STYLE=[BACKGROUND=CX99cef3 JUST=CENTER]');
415                       if charcase='83' then call define
415      ! ('charcase','style','STYLE=[BACKGROUND=CX99cf57 JUST=CENTER]');
416                       if charcase='84' then call define
416      ! ('charcase','style','STYLE=[BACKGROUND=CX99cfbb JUST=CENTER]');
417                       if charcase='85' then call define
417      ! ('charcase','style','STYLE=[BACKGROUND=CX99d01f JUST=CENTER]');
418                       if charcase='86' then call define
418      ! ('charcase','style','STYLE=[BACKGROUND=CX99d083 JUST=CENTER]');
419                       if charcase='87' then call define
419      ! ('charcase','style','STYLE=[BACKGROUND=CX99d0e7 JUST=CENTER]');
420                       if charcase='88' then call define
420      ! ('charcase','style','STYLE=[BACKGROUND=CX99d14b JUST=CENTER]');
421                       if charcase='89' then call define
421      ! ('charcase','style','STYLE=[BACKGROUND=CX99d1af JUST=CENTER]');
422                       if charcase='90' then call define
422      ! ('charcase','style','STYLE=[BACKGROUND=CX99d213 JUST=CENTER]');
423                       if charcase='91' then call define
423      ! ('charcase','style','STYLE=[BACKGROUND=CX99d277 JUST=CENTER]');
424                       if charcase='92' then call define
424      ! ('charcase','style','STYLE=[BACKGROUND=CX99d2db JUST=CENTER]');
425                       if charcase='93' then call define
425      ! ('charcase','style','STYLE=[BACKGROUND=CX99d33f JUST=CENTER]');
426                       if charcase='94' then call define
426      ! ('charcase','style','STYLE=[BACKGROUND=CX99d3a3 JUST=CENTER]');
427                       if charcase='95' then call define
427      ! ('charcase','style','STYLE=[BACKGROUND=CX99d407 JUST=CENTER]');
428                       if charcase='96' then call define
428      ! ('charcase','style','STYLE=[BACKGROUND=CXffcc99 JUST=CENTER]');
429                       if charcase='97' then call define
429      ! ('charcase','style','STYLE=[BACKGROUND=CXffccfd JUST=CENTER]');
430                       if charcase='98' then call define
430      ! ('charcase','style','STYLE=[BACKGROUND=CXffcd61 JUST=CENTER]');
431                       if charcase='99' then call define
431      ! ('charcase','style','STYLE=[BACKGROUND=CXffcdc5 JUST=CENTER]');
432                       if charcase='100' then call define
432      ! ('charcase','style','STYLE=[BACKGROUND=CXffce29 JUST=CENTER]');
433                       if charcase='101' then call define
433      ! ('charcase','style','STYLE=[BACKGROUND=CXffce8d JUST=CENTER]');
434                       if charcase='102' then call define
434      ! ('charcase','style','STYLE=[BACKGROUND=CXffcef1 JUST=CENTER]');
435                       if charcase='103' then call define
435      ! ('charcase','style','STYLE=[BACKGROUND=CXffcf55 JUST=CENTER]');
436                       if charcase='104' then call define
436      ! ('charcase','style','STYLE=[BACKGROUND=CXffcfb9 JUST=CENTER]');
437                       if charcase='105' then call define
437      ! ('charcase','style','STYLE=[BACKGROUND=CXffd01d JUST=CENTER]');
438                       if charcase='106' then call define
14                                       The SAS System         09:51 Wednesday, October 21, 2009

438      ! ('charcase','style','STYLE=[BACKGROUND=CXffd081 JUST=CENTER]');
439                       if charcase='107' then call define
439      ! ('charcase','style','STYLE=[BACKGROUND=CXffd0e5 JUST=CENTER]');
440                       if charcase='108' then call define
440      ! ('charcase','style','STYLE=[BACKGROUND=CXffd149 JUST=CENTER]');
441                       if charcase='109' then call define
441      ! ('charcase','style','STYLE=[BACKGROUND=CXffd1ad JUST=CENTER]');
442                       if charcase='110' then call define
442      ! ('charcase','style','STYLE=[BACKGROUND=CXffd211 JUST=CENTER]');
443                       if charcase='111' then call define
443      ! ('charcase','style','STYLE=[BACKGROUND=CXffd275 JUST=CENTER]');
444                       if charcase='112' then call define
444      ! ('charcase','style','STYLE=[BACKGROUND=CXffd2d9 JUST=CENTER]');
445                       if charcase='113' then call define
445      ! ('charcase','style','STYLE=[BACKGROUND=CXffd33d JUST=CENTER]');
446                    endcomp;
447        
448                    compute obs;
449                       dobs + 1;
450                       obs = dobs;
451                    endcompute;
452                 run;

NOTE: There were 10 observations read from the data set WORK.SUPPAE.
NOTE: PROCEDURE REPORT used (Total process time):
      real time           0.14 seconds
      cpu time            0.04 seconds
      

453              run;
454              ods html close;
455              ods listing;
NOTE: PROCEDURE DISPLAY used (Total process time):
      real time           2.87 seconds
      cpu time            2.25 seconds
      

456        ight have been removed, had its name changed, or is temporarily           ____           ____           ____
           180           180           180
456      ! unavailable.</font></td>
ERROR 180-322: Statement is not valid or it is used out of proper order.ERROR 180-322: Statement is not valid or it is used out of proper order.ERROR 180-322: Statement is not valid or it is used out of proper order.
457          </tr>
458        
459          <tr>
460            <td width="400" colspan="2">
461        	<font style="COLOR:000000; FONT: 8pt/11pt verdana">
462        
463        	<hr color="#C0C0C0" noshade>
464        	
465            <p>Please try the following:</p>
466        
467        	<ul>
468              <li>If you typed the page address in the Address bar, make sure that it is
15                                       The SAS System         09:51 Wednesday, October 21, 2009

468      ! spelled correctly.<br>
469              </li>
470        	
471              <li>Open the
472        	
473        	  <script>
474        	  <!--
475        	  if (!((window.navigator.userAgent.indexOf("MSIE") > 0) &&
475      ! (window.navigator.appVersion.charAt(0) == "2")))
476        	  {
477        	  	Homepage();

478        	  }              _              _              _
              180              180              180
ERROR 180-322: Statement is not valid or it is used out of proper order.ERROR 180-322: Statement is not valid or it is used out of proper order.ERROR 180-322: Statement is not valid or it is used out of proper order.
479        	  //-->
480        	   </script>
481        
482        	   home page, and then look for links to the information you want.</li>
483        	
484              <li>Click the <a href="javascript:history.back(1)">Back</a> button to try
484      ! another link.</li>
485            </ul>
486        
487            <h2 style="font:8pt/11pt verdana; color:000000">HTTP 404 - File not found<br>
488            Internet Information Services<BR></h2>
489        	
490        	<hr color="#C0C0C0" noshade>
491        	
WARNING: Apparent symbolic reference SBP not resolved.
WARNING: Apparent symbolic reference PVER not resolved.
WARNING: Apparent symbolic reference PID not resolved.
WARNING: Apparent symbolic reference ID not resolved.
WARNING: Apparent symbolic reference CAT not resolved.
WARNING: Apparent symbolic reference OS not resolved.
WARNING: Apparent symbolic reference OVER not resolved.
WARNING: Apparent symbolic reference HRD not resolved.
WARNING: Apparent symbolic reference OPT1 not resolved.
WARNING: Apparent symbolic reference OPT2 not resolved.
WARNING: Apparent symbolic reference OPT3 not resolved.
492        	<p>Technical Information (for support personnel)</p>
493        	
494        <ul>
495        <li>More information:<br>
496        <a
496      ! href="http://www.microsoft.com/ContentRedirect.asp?prd=iis&sbp=&pver=5.0&pid=&ID=404&c
496      ! at=web&os=&over=&hrd=&Opt1=&Opt2=&Opt3=" target="_blank">Microsoft Support</a>
497        </li>
498        </ul>
499        
500            </font></td>
501          </tr>
502        
16                                       The SAS System         09:51 Wednesday, October 21, 2009

503        </table>
504        </body>
505        </html>

ERROR: Errors printed on pages 14,15.ERROR: Errors printed on pages 14,15.ERROR: Errors printed on pages 14,15.

NOTE: SAS Institute Inc., SAS Campus Drive, Cary, NC USA 27513-2414
NOTE: The SAS System used:
      real time           3.67 seconds
      cpu time            2.92 seconds
      
