/ VoteCal Statewide Voter Registration System Project
Use Case: UC06.07.01 / Generate PVRDR File Set

Use Case: UC06.07.01 / Generate PVRDR File Set

Attribute / Details
System Requirements: / S26.1 VoteCal must allow authorized SOS administrators and authorized county users to input, track and review Public Voter Registration Data Requests (PVRDRs), including:
  • Requestor name;
  • Requestor ID number and type;
  • Requestor organization;
  • Requestor residence and business addresses;
  • Requestor contact information (phone, fax, email addresses);
  • If Requestor is acting as an authorized agent for a qualified party, the name, address and contact information for the party legally qualified to purchase the data;
  • Requestor’s stated purpose/use for the data;
  • Date of application;
  • Date application received;
  • Basis for qualification (election, party, academic, journalist, etc.);
  • Date of application fulfillment or denial;
  • Status of application;
  • Criteria used to select/exclude records for the extract; and
  • Filename(s) and number of records provided in the extract.
S26.2 VoteCal must allow authorized SOS administrators and authorized county users to log the date, time, and administrator ID of activities and events related to processing and fulfillment of a PVRDR.[BMc1]
S26.3 VoteCal must provide authorized SOS administrators and authorized county users with a method to select voter registration records for inclusion or exclusion in a PVRDR extract based on multiple criteria, with the ability to specify a range or list where applicable, including:
  • County of residence;
  • City of residence;
  • Zip code(s);
  • Home precinct;
  • Political party affiliation;
  • Date of registration;
  • Age (before or after a specified date of birth, or within a specified range of dates of birth);
  • Gender;
  • Language preference;
  • Voting participation history; and
  • Political district/jurisdiction (such as Congressional District, State Assembly District; County Supervisory District; local school district, etc.).
S26.4 In fulfillment of a PVRDR, VoteCal must be able to produce an extract as a standard tab-delimited text file that includes the following data fields for each voter:
  • County of residence;
  • Full name;
  • Residence address;
  • Mailing address;
  • Party affiliation;
  • Phone numbers;
  • Email address;
  • Language preference;
  • Gender;
  • Home precinct;
  • Date of registration;
  • Date of birth;
  • Place of Birth;
  • Registration status; and
  • Registration method.
S26.5 In fulfillment of a PVRDR that requests inclusion of voter participation history for each voter, VoteCal must be able to produce an extract in multiple related tab-delimited text files that includes the following files/data:
  • Voter registration data (all fields identified in S26.4); and
  • Voting participation history, including each relevant election in which each selected voter has voted and the method of voting (i.e., vote-by-mail, early or in-person).
The extracted files must include key data fields to appropriately relate/join the data in each file, so that the extracts can be imported into a relational database.
S26.6 In fulfillment of a PVRDR that requests inclusion of voter political district assignment for each voter, VoteCal must be able to produce a extract in multiple related tab-delimited text files that includes the following files/data:
  • Voter registration data (all fields identified in S26.4); and
  • Political districts to which each voter is assigned.
The extracted files must include key data fields to appropriately relate/join the data in each file, so that the extracts can be imported into a relational database.
S26.7 VoteCal must include the ability for authorized SOS administrators to insert one or more fictional registration records into each PVRDR extract to “salt” the data extract so that improper use of the data can be traced to the particular PVRDR data release.
S26.8 VoteCal must provide the ability to record the salted record(s) associated with each PVRDR.
S27.1 VoteCal must provide authorized SOS administrators and authorized county users with a method to select voter registration records for inclusion or exclusion in a Jury Wheel extract based on multiple filtering criteria, with the ability to specify a range or list where applicable, including:
  • County of residence;
  • City of residence; and
  • Political district/jurisdiction (such as Congressional District, State Assembly District; County Supervisory District; local school district, etc.).
