GRADERS PROGRAM * O:\BIOSLIB\GRADERS.SAS; OPTIONS LS=78 PS=500 NOCENTER ; DATA GRADERS; FILE PRINT; INFILE "GRADERS.DAT" PAD MISSOVER; INPUT NAME $ 1-24 @; IF _N_ = 1 THEN PUT / @1 "NAME" @26 "PID PROGRAM HRS G" /; INPUT PID $ 25-33 PGM OLD_HRS NEW_HRS OLD_G NEW_G; ARRAY Q(4) OLD_HRS NEW_HRS OLD_G NEW_G; DO I = 1 TO 4; IF Q(I) = . THEN Q(I) = 0; END; TOT_HRS = SUM(OLD_HRS,NEW_HRS); TOT_G = SUM(OLD_G,NEW_G); W = 20 + 5*(PGM = 1) + 10*(PGM = 3); GMAX = 2 + (PGM = 2) + 2*(PGM = 3); IF TOT_G GE GMAX THEN SCORE = -100; ELSE SCORE = TOT_HRS - W*TOT_G; PUT NAME 1-24 PID 26-34 PGM 39 @44 TOT_HRS 5.1 TOT_G 51; PROC PRINT NOOBS; TITLE "COPY TO CHECK AGAINST RECORDS"; VAR NAME PID PGM OLD_HRS NEW_HRS TOT_HRS OLD_G NEW_G TOT_G SCORE; PROC SORT; BY DESCENDING SCORE NAME; PROC PRINT NOOBS; TITLE "COPY TO USE FOR ASSIGNMENTS"; VAR NAME PID PGM TOT_HRS TOT_G SCORE; PROC SORT; BY PID; PROC PRINT DATA=GRADERS NOOBS; TITLE1 "BIOSTATISTICS - GRADING SCORES"; TITLE2 "POSTED COPY FOR STUDENTS TO CORRECT"; TITLE3 "SCORE = TOT_HRS - W * TOT_G"; TITLE4 "WHERE W = 25 FOR MPH/MS, 20 FOR DRPH/PHD, 30 FOR COMBINATION"; TITLE5 "AND TOT_G = TOTAL NUMBER OF TIMES SERVED"; TITLE6 "EXCEPT W = -100 IF TOT_G GE 2 FOR MPH/MS, 3 FOR DRPH/PHD, 4 FOR COMBO"; TITLE7 "NOTE: 'PGM' IS 1 FOR MS/MPH, 2 FOR DrPH/PhD, 3 FOR COMBINATION"; VAR PID PGM OLD_HRS NEW_HRS TOT_HRS TOT_G SCORE; Aggarwal, Gautam 744781414 1 25.0 0 3 1 Amamoo, M Ahinee 700350096 1 31.0 0 6 0 Baltus, Rachel 708884826 1 6.0 0 3 0 Benefield, Thad 702224999 1 28.0 0 12 0 Bowman, Dubois 701234638 3 59.8 0 6 1 Above is the format of the dataset. Names, in alphabetical order, in columns 1-24 PID starting in column 26. ProGraM: 1 if MPH/MS(only) 2 if PhD/DrPH(only) 3 if master's-->doctoral A number of hours prior to update (OLD_HRS) B number of times served as grader prior to update (OLD_G) C number of hours in current update period (NEW_HRS) D number of times served in current update period (NEW_G) When the program is used on an ongoing basis, it produces a new dataset by adding C to A and D to B. Then the data entry person adds the new C and D for the next time period, the names etc for new students, and deletes students who have graduated.