Appendix C Validation Process
USCF Rating system
The validation process checks each section to insure that there are no
errors that will prevent the section from being successfully rated.
Additionally it tests for inconsistent data that requires review and possible
correction to reduce possible errors. A description of some recommended changes
is discussed at the end the description before the sample validation printouts.
The validation process is very important and I recommend the new program have a
similar process.
In the current system, as long as any section of an event is not rated,
the entire event (all sections) will be kept in the edit files. Once every
section of an event has been rated and appended to the crosstable files, the
entire event is removed from the edit files when a reorganization is performed.
As each record error is encountered, a flag is set depending upon the
nature of the error. After the flags for each area in the section is examined,
the section status flag is set based on the errors identified. The section
status symbols are:
* pointer error
# Just entered (never
validated)
0
Minor error - one
or more minor errors
1
Major error - one
or more major errors
2
Pass - no errors
or just watches.
3
Rated - All
sections will be displayed as long as at least one has not been rated. See
event 980404394 as an example of a multi-section event where one section has
already been rated as indicated by the CRTB in the status column.
The above status symbols are used in the actual files. The status code
table below lists the English type codes used on the validation printout in the
status column.
Error types used to define the section Status symbol.
Major - an error that will
prevent a successful rating of the section.
This cannot be overridden and must be fixed before an event can be
rated.
Minor - an error that may be a mistake but needs to be examined before
the event is rated. This can be forced into a pass mode by using a utility to
override the section code and change it to a 2
Watch - an error so unimportant that it is only displayed if other
errors cause the list of errors and data to be printed. A "watch"
status will not prevent a section from going immediately from a # to pass
status.
STATUS
SYMBOLS TABLE
STATUS CODES TABLE
---------------------
-----------------------------------------------------------------------
*
: POINTER ERROR CRTB : RATED & CONVERTED TO CROSSTABLE.
#
: JUST ENTERED *DELT* :
GARBAGE, READY TO BE DELETED.
0
: MINOR ERROR *DR0?* : SECTION
POINTER FOR DETAIL RECORD IS WRONG, RUN REORG.
1
: MAJOR ERROR *DR1?* : NO
DETAIL RECORDS FOR THIS SECTION.
2
: PASS VALIDATION & *ERR?* :
SYSTEM ERROR FOUND (FROM PREVIOUS VALIDATION). MUST RUN REORG.
READY TO RATE PASS
: PASS DATA VALIDATION, READY FOR RATE.
3
: RATED *PR2?* :
PLAYER'S RND 11-20'S RESULT IS
MISSING.
9
: OK TO DELETE *OR2?* :
OPPONENT'S RND 11-20'S RESULT IS MISSING.
*SR1?* : EVENT
HEADER HAS NO SECTION POINTER, MUST RUN REORG.
*SRC?* : TOTAL
SECTION(S) IS LESS THAN EVENT HEADER DEFINED.
*DR1?*
is used to indicate that a great majority of opponent/result information is
missing or invalid. I do not know what percentage of data has to be bad for
this code to be selected.
Validation
Process
The
current validation program checks the following and provides appropriate error
explanations:
Header
verification
Affiliate
ID missing or bad
Membership Expired ( exp., exp. more then 3 yrs.)
CTD (Chief
Tournament Director (TD))
ID missing or bad
Membership expired ( exp., exp. more
then 3 yrs.)
Not in TD file
ATD (Assistant
TD)
ID missing or bad
Expired
( exp., exp. more then 3 yrs.)
Not in TD file
Result and Data Verification
For each pairing
number
ID missing or bad
Duplicate ID
Membership Expired ( exp., exp. more then 3 yrs.)
Opponent matches or invalid character
Score matches or invalid character
Data for listed # of rounds
Final Section Check
# of records matches last pairing number.
Result and opponent
codes and explanation
Played game result codes - these are the only codes used to calculate rating change and must have a valid opponent pairing number.
W a played game that was won (scores 1 point)
D a played game that was drawn (scores 1/2 point)
L a played game that was lost (scores 0 point)
Unplayed games with no opponent. No unplayed game is included in a rating calculation. The opponent for all unplayed games should be zero. Any other value should trigger a validation error.
B A "full point" Bye (scores 1 point)
H A "half point" Bye (scores 1/2 point)
F Forfeit loss (scores 0 point)
Z Forfeit draw (scores 1/2 point)
X Forfeit win ( scores 1 point)
U unplayed game (scores 0 point)
Enclosed in this appendix is a sample of a validation for several
tournaments. Toward the end of the printout on page 7, a list of various codes
that are used both in the section files and also an explanation of the various
codes used in the validation printout. Please note that to understand what is
being shown here, you first need to understand the data presented on wall
charts and crosstables. Please review that appendix first if you have not done
so.
Comments
follow on the various problems from the validation for event 990306987:
[watch] : ASSISTANT-ATD
ID- -> HAS NO
ENTRY.........[ ]
This
is not necessary and should not be included as it is quite normal for an event
to not have an assistant TD.
[MINOR] : PLR 22-RND
1- -> SCORE UNMATCHED......[ ]
This
is a normal error for an unmatched score. It looked at player 22 for round 1
and saw that 22 won against player 84. This means that player 84 should show a
loss to player 22. When you examine 84 you see that he shows as winning against
22. This error will produce two error lines, one for 22 and one for 84. This is
an important check and must be kept. The normal matching scores are one is a
"W" and the other is a
"L" or both are "D" for a draw (tie game).
[MINOR] : PLR 42-RND
4-OPP 1-> OPP
UNMATCH,C.R.PAIR?[ ]
This
is a similar error to the score unmatched. Here it is the opponents that do not
match for round 4. If you look at the results for #42 in round 4, you see him
shown as playing against 1 . However, 1 is shown as playing against 28. This is
probab The C.R.PAIR? comment refers to a infrequent
but legal method used by TDs when there is an odd # of players available to
play. This is called a cross round paring and will cause an imbalance in the
[WATCH] : PLR 55-MEM ID- -> ID DUPLICATE,REENTRY?[ ]
[MAJOR] : PLR 55-MEM ID- -> NOT FOUND............[ ]
These
two errors are often associated. The "not found" occurs when the ID
is checked in the membership database and is not found. This means that the rating
program will not be able to find an initial rating and will not have a place to
record the new rating. This can be caused by either no data or incorrect data
in the ID field. This has to be fixed before the event can be rated so this
check is necessary.
The
ID duplicate states that there is another record in this section with the same
ID. In this case, the ID for 55 is null and it found a matching null value for
player 112 among others. It is possible
that a valid reason exists for a player to be listed twice in a section but it
is often also an actual error. The error checking for duplicate IDs needs to be
kept but a null value report can be eliminated as the missing ID is reported by
the "not found" check. It is
quite normal for a report to be submitted with missing IDs as non-members can
join and play in an event and the membership forms are submitted with the
rating report and numbers are not available.
[watch] : PLR 110-MEM ID-12763851->
EXPIRED..............[ ]
Just
a warning. Useful as it sometimes points to an incorrect ID number.
[watch] : PLR TOTAL IS LESS THAN LAST
PAIRING, PLR MISSING?[ ]
This
is another uncommon occurrence that is normally not an error but has to be
checked. First, a player given a pairing # may not have played so nothing would
have been reported. Some TDs will also not start with 1 for the first number.
They might start with 101 for the first section and 201 for the second. Or, the
data entry operator might have accidentally skipped entering the results for a
player. For this reason, it is a watch and is allowed to pass validation. When
numbers are purposefully skipped or the starting number is not 1, there is no
problem in rating the event. When the crosstables are created, the pairing
numbers are then changed to a set of sequential numbers. In this specific
event, pairing # 92 is missing. I suspect this is simply a check of section
record count compared to the value of the Last Pairing number.
Validation
Report - the current
program only produces a printed report. Assume a tournament of one or more
sections is entered into the system and then a validation is run and the report
printed. If these sections pass, they will show up on the report as a pass. The
next day, another validation is run. The event will not show up on this or
subsequent reports. This is done to save paper and to make the validation
easier to read. Note that during our very busy seasons, more then 200 events
may be in the edit tables. The new validation report should all either this
method or the ability to select a printout of all the events in the edit
tables. It also should support the capability to either print or display all or
single events on the screen. Also note
only 8 characters are displayed for each player. This needs to be changed to
display at least 20 characters and should be a concatenated last, first,
MI name field. Membership type also
needs to be included.
Changes to the
validation process:
Some
of the changes to the various submission file formats and manual data entry will
have a effect upon the validation process. The addition of name information in
the reports on disk will give us the ability to compare the name and ID
submitted against the information in the USCF database. Other changes such as
using the section information to see if non-scholastic players are in a
scholastic section provide additional error checking. An important part of the
new system is recognizing which format the submitted report was sent in and
selecting the proper verification steps. The name verification is needed for
reports submitted on disk but not those entered manually because that step is
part of the manual verification process.
Sample
output from a validation printout.
TOURNAMENTS
DATA VALIDATION
---------------------------
May 8, 1999
====================================================================================================================================
EVENT
ID EVENT NAME SEC. # SEC. NAME
RNDS LST PAIR TYPE
RAT-USE REF SCH
OPER STATUS
---------
-----------------------------------
------ --------- ----
-------- ---- -------
--- --- ----
------
990306987
KENTUCKY STATE PRIMARY CHAMP
1 CUMULATIV 5
122 SCUM REGULAR
R-F N MB
[watch] : ASSISTANT-ATD ID-
-> HAS NO ENTRY.........[ ]
[MINOR] :
PLR 22-RND 1-
-> SCORE UNMATCHED......[ ]
[MINOR] : PLR 37-RND 3-
-> SCORE UNMATCHED......[ ]
[MINOR] : PLR 42-RND
4-OPP 1-> OPP
UNMATCH,C.R.PAIR?[ ]
[MINOR] : PLR 43-RND 4-
-> SCORE UNMATCHED......[ ]
[WATCH] : PLR 50-MEM
ID-00000000-> ID DUPLICATE,REENTRY?[
]
[MAJOR] : PLR 50-MEM
ID-00000000-> NOT FOUND............[
]
[WATCH] : PLR 55-MEM ID- -> ID DUPLICATE,REENTRY?[ ]
[MAJOR] : PLR 55-MEM ID- -> NOT FOUND............[ ]
[WATCH] : PLR 58-MEM
ID-00000000-> ID DUPLICATE,REENTRY?[ ]
[MAJOR] : PLR 58-MEM
ID-00000000-> NOT FOUND............[
]
[WATCH] : PLR 61-MEM ID- -> ID DUPLICATE,REENTRY?[ ]
[MAJOR] :
PLR 61-MEM ID- -> NOT FOUND............[ ]
[MINOR] : PLR 75-RND 4-
-> SCORE UNMATCHED......[ ]
[MINOR] : PLR 84-RND
1- -> SCORE
UNMATCHED......[ ]
[MINOR] : PLR 84-RND 3-
-> SCORE UNMATCHED......[ ]
[MINOR] : PLR 88-RND 4-
-> SCORE UNMATCHED......[ ]
[WATCH] : PLR 102-MEM ID- -> ID DUPLICATE,REENTRY?[ ]
[MAJOR] : PLR 102-MEM ID- -> NOT FOUND............[ ]
[MINOR] : PLR 102-RND 4-
-> SCORE UNMATCHED......[ ]
[watch] : PLR 110-MEM
ID-12763851-> EXPIRED..............[
]
[WATCH] : PLR 112-MEM ID- -> ID DUPLICATE,REENTRY?[ ]
[MAJOR] : PLR 112-MEM ID- -> NOT FOUND............[ ]
[WATCH] : PLR 115-MEM ID- -> ID DUPLICATE,REENTRY?[ ]
[MAJOR] : PLR 115-MEM ID- -> NOT FOUND............[ ]
[watch] : PLR TOTAL IS LESS
THAN LAST PAIRING, PLR MISSING?[ ]
PLR# NAME
1 2 3
4 5
----
------ ----- ----- ----- ----- -----
1 LOWERY W--63 W--34 W--18 W--28 D--32
2 VOLP
W--64 W--41 W--17 W-117 W---8
3 THOMAS W--65 W--38 W--26 W--10 L--12
4 JAMES
W--66 D--35 W--51 W--20 W--15
5 CHEN
W--67 W--40 W--22 L--12 W--30
6 WHALEY W--68 W--59 W--21 L--32 W--98
7 DWYER
W--69 W--50 L--28 W--60 W--35
8 DEPTOL W--70 W--76 W--23 W-105 L---2
9 LEE
L--71 W--69 L--73 W-111 D--84
10 FURTKA W--72 W--98 W--29 L---3 W--68
11 BROOKS W--73 W--58 L--32 L--64 W--79
12 LAETSC W--74 W-104 W--95 W---5 W---3
13 DE LOZ B---0 W--71 L-105 W--73 W--56
14 BUDY
L--76 W--70 D-116 D-122 L--86
15 HARRIS D--77 W-111 W--46 W--16 L---4
16 WEINBE W--78 W-106 L-117 L--15 W-122
17 DAVIDS W--79 W--81 L---2 L--30 L--73
18 KIRCHN W--80 W-114 L---1 L--68 W--76
19 LOWELL L--81 L--73 W-120 W--65 L--87
20 GRECO
W--82 D-116 W--55 L---4 W-113
21 WANG
W--83 W--87 L---6 W--84 W--64
22 RICHTE W--84 W-122 L---5 D--74 W--55
23 SUGARM W--85 W--99 L---8 W--87 L-116
24 PELLET W--86 L--95 L--68 W--72 W--90
25 BUCK
L--87 W--75 W--71 W--95 W-104
26 FRANK
W--88 W-101 L---3 W--76 W-105
27 HAGEE
W--89 L-105 W--79 W--97 W--99
28 WU
W--90 W-107 W---7 L---1 W-117
29 GREV
B---0 W-109 L--10 L--99 L--89
30 MC GLO W--92 D-113 W-108 W--17 L---5
31 BROWN
W--47 L-117 W--81 D-113 L--74
32 HARRIS W--94 W-121 W--11 W---6 D---1
33 GOODWI L--95 L--79 W--82 L--67 L-111
34 ADAMS
W--96 L---1 L--74 L--86 D--72
35 PFANNE W--97 D---4 D-113 W--90 L---7
36 HARLEY L--98 W--72 L--76 W--94 L--96
37 LEE
L--99 W--83 L--84 W--69 L--95
38 FONS
W-100 L---3 W--94 L--98 L-109
39 DORN
L-101 W--85 L--87 D--71 D--77
40 PAULIC W-102 L---5 L--98 L--96 W--82
41 SMITH
B---0 L---2 L--90 W--81 L--97
42 KERN
L-104 L--74 L--86 W---1 L--65
43 SMITH
L-105 L--97 H---0 W-102 W--78
44 HINES
L-106 W--78 W-101 L-104 L-115
45 SPINA
L-107 D-119 L-111 L-121 W-118
46 HINES
D-108 W-112 L--15 W--59 W-110
47 KELLY
L--31 D--80 D-102 L-106 L--94
48 AHMAD
L-109 W--89 L--97 L--79 W--69
50
W-110 L---7 L-104 W-112 L-121
51 ABRAMS D-111 W--77 L---4 W-107 D-108
52 KIRBY
D-112 L-108 W--80 L-110 W-102
53 GOLD-M L-113 W--82 L--99 L--89 L--81
55
D-115 W-120 L--20 W--77 L--22
56 SMITH
L-116 W--86 W-106 W-114 L--13
57 BENTON L-117 W--88 W-109 L-116 D-101
58
W-118 L--11 D-107 L-108 L--80
59 BALLAR W-119 L---6 D-110 L--46 D-107
60 WAIN
D-120 D-115 W-121 L---7 W-106
61
L-121 L--90 W--83 L-101 D--75
62 BRATCH L-122 W--92 L-114 L-109 D-112
63 D'SOUZ L---1 L--94 W--92 L-115 W--83
64 ALTMAN L---2 W--96 W-115 W--11 L--21
65 WAIN
L---3 W-100 L-122 L--19 W--42
66 HUFFER L---4 L-110 D--85 W-118 L--71
67 SMITH
L---5 D-102 D-112 W--33 L-114
68 FRAZE
L---6 W-118 W--24 W--18 L--10
69 ALLEN
L---7 L---9 W-100 L--37 L--48
70 SIPP
L---8 L--14 L--89 D--92 W-119
71 VALLEC W---9 L--13 L--25 D--39 W--66
72 BOSSCH L--10 L--36 W--88 L--24 D--34
73 YANG
L--11 W--19 W---9 L--13 W--17
74 LEE
L--12 W--42 W--34 D--22 W--31
75 RICKMA H---0 L--25 L--96 D--88 D--61
76 MC CON W--14 L---8 W--36 L--26 L--18
77 LANG
D--15 L--51 W-119 L--55 D--39
78 FREIBE L--16 L--44 D-118 W--85 L--43
79 LOEWEN L--17 W--33 L--27 W--48 L--11
80 PARKER L--18 D--47 L--52 W-119 W--58
81 PITTS
W--19 L--17 L--31 L--41 W--53
82 SHARIA L--20 L--53 L--33 W-100 L--40
83 WILSON L--21 L--37 L--61 W-120 L--63
84 WEINRI W--22 B---0 L--37 L--21 D---9
85 HOLBRO L--23 L--39 D--66 L--78 L-120
86 KULENG L--24 L--56 W--42 W--34 W--14
87 WIJNBE W--25 L--21 W--39 L--23 W--19
88 RUBLE
L--26 L--57 L--72 L--75 W--92
89 GHASEM L--27 L--48 W--70 W--53 W--29
90 TRONTZ L--28 W--61 W--41 L--35 L--24
92 STINSO L--30 L--62 L--63 D--70 L--88
94 MILES
L--32 W--63 L--38 L--36 W--47
95 FRASER W--33 W--24 L--12 L--25 W--37
96 KASETA L--34 L--64 W--75 W--40 W--36
97 CHOI
L--35 W--43 W--48 L--27 W--41
98 MC KEE W--36 L--10 W--40 W--38 L---6
99 WARD
W--37 L--23 W--53 W--29 L--27
100 DUVALL L--38 L--65 L--69 L--82 H---0
101 LANGLE W--39 L--26 L--44 W--61 D--57
102
L--40 D--67 D--47 D--43 L--52
104 SCHMID W--42 L--12 W--50 W--44 L--25
105 THOMPS W--43 W--27 W--13 L---8 L--26
106 RICKMA W--44 L--16 L--56 W--47 L--60
107 BRYAN
W--45 L--28 D--58 L--51 D--59
108 CLARK
D--46 W--52 L--30 W--58 D--51
109 DIXIT
W--48 L--29 L--57 W--62 W--38
110 HOUK
L--50 W--66 D--59 W--52 L--46
111 BRYAN
D--51 L--15 W--45 L---9 W--33
112 D--52 L--46 D--67 L--50 D--62
113 CHARAS W--53 D--30 D--35 D--31 L--20
114 URSCHE B---0 L--18 W--62 L--56 W--67
115
D--55 D--60 L--64 W--63 W--44
116 PATCHE W--56 D--20 D--14 W--57 W--23
117 ADAMS
W--57 W--31 W--16 L---2 L--28
118 ELIAS
L--58 L--68 D--78 L--66 L--45
119 BROWN
L--59 D--45 L--77 L--80 L--70
120 ROSE
D--60 L--55 L--19 L--83 W--85
121 FRANK
W--61 L--32 L--60 W--45 W--50
122 SPEAR
W--62 L--22 W--65 D--14 L--16
*MAJR*
---------
-----------------------------------
------ --------- ----
-------- ---- -------
--- --- ----
------
====================================================================================================================================
STATUS SYSBOLS TABLE STATUS CODES
TABLE
---------------------
-----------------------------------------------------------------------
*
: POINTER ERROR CRTB : RATED & CONVERTED TO CROSSTABLE.
#
: JUST ENTERED *DELT* :
GARBAGE, READY TO BE DELETED.
0
: MINOR ERROR *DR0?* : SECTION
POINTER FOR DETAIL RECORD IS WRONG, RUN REORG.
1
: MAJOR ERROR *DR1?* : NO
DETAIL RECORDS FOR THIS SECTION.
2
: PASS VALIDATION & *ERR?* :
SYSTEM ERROR FOUND (FROM PREVIOUS VALIDATION). MUST RUN REORG.
READY TO RATE PASS
: PASS DATA VALIDATION, READY FOR RATE.
3
: RATED *PR2?* :
PLAYER'S RND 11-20'S RESULT IS
MISSING.
9
: OK TO DELETE *OR2?* :
OPPONENT'S RND 11-20'S RESULT IS MISSING.
*SR1?* : EVENT
HEADER HAS NO SECTION POINTER, MUST RUN REORG.
*SRC?* : TOTAL
SECTION(S) IS LESS THAN EVENT HEADER DEFINED.
TOURNAMENTS
DATA VALIDATION
---------------------------
February 9, 1999
====================================================================================================================================
EVENT
ID EVENT NAME SEC. # SEC. NAME
RNDS LST PAIR TYPE
RAT-USE REF SCH
OPER STATUS
---------
-----------------------------------
------ --------- ----
-------- ---- -------
--- --- ----
------
971026710
SUNDAY SCHOLASTIC
1 4 14
SSTD REGULAR R-F
Y AK
[watch] : CHIEF TD-CTD
ID-12497161-> NOT IN TD FILE.......[
]
[watch] : ASSISTANT-ATD ID-
-> HAS NO ENTRY.........[ ]
[watch] : PLR 1-MEM
ID-12629793-> EXP OVER 3 YEARS.....[
]
[watch] : PLR 2-MEM
ID-12669174-> EXPIRED..............[
]
[WATCH] : PLR 3-MEM ID- -> ID DUPLICATE,REENTRY?[ ]
[MAJOR] : PLR 3-MEM ID- -> NOT FOUND............[ ]
[watch] : PLR 6-MEM
ID-12669173-> EXPIRED..............[
]
[WATCH] :
PLR 7-MEM ID- -> ID DUPLICATE,REENTRY?[ ]
[MAJOR] : PLR 7-MEM ID- -> NOT FOUND............[ ]
[WATCH] : PLR 14-MEM ID- -> ID DUPLICATE,REENTRY?[ ]
[MAJOR] : PLR 14-MEM ID- -> NOT FOUND............[ ]
PLR# NAME
1 2 3
4
----
------ ----- ----- ----- -----
1 GALE
W---8 W---4 W--10 W--13
2 WERNES W---9 L--13 W---6 L--10
3
L--10 W--14 L--13 W---8
4 WERNES W--11 L---1 W---9 L--14
5 KASPAR W--12 L--10 L--14 W---9
6 RATELL L--13 W--11 L---2 L---7
7
L--14 L--12 L--11 W---6
8
ADAMS L---1 L---9 W--12 L---3
9 GILLIA L---2 W---8 L---4 L---5
10 HUNZIK W---3 W---5 L---1 W---2
11 STIEGL L---4 L---6 W---7 L--12
12 DAVIS
L---5 W---7 L---8 W--11
13 STIEGL W---6 W---2 W---3 L---1
14
W---7 L---3 W---5 W---4 *MAJR*
---------
-----------------------------------
------ --------- ----
-------- ---- -------
--- --- ----
------
====================================================================================================================================
EVENT
ID EVENT NAME SEC. # SEC. NAME
RNDS LST PAIR TYPE
RAT-USE REF SCH
OPER STATUS
---------
-----------------------------------
------ --------- ----
-------- ---- -------
--- --- ----
------
980404394
SATURDAY QUADS
1 R.R.QUADS 3
4 SCUM QUICK
Q-Q N LA
*DR1?*
---------
-----------------------------------
------ --------- ----
-------- ---- -------
--- --- ----
------
980404394
SATURDAY QUADS
2 3 4
SCUM QUICK Q-Q
N LA *DR1?*
---------
-----------------------------------
------ --------- ----
-------- ---- -------
--- --- ----
------
980404394
SATURDAY QUADS
3 3 4 SCUM
QUICK Q-Q N
LA *DR1?*
---------
-----------------------------------
------ --------- ----
-------- ---- -------
--- --- ----
------
980404394
SATURDAY QUADS
4 3 6
SSTD QUICK Q-Q
N XX
CRTB
---------
-----------------------------------
------ --------- ----
-------- ---- -------
--- --- ----
------
980404394
SATURDAY QUADS
5 3 4
SCUM QUICK Q-Q
N LA *DR1?*
--------- ----------------------------------- ------
--------- ---- --------
---- ------- ---
--- ---- ------