S27.2 VoteCal must be able to further select records based on a formula that starts with the Nth record and selects every Mth record thereafter, where “N” and “M” are variables provided by the applicant (e.g., select every 39th record after record #17).
Description: / The purpose of this use case is to describe the process when the system generates the file extracts specified by a Public Voter Registration Data Request (PVRDR) at a scheduled time. The process of entering a PVRDR request into the system is described by other use cases. (Jury Wheel Extracts are handled as PVRDR extracts.)
Actors: / VoteCal Job Processing Service (JS)
Trigger: / System initiates the use case when a PVRDR extract has been scheduled for generation.The entry and scheduling of a PVRDR extract is described by 06.06.04 Schedule PVRDR/Jury Wheel ExtractUC06.06.01 Enter PVRDR/Jury Wheel Extract Request for Organization.[BMc2]
System: / VoteCal Application
Preconditions: /
  • A PVRDR extract Job has been successfully scheduled for an approved PVRDR request.
  • All global preconditions apply.

Post conditions: /
  • A set of file extracts will be generated according to the criteria specified by the PVRDR being processed. The file names and locations will be stored in PVRDR File Set records.
  • If any PVRDR Salt Records were associated to the extract, the appropriate PVRDR Salt Record Mappings will be created.
  • Organization Transaction History records will be created, storing information about the PVRDR being scheduled and then subsequently generated, and will include an audit trail of the users who initiated the actions.
  • All global post conditions apply.

Normal Flow: /
  1. PJS executes the PVRDRextract process at the scheduled time.
  2. A set of file extracts will be generated according to the criteria and format specified by the PVRDR being processed.
  3. The system will generate the data set based on criteria such as counties, city, political party, language preference, etc.
  4. Optionally, if Start Record Number (N) and Skip Record Interval (M) are specified in the PVRDRrequest (for Jury Wheels), then the extract produced creates a subset based on the N and M numbers.
  5. The fields and formats used for the extract will be based on what isthe selected format (short or long)[BMc3]specified in the PVRDR request. These include options such as whether voting history or jurisdiction information will be part of the extract.If the extract specifications require either voter participation history or political district information, then these data sets will also be generated as separate related files.
  6. If any PVRDR Salt Records were associated to the extract, the appropriate PVRDR Salt Record Mappings will be created. The position the salt records will be inserted in is based on the default sort order of the extract.
  7. System stores the generated files in a location specified by configuration settings, and saves the file names and locations on PVRDR File Set records.
  8. Organization Transaction History records will be created, storing information about the PVRDR being generated, and will include an audit trail of the users who initiated the actions.
  9. System sets the status of the PVRDR extract as “CompletedGenerated”.[BMc4]

Alternative Flows: / N/A
Exceptions: / N/A
Includes: / N/A
Frequency of Use: / TBD. Expected to occur more frequently during election years.
Business Rules: / N/A
Assumptions: /
  • There is currently a CALVOTER Voter Registration Data Extract File Format document provided to requestors of the PVRDR’s and Jury Wheel Extracts. This specifies the field lengths and types of the data in the PVRDR extracts. The PVRDR process as it exists today only provides a limited number of extract formats – Long, Short, with or without Voter History Data. We may need to support the existing extract formats, as discussed during the Requirements Validation Sessions.[BMc5]
  • Jury Wheel Extracts are handled through the same PVRDR process.

Notes and Issues: / N/A

Revision History

Date / Document
Version / Document Revision
Description / Revision Author
12/30/2009 / 0.1 / Initial Draft / Victor Vergara
01/21/2010 / 0.2 / Document Revisions / Victor Vergara
01/21/2010 / 1.0 / Minor edits and release to client. / Maureen Lyon
02/02/2010 / 1.1 / Incorporate Client Feedback / Victor Vergara
02/03/2010 / 1.2 / Submit to client for review / Maureen Lyon
02/15/2010 / 1.3 / Incorporate Client Feedback; Reworked PVRDR’s to “workflow” model / Victor Vergara
03/17/2010 / 1.4 / Incorporate Client Feedback from QA Checklist / Kimanh Nguyen
03/19/2010 / 1.5 / QA and Release to Client for Review / Don Westfall
04/06/2010 / 1.6 / Update with client feedback / Kimanh Nguyen
mm/dd/yyyy / 2.0 / Submit to Client for Review (Deliverable 2.3 Draft) / {Name}
mm/dd/yyyy / 2.1 / Incorporate Client Feedback / {Name}
mm/dd/yyyy / 2.2 / Submit to Client for Approval (Deliverable 2.3 Final) / {Name}
03/1904/06/2010
Version: 1.65 / Page 1

[BMc1]Suggest deleting as not directly relevant to this UC (generation of the actual data set)

KN: Accepted

[BMc2]Will most likely need to update this reference if UC06.06.01 is split into multiple UCs as requested.

KN: Accepted.

[BMc3]See step 38 in UC06.06.01

KN: Accepted text changes here.

[BMc4]I wouldn’t call it completed until the final extract has been delivered to the applicant.

KN: Accepted.

[BMc5]Note that the the VC requirements (S26.5 & S26.6) specify that voter participation history and political district data be provided in separate files. This is different than the current CV system.

KN: Accepted text changes in the Normal Flow