Ballot Reconciliation Procedure Specs

From: Alan Dechert <alan_at_openvotingconsortium_dot_org>
Date: Mon Dec 08 2003 - 04:40:24 CST

We are considering moving dialogs like this to a more appropriate venue
(e.g., Wiki or SourceForge or other), but for now I am putting this to the

I have described the Ballot Reconciliation Procedure (BRP) procedure some.
David Mertz has agreed to write the code for it. I have received some good
feedback from others (esp Karl, Arnie, and David Mertz) so I'm prepared to
give a better spec at this time.

Tabulation begins when the ballot box is opened after the polls close. The
BRP happens at the very beginning of this process and results in reports
(paper and electronic) that are ready to post at the precinct and transmit
to the county HQ. The BRP described here may replace some existing
procedures relevant to other voting machines. The OVC technology is new
thus necessitating some new procedures for administering elections with this
system. The ballot tray referred to here would amont to a box that would
allow access to the barcode and would allow the ballots to be handled, but
would cover the text on the ballot.



Enter the names of two witnesses to this process:

WITNESS: ________

WITNESS: _________


Remove the ballots from the ballot box. Keep the ballots face down and
shuffle them.

Count the number of voted ballots and enter the number here:

________ (number of ballots)


Stack the ballots and place them in the scan tray. Scan the barcode for the
ballot on top then place the scanned ballot in another pile in the tray.
Repeat until all the ballots have been scanned.

Ballots scanned: XXXX (Increment as ballots are scanned)


Insert the disk from voting machine #x (repeat until all the disks have
been copied)


Enter the ballot ID number for each of the test ballots that were printed on
start up


Click here when done.

Enter the ballot ID number for all known spoiled ballots


Click here when done.

The reports have been prepared.

XXXX ballot IDs processed
XX test ballots
XX spoiled ballots
XX unaccounted ballots
XXXX Voted Ballots

The following errors were found:

(or list errors, e.g., Voted ballot XXXX had no matching record from the
voting machines)

Requirements for the BRP

1. The BRP would be run on a PC set up for administrative purposes at the
precinct. The PC would already have certain information logged, such as the
voting machine numbers for all the voting machines used at the precinct on
Election Day, and the pollworkers' names. (BRP WITNESSES). The admin PC
used for the BRP would be standalone -- not connected to any network. It
would have a printer connected that is tested, turned on, and ready to

2. Witness names would be validated against a list of pollworkers present
(select from a listbox?). (BRP WITNESSES)

3. Allow 5 digits for number of ballots (BRP BALLOT COUNT)

4. (BRP BARCODE SCAN) For each scanned ballot, create an XML file
(electronic ballot image) like the ones created on the voting machines. The
only differences are

a) The file will indicate this source (barcode scan)
b) The file will not contain any write-in candidate names (although
true/false for write-ins will be indicated)
c) The file name will have a prefix (b-) indicated source like so:




These files will go in a folder called barcodedata (empty to start)

Prompt "Scan barcode" until all ballots have been scanned.

If duplicate scan, display message "That ballot has already been scanned"

5. (BRP VOTING MACHINE DATA COLLECTION) Disk IDs will be validated against
list of CDs entered before voting began. Prompt until all disks have been
copied. These files (electronic ballot images) will go in a folder called
votingmachinedata. They will have a prefix of "v-"



(these files include write-in candidate names and indicate that the source
was the voting machine)

6. (BRP TEST BALLOTS and BRP SPOILED BALLOTS) any number of ballot IDs can
be entered.

7. Once the Ballot IDs of the known spoiled ballots have been entered, the
reconcilation process does the following:

a) For each ballot image in the barcodedata folder, the matching image in
the votingmachinedata folder is found. The voting data is verified to
match. A copy is put into the results folder (from the votingmachinedata
folder) with the prefix stripped off.




b) A raw count of the vote is made. This has nothing to do with scoring
method! We don't run IRV for county commissioner at the precinct level. If
you think of the possible selections on our mock ballot as if on a punch
card, there are 116 positions. The count we want there merely shows the
total number of ballots with each position selected.

So, the tally for position 116 is the number of ballots that ranked a write
in candidate for county commissioner 8th. The tally for position 115 is the
number of ballots that ranked a write in candidate for county commissioner
7th ... and so on.

This tally should be a list of the 116 possible choices on the ballot with
the number of ballots that indicated those choices.

So, for our ballot we might have a tally report (terminology?) like:

1. George Washington, Pres; Abraham Lincoln Vice Pres 77
2. Thomas Jefferson, Pres; Harry S. Truman Vice Pres 65
18. Lillian Hellman, U.S. Representative, 10th CD 55
100. Gordon Moore, County Commissioner 8th rank 4
116. Write-in Candidate, County Commissioner 8th rank 0

Note that the district for U.S. House, State Assembly, etc. must be
indicated. This report gets printed out and posted at the precinct.

A report would be printed listing ballot IDs that were in the voting machine
data but were unaccounted for. Also, this report

XXXX ballot IDs processed
XX test ballots
XX spoiled ballots
XX unaccounted ballots
XXXX Voted Ballots

would be printed to screen and on paper.

Files from the BRP would be written to a removable media. This would be
taken to another PC set up to transmit the data to county HQ.

An electronic copy is transmitted to county HQ (simulate doing that for

The ballot images would be transmitted (simulated message "ballot images

ALL for now. Suggestions welcome.

-- Alan Dechert 916-791-0456
= The content of this message, with the exception of any external
= quotations under fair use, are released to the Public Domain
Received on Wed Dec 31 23:17:06 2003

This archive was generated by hypermail 2.1.8 : Wed Dec 31 2003 - 23:17:18 CST