March 2020
The following is an excerpt from the SP 1500-100 V2 specification. It contains the specification’s executive summary and class documentation.
The complete publication including JSON and XML schemas is available free of charge from:
https://github.com/usnistgov/ElectionResultsReporting
This publication presents a common data format (CDF) for pre-election setup information and post-election results reporting. The format, known as the Election Results Common Data Format Specification Version 2.0, is comprehensive and detailed in its coverage of election results-related data and at the same time very flexible, able to accommodate election scenarios used throughout the United States. This publication describes:
a UML (Unified Modeling Language) model,
derived XML (eXtensible Markup Language) and JSON (JavaScript Object Notation) schemas,
usage information and guidance, and
background information.
This specification provides a common data interchange format for election data used in voting systems across U.S. jurisdictions. Using this specification, pre-election and post-election data can be published in a common, well-understood format. The format accommodates highly detailed election results data and is sufficiently flexible to accommodate many different types of contests and political structures.
This specification provides manufacturers of election management systems (EMS) and managers of election jurisdictions with standard methods for importing and exporting election data, thereby increasing interoperability among election devices and reducing the need to create software to translate between proprietary formats. Interoperable data will reduce costs to election jurisdictions by reducing the complexity in election management and offering jurisdictions more choice in election equipment.
This specification is geared towards the following audiences:
Election officials
Voting equipment manufacturers
Election-affiliated organizations and
Election analysts and the general public
The format accommodates three different election scenarios:
Pre-election. The period prior to an election, for reporting pre-election data from a jurisdiction but not yet complete information about any election.
Election. The period during which an election is being conducted and election results reports are produced. The reports include aggregated results data or more detailed, precinct-level reporting, depending on the capabilities of the reporting jurisdiction.
Post-election. The period after the polls close when more detailed election results reports are produced with options for precinct reporting, type of ballot, and type of device.
The XML and JSON schemas associated with this specification are derived from the UML model, which defines the types, structure, and interrelationships of geopolitical geography across the United States. The model was designed to accommodate multiple types of contests and their many variations. It also provides the capability to report on these contests from higher aggregate levels down to very fine levels of detail, including:
reporting by precincts and split precincts;
reporting by ballot type, for example, absentee and election day; and
reporting by device type and specific voting device.
The UML model can be re-used and modified to meet the needs of other planned common data format specifications for voting devices such as electronic pollbooks and ballot marking devices.
This document is a version 2.0 revision to the NIST Special Publication 1500-100, Election Results Common Data Format Specification, Version 1. Changes were made to the version 1 UML model to add additional information and make the model easier to implement and use. Additionally, the XML schema was updated accordingly and a new JSON schema was generated.
Enumeration for types of ballot measures in the BallotMeasureContest element.
Name | Value |
---|---|
ballot-measure |
For reports that contain only aggregated counts. |
initiative |
For an initiative. |
recall |
For a recall. |
referendum |
For a referendum. |
other |
Used when the type of ballot measure is not included in this enumeration. |
Enumeration for various post-election statuses applicable to a candidate in the Candidate element.
Name | Value |
---|---|
advanced-to-runoff |
For candidates who have advanced to a runoff. |
defeated |
Used for candidates who were defeated in the election. |
projected-winner |
For a projected contest winner. |
winner |
For the official contest winner or one of “n” contest winners for n-of-m voting. |
withdrawn |
For candidates who have withdrawn from the contest. |
Enumeration for various pre-election statuses applicable to a candidate in the Candidate class.
Name | Value |
---|---|
filed |
For candidates who have filed with the election authority but not necessarily qualified. |
qualified |
For candidates who are qualified by the election authority to be on the ballot for a contest. |
withdrawn |
For candidates who have withdrawn from the contest. |
Enumeration for various counting-related statuses for types of ballots or write-ins, used in the CountStatus class.
Name | Value |
---|---|
completed |
For counts that are complete. |
in-process |
For counts that are in process. |
not-processed |
When the counting has not started or is not underway. |
unknown |
When the status of the counting is unknown. |
Enumeration for the items that are counted during the course of an election and for which the status of the counts is of interest. Used in the Counts and CountStatus classes.
Name | Value |
---|---|
absentee |
For any/all classes of absentee, generally when absentee is not broken out into specific classes. |
absentee-fwab |
A type of absentee; for Federal Write-in Absentee Ballots. |
absentee-in-person |
A class of absentee; for absentee ballots cast in-person, e.g., at a county office. |
absentee-mail |
A class of absentee; for postal mail absentee ballots separately. |
early |
For ballots cast during early voting periods. |
election-day |
For ballots cast on election day. |
provisional |
For challenged ballots. |
seats |
For legislative balance-of-power results information. |
total |
Total of all ballots cast regardless of voting class. |
uocava |
A class of absentee; for absentee ballots from Uniformed and Overseas Citizens Absentee Voting Act (UOCAVA) voters. |
write-in |
For write-ins on ballots. |
other |
Used when the type of counting item is not included in this enumeration. |
Enumeration for the day(s) in a schedule in the Schedule element.
Name | Value |
---|---|
all |
Used for all days of the week. |
sunday |
Used if day of week is Sunday. |
monday |
Used if day of week is Monday. |
tuesday |
Used if day of week is Tuesday. |
wednesday |
Used if day of week is Wednesday. |
thursday |
Used if day of week is Thursday. |
friday |
Used if day of week is Friday. |
saturday |
Used if day of week is Saturday. |
weekday |
Used for any day of the week. |
weekend |
Used for both Saturday and Sunday. |
Enumeration for the type of device in the DeviceClass class.
Name | Value |
---|---|
bmd |
For ballots prepared on ballot marking devices and then scanned. |
dre |
For DRE (Direct Record Electronic) and other all-electronic devices. |
manual-count |
For hand-counted paper ballots. |
opscan-central |
For an optical scanner used at a central office with no opportunity for voter correction of mistakes. |
opscan-precinct |
For an optical scanner used at a precinct or other location where voter correction of mistakes such as overvotes is possible. |
unknown |
Used when the type of device is unknown. |
other |
Used when the device type is not listed in this enumeration. |
Enumeration for the type of election in the ElectionReport class.
Name | Value |
---|---|
general |
Election in which all eligible voters, regardless of party affiliation, are permitted to select candidates to fill public office and/or vote on ballot measures. |
partisan-primary-closed |
Primary election in which the voter receives a ballot containing only those party-specific contests pertaining to the political party with which the voter is affiliated, along with non-party-specific contests presented at the same election. Unaffiliated voters may be permitted to vote only on non-party-specific contests. |
partisan-primary-open |
Primary election in which the voter may choose a political party at the time of voting and vote in party-specific contests associated with that party, along with non-party-specific contests presented at the same election. Some states require voters to publicly declare their choice of party at the polling place, after which the election worker provides or activates the appropriate ballot. Other states allow the voters to make their choice of party within the privacy of the voting booth. |
primary |
Election held to determine which candidates qualify to appear as contest options in subsequent elections. |
runoff |
Election to select a winner following a primary or a general election, in which no candidate in the contest received the required minimum percentage of the votes cast. The two candidates receiving the most votes for the contest in question proceed to a runoff election. |
special |
Primary or general election that is not regularly scheduled. A special election may be combined with a scheduled election. |
other |
Used when the election type is not listed in this enumeration. |
Enumeration for geospatial vector data formats used in Geographic Information System (GIS) software, used in the SpatialExtent class.
Name | Value |
---|---|
geo-json |
For GeoJSON open standard format. |
gml |
For Geography Markup Language format. |
kml |
For Keyhole Markup Language format. |
shp |
For the shape file format associated with Esri. |
wkt |
For Well-known Text format. |
Enumeration for election data-related codes in the ExternalIdentifier class .
Name | Value |
---|---|
fips |
For FIPS codes. |
local-level |
For a code that is specific to a county or other similar locality. |
national-level |
For a code that is used at the national level other than “fips” or “ocd-id”. |
ocd-id |
For Open Civic Data identifiers. |
state-level |
For a code that is specific to a state. |
other |
Used when the type of code is not included in this enumeration. |
Enumeration for the office term type in the Office class.
Name | Value |
---|---|
full-term |
When the officeholder’s term began at the beginning of the full term of the office, e.g., 6 years for U.S. Senate. |
unexpired-term |
When the officeholder’s term began at some date after the beginning of the full term of the office, generally because the previous officeholder vacated the office before the fullterm expired. |
Enumeration for the detail level of the election results report in the Election class.
Name | Value |
---|---|
precinct-level |
For reports that contain counts from precincts in the reporting jurisdiction. |
summary-contest |
For reports that contain only aggregated counts. |
Enumeration for the type of geopolitical unit in the ReportingUnit class.
Name | Value |
---|---|
ballot-batch |
Used for reporting batches of ballots that may cross precinct boundaries. |
ballot-style-area |
Used for ballot style areas generally composed of precincts. |
borough |
Used in CT, NJ, PA, other states, and New York City for boroughs. For AK and LA, see county. |
city |
Used for a city that reports results and/or for the district that encompasses it. |
city-council |
Used for city council districts. |
combined-precinct |
Used for one or more precincts that have been combined for the purposes of reporting. Used for “Ward” if “Ward” is used interchangeably with “CombinedPrecinct”. |
congressional |
Used for U.S. Congressional districts. |
country |
Used for a reporting unit of type country. |
county |
Used for a county and/or for the district that encompasses it. In AK, used for counties that are called boroughs. In LA, used for parishes. |
county-council |
Used for county council districts. |
drop-box |
Used for a dropbox for absentee ballots. |
judicial |
Used for judicial districts. |
municipality |
Used as applicable for various units such as towns, townships, villages that report votes and/or for the district that encompasses it. |
polling-place |
Used for a polling place. |
precinct |
Used also for “Ward” or “District” when these terms are used interchangeably with “Precinct”. |
school |
Used for a school district. |
special |
Used for a special district. |
split-precinct |
Used for splits of precincts. |
state |
Used for a state and/or for the district that encompasses it. |
state-house |
Used for a state house or assembly district. |
state-senate |
Used for a state senate district. |
town |
Used in some New England states as a type of municipality that reports votes and/or for the district that encompasses it. |
township |
Used in some mid-western states as a type of municipality that reports votes and/or for the district that encompasses it. |
utility |
Used for a utility district. |
village |
Used as a type of municipality that reports votes and/or for the district that encompasses it. |
vote-center |
Used for a vote center. |
ward |
Used for combinations or groupings of precincts or other units. |
water |
Used for a water district. |
other |
Used for other types of reporting units not included in this enumeration. |
Enumeration for the status of the election results in the ElectionReport class.
Name | Value |
---|---|
certified |
For results that have been certified by the election authority. |
correction |
For results that are a correction to an earlier report. |
pre-election |
For a pre-election data. |
recount |
For results that are a recount of an earlier election. |
unofficial-complete |
For results that are unofficial and complete, e.g., the complete election night results. |
unofficial-partial |
For results that are unofficial and partial, e.g., partial election night results. |
Enumeration for contest decision algorithm or rules in the Contest element.
Name | Value |
---|---|
approval |
When voter can select as many candidates as desired in a contest up to a maximum number. |
borda |
For the Borda count voting. |
cumulative |
When voter can allocate more than one vote to a given candidate. |
majority |
For majority voting. |
n-of-m |
Includes vote for 1, i.e., 1-of-m. |
plurality |
For plurality voting. |
proportional |
For proportional voting. |
range |
For range voting. |
rcv |
For ranked choice voting. |
super-majority |
For super majority voting. |
other |
Used when the vote variation type is not included in this enumeration. |
Used as a type for character strings; it adds a 16-character annotation to a character string.
Attribute | Multiplicity | Type | Attribute Description |
---|---|---|---|
Annotation |
0..1 | ShortString |
An annotation of up to 16 characters associated with a character string. |
Content |
1 | String |
The string to be annotated. |
Used as a type for character strings that represent Uniform Resource Identifiers (URI); it adds a 16-character annotation to a character string.
Attribute | Multiplicity | Type | Attribute Description |
---|---|---|---|
Annotation |
0..1 | ShortString |
An annotation of up to 16 characters associated with a character string. |
Content |
1 | anyURI |
The URI to be annotated. |
Used for identifying various ballot counts. It inherits the attributes of Counts.
For ballot measure (i.e., referenda or a tax measure) and judicial retention contests. It inherits the attributes of Contest.
If the type of ballot measure is not listed in enumeration BallotMeasureType, use other and include the type (that is not listed in the enumeration) in OtherType.
For a contest selection in a ballot measure contest. Because judicial or other retention contests are often treated like ballot measure contests, this element can be used also for retention contests. It inherits the attributes of ContestSelection.
For defining a ballot style composed of ordered content (i.e. Headers or Contests) and their contest selections, and associating the ballot style with a political party, a reference to an image of the ballot, and a reference to a precinct or other geopolitical unit that the ballot is unique to. Election includes BallotStyle. BallotStyle references OrderedContent to include content that appears on that ballot style. To preserve any rotation associated with the ballot, it is expected that the generating application will list the occurrences of OrderedContest in the order as on the ballot for the associated geopolitical unit. BallotStyle references one or more GpUnit instances defined for the associated precincts or split precincts. If the ballot style is associated with multiple precincts (or other geographies), multiple references to the precinct GpUnit instances can be included.
For defining information about a candidate in a contest. CandidateSelection references Candidate instances to associate one or more candidates with a contest selection. Election includes Candidate.
Candidate uses the Party association to reference the candidate’s political party. If the candidate is endorsed by other parties for a particular contest, the endorsing parties are referenced using the CandidateSelection attribute.
ExternalIdentifier can be used to associate an ID with the candidate. If the type is not listed in enumeration IdentifierType, use other and include the type (that is not listed in the enumeration) in OtherType.
For a contest that involves selecting one or more candidates. It inherits the attributes of Contest.
This class optionally references Office and Party. If the candidate contest is associated with a ticket (of candidates) and each candidate in the ticket is associated with a separate office, the association to Office can reference each of the separate offices. For example, if the contest is for the state governor ticket but Governor and Lieutenant (Lt.) Governor are both separate offices, the association references first to the Office instance defined for the Governor’s office and then to the Lt. Governor’s office. In this case, it is expected that the generating application will list the multiple references according to a jurisdiction-defined ordering scheme, e.g., Governor first and Lt. Governor second.
Note that when using the CandidateSelection class to associate the candidates with a contest selection for the contest, the order of the candidates should match the order of offices. Again, using the example of the state governor ticket, if the offices are listed with Governor first and Lt. Governor second, then the order of the candidates in the ContestSelection instance should be identical, with the Governor candidate first and the Lt. Governor candidate second.
For the contest selections in a candidate contest, including for write-ins. It inherits the attributes of ContestSelection. References to multiple Candidate instances can be included if necessary, e.g., when the contest selection would be for a ticket of candidates (unless the ticket itself is defined as a candidate).
EndorsementParty is used to reference any associated endorsement parties other than the specific party of the candidate (Candidate references Party for that purpose). For example, if a candidate of one party is also endorsed by a second party, use EndorsementParty to reference the second party. A second example would be for ballot fusion as used in some states, where the same candidate is listed multiple times in the same contest, but with different endorsement parties.
When multiple candidates are referenced for a ticket and the ordering of the candidates is important to preserve, it is expected that the generating application will list the references to Candidate instances according to the ordering scheme in place. For example, if the contest is for a ticket in which each candidate is associated with a different office, then the order of the candidates should match the same ordering of the
For defining a coalition, i.e., a collection of parties organized for the purpose of endorsing a candidate in a contest. It inherits the attributes and elements of Party.
Coalition instances themselves are composed of multiple Party references along with a reference to an associated Contests.
If there are no associated Contests, a general default is that the coalition endorses the associated parties.
Attribute | Multiplicity | Type | Attribute Description |
---|---|---|---|
{Contest} |
0..* | Contest |
For associating contests with the coalition. |
{Party} |
0..* | Party |
For associating parties with the coalition. |
For defining contact information about objects such as persons, boards of authorities, organizations, etc. Election, ElectionAdministration, Person, GpUnit, and Office include ContactInformation.
To include an address for the contact, use multiple occurrences of AddressLine. It is expected that the generating application will list the name of the person/organization in the first occurrence of AddressLine, with subsequent ordered occurrences for street address, city, state, zip code, etc. Directions can be used to supply any additional address-related information that may appear in multiple languages.
ContactInformation includes LatLng so as to associate latitude/longitude with the contact address.
Email, Fax, and Phone are of type AnnotatedString, which permits up to a 16-character annotation to be associated with the data.
For defining a contest and linking the contest to the associated candidates, ballot measures, parties, or retention contests. Election includes Contest.
Contest is an abstract class with four subclasses that get used according to the type of contest:
*BallotMeasureContest, used for a contest involving a ballot measure *CandidateContest, used for a contest involving one or more candidates for an office *PartyContest, used for a contest for a straight party selection on the ballot *RetentionContest, used for a judicial or other type of retention contest
Contest includes ContestSelection to link the selections on the ballot to the contest, e.g., to link one or more candidates to a candidate contest. Like Contest, ContestSelection is also an abstract class and has subclasses that correspond to those of Contest, as follows:
*BallotMeasureContest includes BallotMeasureSelection *CandidateContest includes CandidateSelection *PartyContest includes PartySelection *RetentionContest includes BallotMeasureSelection
Contest includes a required ElectionDistrict reference to a GpUnit defined for the geographical scope of the contest. For example, in a state senate contest, ElectionDistrict would reference a GpUnit of type ReportingUnit element defined for the district associated with the contest. Office also includes an optional reference that serves the same purpose. Note that for contests that are state-wide or county-wide and so forth, the same GpUnit defined for the state or county, etc., can be re-used. Contest includes OtherCounts for providing a summary of miscellaneous counts associated with the contest, including total number of ballots cast containing the contest, total number of overvotes, undervotes, or write-ins. The summary counts can be associated with the contest as a whole, or with precincts or other lower-level reporting units by using multiple occurrences of OtherCounts. SequenceOrder is used for results display ordering, i.e., to display contests according to a particular ordering. For example, “100” may indicate a U.S. Senatorial contest, “200” may indicate a U.S. Congressional contest, etc. SequenceOrder is not appropriate to use as the contest order on the ballot; contest order on each ballot can be preserved, however, using the BallotStyle element, which associates ballot styles with their corresponding precincts or other geopolitical units. When including ExternalIdentifiers, if the type is not listed in enumeration IdentifierType, use other and include the type (that is not listed in the enumeration) in OtherType.
Attribute | Multiplicity | Type | Attribute Description |
---|---|---|---|
Abbreviation |
0..1 | String |
Abbreviation for the contest. |
BallotSubTitle |
0..1 | InternationalizedText |
Subtitle of the contest as it appears on the ballot. |
BallotTitle |
0..1 | InternationalizedText |
Title of the contest as it appears on the ballot. |
{ContestSelection} |
0..* | ContestSelection |
For associating a contest selection for the contest, i.e., a candidate, a ballot measure. |
{OtherCounts} |
0..* | OtherCounts |
For associating counts such as overvote and undervotes with the contest. |
CountStatus |
0..* | CountStatus |
For providing various counting status associated with the contest. |
{ElectionDistrict} |
1 | ReportingUnit |
Link to a GpUnit instance. For associating the contest with a reporting unit that represents the geographical scope of the contest, e.g., a district, etc. |
ExternalIdentifier |
0..* | ExternalIdentifier |
For associating an ID with the contest. |
HasRotation |
0..1 | Boolean |
Boolean to indicate whether the selections in the contest are rotated. Assumed to be “no” if not present. |
Name |
1 | RichText |
Name of the contest, not necessarily as it appears on the ballot. |
SequenceOrder |
0..1 | Integer |
Orderering for listing the contest for purposes of results display. If not present, no order is assumed. |
SubUnitsReported |
0..1 | Integer |
Number of subunits, e.g., precincts, that have completed reporting votes for this contest. |
TotalSubUnits |
0..1 | Integer |
Total number of subunits, e.g., precincts that have this contest on the ballot. |
VoteVariation |
0..1 | VoteVariation |
Vote variation associated with the contest, e.g., n-of-m. |
OtherVoteVariation |
0..1 | String |
For use when VoteVariation is other. |
Used for the contest selections in a contest (e.g., for candidates, for ballot measures) and to generally link them to vote counts. Contest includes ContestSelection.
ContestSelection is an abstract class with three subclasses that get used according to the type of contest:
*BallotMeasureSelection, used if the contest type is for a ballot measure, including for retentions *CandidateSelection, used if the contest type is for one or more candidates, to link the contest selection to the candidate instances and endorsement parties; and *PartySelection, used if the contest type is for a party, e.g., for a straight party contest. ContestSelection includes VoteCounts for associating vote counts with the contest selection. *SequenceOrder is included to specify an ordering for the contest selections for purposes of display only. The original ballot ordering can be preserved, however, by using the BallotStyle class.
Used for reporting on contest vote counts. Contains attributes to categorize the counts according to voting classification (e.g., election day, early voting, etc.) and type of device on which the votes were cast (e.g., DRE, accessible device, etc.).
For reporting on the counting status for various items such as ballot types or write-ins, e.g., whether for a certain type of ballot, the counts are in progress, not yet started, complete, etc. Contest, Election, and GpUnit include CountStatus.
If the type of count item is not listed in enumeration CountItemType, use other and include the type (that is not listed in the enumeration) in OtherType.
Attribute | Multiplicity | Type | Attribute Description |
---|---|---|---|
Status |
1 | CountItemStatus |
The status of the count, from the CountItemStatus enumeration. |
Type |
1 | CountItemType |
The type of item, from the CountItemType enumeration. |
OtherType |
0..1 | String |
Used when Type is other. |
Restricts dateTime to require inclusion of time zone information and excludes fractional seconds.
Attribute | Multiplicity | Type | Attribute Description |
---|---|---|---|
pattern |
String |
Pattern used for indicating the date, time and the accompanying time zone. |
For filtering vote counts by device-related information. GpUnit, Counts, and OtherCounts include DeviceClass.
For defining the status of the election and associated information such as candidates, contests, and vote counts.
Election includes links to the major instances that are specific to an election: BallotStyle, Candidate, and Contest.
Election includes a required association end ElectionScope, which links to a GpUnit instance for the purpose of identifying the geographical scope of the election. For example, for an election within a county, ElectionScope would reference a GpUnit defined for the county. If it is desired to include election authority information, the GpUnit can include ElectionAdministration.
Attribute | Multiplicity | Type | Attribute Description |
---|---|---|---|
{BallotCounts} |
0..* | BallotCounts |
Used for identifying various ballot counts. |
{BallotStyle} |
0..* | BallotStyle |
For defining ballot styles associated with the election. |
{Candidate} |
0..* | Candidate |
For defining candidates associated with the election. |
{ContactInformation} |
0..1 | ContactInformation |
For associating various contact information with the election. |
{Contest} |
0..* | Contest |
For defining contests associated with the election. |
CountStatus |
0..* | CountStatus |
For providing various counting status on types of ballots or other items. |
{ElectionScope} |
1 | ReportingUnit |
Unique identifier for a GpUnit element. For associating the election with a reporting unit that represents the geographical scope of the election, e.g., a state, a county, etc. |
ExternalIdentifier |
0..* | ExternalIdentifier |
For associating an ID with the election. |
Name |
1 | InternationalizedText |
For including a name for the election; the name could be the same name as appears on the ballot. |
StartDate |
1 | date |
Calendar start date of the election, e.g., “2018-11-04”. |
EndDate |
1 | date |
Calendar end date of the election; for a typical one-day election, the end date is the same as the start date. |
Type |
1 | ElectionType |
Enumerated type of election, e.g., partisan-primary, open-primary, etc. |
OtherType |
0..1 | String |
Used when Type is other. |
Used to provide various information about an election authority. ReportingUnit includes ElectionAdministration.
ElectionAdministration includes ContactInformation for the election authority and, using ElectionOfficialPerson references one or more Person instances defined for individuals/organizations associated with the election authority.
For defining items pertaining to the status and format of the report and when it was generated.
ElectionReport references the major elements that are not necessarily specific to an election and that therefore can exist in a pre-election report: GpUnit, Office and OfficeGroup, Party, Person, and Election.
For associating a jurisdiction’s codes, i.e., identifiers, with objects such as candidates, offices, or geopolitical units such as counties, towns, precincts, etc. Multiple occurrences of the ExternalIdentifier sub-element can be used to associate multiple codes, e.g., if there is a desire to associate multiple codes with a particular object such as FIPS (Federal Information Processing Standard) codes as well as OCD-IDs (Open Civic Data Identifiers).
For elements that link to ExternalIdentifier instances, if the type is not listed in enumeration IdentifierType, use other and include the type (that is not listed in the enumeration) in OtherType.
Attribute | Multiplicity | Type | Attribute Description |
---|---|---|---|
Label |
0..1 | String |
For use as needed and compatibility with the VIP schema. |
Type |
1 | IdentifierType |
An identifier type, e.g., FIPS. |
OtherType |
0..1 | String |
Used when IdentifierType value is other. |
Value |
1 | String |
The identifier used by the jurisdiction. |
Class for describing a geo-politically bounded area of geography such as a city, district, or jurisdiction, or a precinct or split-precinct, or specific vote-capture device, for the purpose of associating contest vote counts and ballot counts (and other information) with the reporting unit. Reporting units can link to each other to form a hierarchicallly-oriented model of a state’s (or a county’s, etc.) jurisdictions, districts, and precincts.
GpUnit is an abstract class with two subclasses that get used according to the type of unit:
*ReportingDevice, used for associating vote counts with a specific vote-capture device *ReportingUnit, for associating vote counts with geopolitical units such as cities, districts, counties, precincts, etc.
Election and Contest contain a required reference to GpUnit representing the jurisdiction of the election or contest respectively; Office contains a similar reference that is optional. OtherCounts and VoteCounts reference GpUnit to link vote or summary counts to GpUnit instances defined for precincts or other types of geopolitical units. BallotStyle references GpUnit to link a ballot style to its corresponding geopolitical unit.
For defining a reusable set of headers.
Hours is used to specify a specific day and hours on that day, including the time zone. Multiple occurrences of Hours can be used if the schedule includes a range of days and hours.
For a string containing a 6-digit Red-Green-Blue (RGB) code that can be displayed using HTML. Used in Party to associate a web-displayable color with the party. The RGB code is specified in hexadecimal, such that the RGB code for the color green is “00FF00” (“#00” + “#FF” + “#00”).
Attribute | Multiplicity | Type | Attribute Description |
---|---|---|---|
pattern |
String |
Pattern used for indicating the RGB color to use. |
For strings that can contain multi-national text, for use with text as shown on a ballot containing multi-national text. The Identifier attribute can be used to assign an identifier to the text as desired.
Text uses the xsd:language type such that its language attribute must be set to a value that identifies the language.
Values for language are from ISO 639 [12] and include:
*en – English *en-US – U.S. English *en-GB – U.K. English *fr – French *es – Spanish *zh – Chinese *ja – Japanese *ko – Korean
Used to hold a string of text with an associated table indicating the language used.
Attribute | Multiplicity | Type | Attribute Description |
---|---|---|---|
Content |
1 | String |
The string in the specified language. |
Language |
1 | language |
Identification of the language, such as ‘es’. |
Associates latitude/longitude with a contact address.
For defining an office and information associated with a contest and/or a district. ElectionReport includes Office. CandidateContest and RetentionContest reference Office.
Office includes Term for defining details about the term of an office such as start/end dates and the type of term. OfficeGroup is included from ElectionReport to assign a name to a grouping of office definitions.
Office includes an optional ElectionDistrict reference to a GpUnit for the purpose of identifying the geographical scope of the office. For example, for an office for a state senate seat, ElectionDistrict would include a reference to the GpUnit defined for the district associated with that office.
Attribute | Multiplicity | Type | Attribute Description |
---|---|---|---|
{ContactInformation} |
0..1 | ContactInformation |
For associating various contact information with the office. |
Description |
0..1 | InternationalizedText |
A description of the office, possibly as shown on the ballot to the voter. |
{ElectionDistrict} |
0..1 | ReportingUnit |
Link to a GpUnit instance. For associating the office with a reporting unit that represents the geographical scope of the contest, e.g., a district, etc. |
ExternalIdentifier |
0..* | ExternalIdentifier |
For associating an ID with the office. |
FilingDeadline |
0..1 | date |
Date and time when a candidate must have filed for the contest for the office. |
IsPartisan |
0..1 | Boolean |
Boolean to indicate whether the office is partisan, e.g., true or false. If not present, assumption is true. |
Name |
1 | InternationalizedText |
Name of the office; can appear on the ballot. |
{OfficeHolderPerson} |
0..* | Person |
Links to one or more Person instances defined for the office holder. |
{Term} |
0..1 | Term |
For including office term-related information. |
Used to assign a name to a grouping of office definitions. It includes references to Office instances and a name to identify the grouping of references, e.g., “Judicial” or “Statewide”, etc. SubOfficeGroup can be used to create a nested hierarchy of groupings. ElectionReport includes OfficeGroup.
Attribute | Multiplicity | Type | Attribute Description |
---|---|---|---|
Label |
0..1 | String |
For use as needed and compatibility with the VIP schema. |
Name |
1 | String |
Name of the office grouping. |
{Office} |
0..* | Office |
Link to one or more Office instances. |
{SubOfficeGroup} |
0..* | OfficeGroup |
For defining a nested hierarchy of Office instance groupings. |
An abstract base class for content that can appear under a particular ballot style.
OrderedContent is an abstract class with two subclasses that get used according to the type of content:
*OrderedContest, used for the appearance of a contest. *OrderedHeader, used for the appearance of a header, optionally with the inclusion of contests.
For the appearance of a contest on a particular ballot style.
For the appearance of a header on a particular ballot style.
Identifies other counts associated with a contest.
Used to describe a political party that can then be referenced in other elements. ElectionReport includes Party. Candidate, PartyContest, PartyRegistration, and Person reference Party.
Party is an abstract type with one subtype Coalition, used to define coalitions.
The Color attribute specifies a 6-digit RGB code displayable using HTML.
For a contest that involves choosing a party, typically for a straight party selection on the ballot.
For tracking the number of registered voters per party per geopolitical unit, i.e., for reporting on the number of registered voters of a particular party in a district or other type of reporting unit. Referenced by GpUnit.
Attribute | Multiplicity | Type | Attribute Description |
---|---|---|---|
Count |
1 | Integer |
A count for tracking the number of registered voters. |
{Party} |
1 | Party |
Link to a Party instance. For associating a political party. |
For a contest selection involving a party such as for a straight party selection on the ballot. It inherits the attributes of ContestSelection.
Attribute | Multiplicity | Type | Attribute Description |
---|---|---|---|
{Party} |
1..* | Party |
Link to one or more Party instances. For associating one or more parties with the party selection. |
For defining information about a person; the person may be a candidate, election official, authority for a reporting unit, etc. ElectionReport includes Person. Candidate and ElectionAdministration and GpUnit references Person. Person optionally references ContactInformation for associating contact information.
Multiple occurrences of the MiddleName attribute can be used as needed, e.g., for names such as “John Andrew Winston Smith”.
Attribute | Multiplicity | Type | Attribute Description |
---|---|---|---|
{ContactInformation} |
0..* | ContactInformation |
For associating contact information with the person. |
DateOfBirth |
0..1 | date |
Person’s date of birth. |
ExternalIdentifier |
0..* | ExternalIdentifier |
For associating codes with the person. |
FirstName |
0..1 | RichText |
Person’s first (given) name. |
FullName |
0..1 | InternationalizedText |
Person’s full name. |
Gender |
0..1 | RichText |
Person’s gender. |
LastName |
0..1 | RichText |
Person’s last (family) name. |
MiddleName |
0..* | RichText |
Person’s middle name. |
Nickname |
0..1 | RichText |
Nickname associated with the person. |
{Party} |
0..1 | Party |
Links to a Party instance. For associating a political party with the person. |
Prefix |
0..1 | RichText |
A prefix associated with the person, e.g., Mr. |
Profession |
0..1 | InternationalizedText |
Person’s profession. |
Suffix |
0..1 | RichText |
A suffix associated with the person, e.g., Jr. |
Title |
0..1 | InternationalizedText |
A title associated with the person. |
Class/element describing a specific vote-capture device.
For defining a geopolitical unit such as state, county, township, precinct, etc., using the ReportingUnitType enumeration. It inherits the attributes of GpUnit.
This class optionally references Person to associate one or more individuals, e.g., authorities, for the reporting unit. It also includes ContactInformation to provide contact addresses for the reporting unit, such as an address of a vote center.
Election references this class so as to identify the geographical scope of the election. In this case, the GpUnit element defined for the scope of the election may include ElectionAdministration to include election authority-related information.
The Type attribute uses the ReportingUnitType enumeration to specify the type of geopolitical geography being defined. ReportingUnitType contains the most common types of geographies, e.g., state, county, precinct, and so forth. If the reporting unit type is not listed in enumeration ReportingUnitType, use other and include the reporting unit type (that is not listed in the enumeration) in OtherType.
The IsDistricted boolean can be used in a number of ways. It is not strictly necessary, as it is possible to identify districts by their Type attribute or by examining the Contest instance’s ElectionDistrict reference, which links to the election district associated with the contest. However, if a district is defined but is not linked from a contest, or if the type of district is not listed in the ReportingUnitType enumeration and therefore OtherType is used, then IsDistricted is necessary to identify the GpUnit as a district. The IsDistricted boolean can also be used to signify that a GpUnit defined as a jurisdiction, e.g., a county, is also used as a district for, e.g., county-wide contests.
Attribute | Multiplicity | Type | Attribute Description |
---|---|---|---|
{Authority} |
0..* | Person |
A link to one or more Person instances describing an authority responsible for the reporting unit. |
{ContactInformation} |
0..1 | ContactInformation |
For associating contact information with the reporting unit. |
CountStatus |
0..* | CountStatus |
For providing various counting status on types of ballots or other items. |
{ElectionAdministration} |
0..1 | ElectionAdministration |
For use when the reporting unit serves as the authority in the election. |
IsDistricted |
0..1 | Boolean |
Boolean to indicate whether the reporting unit is a district; assumed to be “false” if not present. |
IsMailOnly |
0..1 | Boolean |
Boolean to indicate whether the reporting unit handles only mail-in or absentee ballot elections, assumed to be “false” if not present. |
Number |
0..1 | String |
A number associated with the reporting unit; for compatibility with VIP. |
{PartyRegistration} |
0..* | PartyRegistration |
For associating a count of registered voters per party with the geopolitical unit. |
{SpatialDimension} |
0..1 | SpatialDimension |
For describing the reporting unit’s spatial extent (a polygon that shows the related area). |
SubUnitsReported |
0..1 | Integer |
Number of associated subunits such as precincts that have completed reporting. |
TotalSubUnits |
0..1 | Integer |
Total number of associated subunits such as precincts. |
Type |
1 | ReportingUnitType |
Enumerated type of reporting unit, e.g., state, county, district, precinct, etc. |
OtherType |
0..1 | String |
For use when ReportingUnitType value is other. |
VotersParticipated |
0..1 | Integer |
Number of voters who have participated in the election, i.e., shown up at the polls, including those who did not cast ballots. |
VotersRegistered |
0..1 | Integer |
Number of registered voters residing within the boundaries of the geopolitical unit. |
For judicial retention or other types of retention contests. Retention contests can be treated essentially as ballot measure contests, however this element differs from BallotMeasureContest in that it can include a reference to a candidate or the associated office.
This element uses BallotMeasureContest as a superclass. Therefore, it inherits the attributes of Contest as well as BallotMeasureContest.
Attribute | Multiplicity | Type | Attribute Description |
---|---|---|---|
{Candidate} |
1 | Candidate |
Link to a Candidate instance. For associating a candidate with the retention contest. |
{Office} |
0..1 | Office |
Link to an Office instance. For associating an office description with the retention contest. |
For defining a schedule associated with a particular election office or location. ContactInformation includes Schedule.
For defining a 32-character annotation, used with character strings in AnnotatedString.
Attribute | Multiplicity | Type | Attribute Description |
---|---|---|---|
maxLength |
Integer |
The maximum allowed length of a ShortString. |
For defining the spatial layout of a GpUnit, e.g., a map or a spatial extent (a polygon that shows the related area) for various purposes, including to visualize election results, to understand the composition of districts, or to determine whether GpUnit instances are properly related. GpUnit includes SpatialDimension.
Attribute | Multiplicity | Type | Attribute Description |
---|---|---|---|
MapUri |
0..* | AnnotatedUri |
Typically a URI to a map of the GpUnit. |
{SpatialExtent} |
0..1 | SpatialExtent |
For associating a GpUnit element’s spatial extent information. |
SpatialDimension includes SpatialExtent for defining a GpUnit instance’s spatial extent data and the format used for the spatial extent.
For describing information about an office term. Term is included by Office.
Restricts time to require inclusion of time zone information and excludes fractional seconds
Attribute | Multiplicity | Type | Attribute Description |
---|---|---|---|
pattern |
String |
Pattern used for indicating the time with the accompanying time zone. |
For reporting on vote counts for contest selections in a contest. VoteCounts includes Counts as an extension base and therefore inherits the elements from Counts, but it is included directly by ContestSelection.
Attribute | Multiplicity | Type | Attribute Description |
---|---|---|---|
Count |
1 | double |
Count of contest votes cast; can include a factional component in special cases. |