Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
AGENDA
Introduction
Introduction
Topic of the presentation: how to maximize the quality of
programming while minimizing the time to verify program.
In the first part of the presentation we will discuss about the
business part:
What is program verification?
Why program verification is necessary?
When is program verification done?
Who performs program verification?
How does the verification process work?
In the second part of the presentation we will discuss about a
case study
Reliabity
Efficiency
Portability
Flexibility
Ease of use
Interactive Process
Interactive Process
Error Types
Business strategy should identify common error types found in:
Statistical tables
Listings
Graphs
Data analysis files
Header section of SAS programs
Bad programming specifications
SAS
programming
procedures
when
A Case Study
PROC COMPARE
Compare
original derived datasets
versus
validation derived datasets
Obs
Unequal
Unequal
Obs
Base
Compare
1
79
79
89
1
79
79
89
ID
pt=121
pt=201
pt=201
pt=212
Type
age
NUM
Len
8
Label
AGE (years)
Ndif
MaxDif
1.000
Base
Compare
1
89
1
89
ID
pt=121
pt=212
Compare of outputs
Age (years)
n
Mean (SD)
Median
Min - Max
41
51.44 (10.39)
55.00
30.00- 66.00
48
52.10 (11.00)
55.00
27.00- 71.00
Gender
Female
14 (34.15%)
21 (43.75%)
Male
27 (65.85%)
27 (56.25%)
________________________________________________________________
Age (years)
n
Mean (SD)
Median
Min - Max
41
51.44 (10.39)
55.00
30.00- 66.00
48
52.10 (11.00)
55.00
27.00- 71.00
Gender
Female
14 (34.15%)
21 (43.75%)
Male
27 (65.85%)
27 (56.25%)
________________________________________________________________
Compare
listing output in Word
versus
output in SAS of derived dataset
Listing 1
Demographic Characteristics
Subject ID Gender
Age Race
_______________ _______ ____ _____
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
M
M
F
M
M
F
M
M
M
M
M
M
M
F
M
M
50
34
58
64
57
64
39
55
41
44
32
37
61
56
34
34
3
3
3
3
3
3
3
2
3
3
3
3
3
3
3
3
Specification
not detailed
40%
Wrong
interpretation
of
specification
60%
Display
Variables
14%
Calculation of
variables
20%
Selection of
Variables
14%
Output
Writing
56%
Specification
14%
Layout
45%
SAS
Programming
66%
Programming
41%
Examples of Errors
Layout
Writing of a note in table
Incorrect: Percentages are calculated number of patients
Correct: Percentages are calculated on number of patients
Examples of Errors
Programming
data age;
set demog;
if age<20 then age_c=1;
else if 20<age<40 then age_c=2;
else if age>=40 then age_c=3;
run;
data age;
set demog;
if age<20 then age_c=1;
else if 20<=age<40 then age_c=2;
else if age>=40 then age_c=3;
run;
Examples of Errors
Wrong interpretation of specification
Note of a table (in SAP):
Note 1: Only patients with all value for primary analysis are
included in the table.
In SAS Program:
In the table, all patients are included