usnistgov / ElectionResultsReporting

Common data format specification for election results reporting data
https://pages.nist.gov/ElectionResultsReporting
Other
23 stars 8 forks source link

Ballot Designation Missing #9

Open carl3 opened 6 years ago

carl3 commented 6 years ago

I noticed the <Candidate> element doesn't have the ability to represent a ballot designation, i.e. a label shown with the candidate name on ballots (other than party affiliation). Ballot designations allowed are determined by state law, typically an occupation. Note the ballot designation is not the same as an occupation stored with a personId-- that field shouldn't be used for that purpose. Ballot designations are specific to a candidate in a particular office-- the same person running for multiple offices can have different BallotName and BallotDesignation. It's sort of analogous to a subtitle.

I have seen contests (LA County) where 2 candidates had the same BallotName-- they could only be distinguished by the BallotDesignation. (!) Except in this case, BallotDesignation isn't required for results, but is required for other uses of <Candidate>, e.g. to display sample ballot info.

johnpwack commented 6 years ago

Carl, this sounds okay to me - what do others think?

JDziurlaj commented 6 years ago

I would like to see a real world example (a sample ballot would do, but sounds OK to add.

carl3 commented 6 years ago

You can see an example of ballot designations in this 2016 presidential election ballot. Presidential candidates have no designation, there are partisan offices with a party name as well as designation, and nonpartisan offices only with a designation. This is the default, engligh/spanish ballot (english-only is not an option in Santa Clara County, CA), so illustrates this is international text.

https://eservices.sccgov.org/rov/docs/sampleballot/110/SCLA_110816_ES_BT164.pdf

The text allowable is set by state law. You can see instructions in this worksheet candidates must file: http://elections.cdn.sos.ca.gov/ballot-designation-worksheet/ballot-designation-worksheet.pdf

JDziurlaj commented 6 years ago

@jdmgoogle, would this designation work as a replacement for Party::IsWriteIn? I think it serves mostly the same purpose.

jdmgoogle commented 6 years ago

A few things:

  1. This isn't associated with a Candidate this appears to be associated with a BallotSelection.
  2. The Profession element was actually specifically added at the request of California (LA County, perhaps?) for use in ballot designation. Just FYI.
  3. I think there's overlapping display treatment between Party::IsWriteIn and what Carl's describing, but trying to shoehorn a "write-in" party name into a ballot selection sub-title loses the context that the thing being written in is intended to represent party affiliation (however whimsical or tongue-in-cheek).

If the goal here is to describe text which can appear below a ballot selection, I propose that there be an element on BallotSelection called BallotSelectionSubTitle (or something similar). This indicates that it is associated with the selection (i.e., not a specific candidate) and is a visual treatment on that selection.

JDziurlaj commented 6 years ago

Regarding (2), if that is true then perhaps we can close this issue? I think describing the data (Profession) is better than stating where the data should be displayed (BallotSelectionSubTitle). I still have issues with Write-In Party, but that can be handled via a separate issue.

carl3 commented 6 years ago

The Person.Profession is a misuse of Candidate.BallotDesignation. It's incorrectly used by LA to shoehorn in the missing actual definition. The same person can be a candidate for 2 offices, and have separate ballot designations. The point of BallotDesignation is that it appears on ballots, and in some cases distinguishes between 2 candidates with the same name. A Person.Profession would be background information and no indication that it would appear on a ballot or that it is even significant.

It could be used as a BallotSelectionSubTitle, but I think the only use is with a candidate and is parallel to Candidate.BallotName. I've also seen a ballot designation shoehorned into BallotName using a \n separator.

BallotDesignation is not a substitute for PartyId or write-in status: Candidate.PreElectionStatus=="write-in" or CandidateSelection.IsWriteIn Each is independent of each other and needed.

Because the field is missing, xml writers either lose content, or insert it in different places with incorrect or ambiguous semantics.

jdmgoogle commented 6 years ago

The Person.Profession is a misuse of Candidate.BallotDesignation. It's incorrectly used by LA to shoehorn in the missing actual definition.

I'll let you and @kennethmbennett and @Josh-LACRRCC hash that out.

It could be used as a BallotSelectionSubTitle, but I think the only use is with a candidate and is parallel to Candidate.BallotName.

There can be multiple Candidate objects associated with a single CandidateSelection. Can there be multiple ballot designations per selection? If there is truly a 1:1 mapping between Candidate objects and the sub-text as opposed to a 1:1 mapping between sub-texts and CandidateSelection objects, then I propose we have a BallotSubTitle element on the Candidate object instead of the CandidateSelection object.

I would object to having this called BallotDesignation since that's only what it's called in California, and not a sufficiently generic term.

xml writers [will] insert it in different places with incorrect or ambiguous semantics.

In my experience that's true even if the field is present. :)