-
Notifications
You must be signed in to change notification settings - Fork 4
Member responses are inconsistent in the data they return #243
Description
Of the following endpoints:
- List of Members
- Get a Specific Member
- Get New Members
- Get Current Members by State/District
- Get Members Leaving Office
The data present for each member returned is not very consistent, with certain ommissions that don't seem to make too much sense. I'm not sure of the best way to communicate all of these discrepancies, but here's my attempt:
| field | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|
| first_name | ✔ | ✔ | ✔ | ✔ | ✔ |
| middle_name | ✔ | ✔ | ✔ | ✔ | ✔ |
| last_name | ✔ | ✔ | ✔ | ✔ | ✔ |
| suffix | ✔ | ✔ | ✔ | ✔ | ✔ |
| district | ✔ | ✳ | ✔ | ✔ | ✔ |
| id | ✔ | ⚠ | ✔ | ✔ | ✔ |
| party | ✔ | ⚠ | ✔ | ✔ | ✔ |
| api_uri | ✔ | ❌ | ✔ | ✔ | ✔ |
| gender | ✔ | ✔ | ❌ | ✔ | ❌ |
| state | ✔ | ✳ | ✔ | ❌ | ✔ |
| facebook_account | ✔ | ✔ | ❌ | ✔ | ❌ |
| twitter_account | ✔ | ✔ | ❌ | ⚠ | ❌ |
| youtube_account | ✔ | ✔ | ❌ | ⚠ | ❌ |
| date_of_birth | ✔ | ✔ | ❌ | ❌ | ❌ |
| last_updated | ✔ | ✔ | ❌ | ❌ | ❌ |
| govtrack_id | ✔ | ✔ | ❌ | ❌ | ❌ |
| cspan_id | ✔ | ✔ | ❌ | ❌ | ❌ |
| votesmart_id | ✔ | ✔ | ❌ | ❌ | ❌ |
| icpsr_id | ✔ | ✔ | ❌ | ❌ | ❌ |
| crp_id | ✔ | ✔ | ❌ | ❌ | ❌ |
| google_entity_id | ✔ | ✔ | ❌ | ❌ | ❌ |
| url | ✔ | ✔ | ❌ | ❌ | ❌ |
| rss_url | ✔ | ✔ | ❌ | ❌ | ❌ |
| in_office | ✔ | ✔ | ❌ | ❌ | ❌ |
| title | ✔ | ✳ | ❌ | ⚠ | ❌ |
| short_title | ✔ | ✳ | ❌ | ❌ | ❌ |
| leadership_role | ✔ | ✳ | ❌ | ❌ | ❌ |
| seniority | ✔ | ✳ | ❌ | ❌ | ❌ |
| contact_form | ✔ | ✳ | ❌ | ❌ | ❌ |
| fec_candidate_id | ✔ | ✳ | ❌ | ❌ | ❌ |
| office | ✔ | ✳ | ❌ | ❌ | ❌ |
| phone | ✔ | ✳ | ❌ | ❌ | ❌ |
| fax | ✔ | ✳ | ❌ | ❌ | ❌ |
| missed_votes_pct | ✔ | ✳ | ❌ | ❌ | ❌ |
| votes_with_party_pct | ✔ | ✳ | ❌ | ❌ | ❌ |
| ocd_id | ✔ | ✳ | ❌ | ❌ | ❌ |
| dw_nominate | ✔ | ❌ | ❌ | ❌ | ❌ |
| ideal_point | ✔ | ❌ | ❌ | ❌ | ❌ |
| total_votes | ✔ | ❌ | ❌ | ❌ | ❌ |
| missed_votes | ✔ | ❌ | ❌ | ❌ | ❌ |
| total_present | ✔ | ❌ | ❌ | ❌ | ❌ |
| senate_class | ✔ | ❌ | ❌ | ❌ | ❌ |
| state_rank | ✔ | ❌ | ❌ | ❌ | ❌ |
| lis_id | ✔ | ❌ | ❌ | ❌ | ❌ |
| next_election | ✔ | ❌ | ❌ | ✔ | ❌ |
| times_topics_url | ❌ | ✔ | ❌ | ✔ | ❌ |
| times_tag | ❌ | ✔ | ❌ | ❌ | ❌ |
| most_recent_vote | ❌ | ✔ | ❌ | ❌ | ❌ |
| chamber | ❌ | ✳ | ✔ | ❌ | ❌ |
| start_date | ❌ | ✳ | ✔ | ❌ | ⚠ |
| name | ❌ | ❌ | ❌ | ✔ | ❌ |
| end_date | ❌ | ✳ | ❌ | ❌ | ✔ |
| status | ❌ | ❌ | ❌ | ❌ | ✔ |
| note | ❌ | ❌ | ❌ | ❌ | ✔ |
Some notes to explain the warning signs:
idismember_idin 2 onlypartyiscurrent_partyin 2 onlytwitter_accountistwitter_idin 4 onlyyoutube_accountisyoutube_idin 4 onlystart_dateisbegin_datein 5 onlytitleisrolein 4 only
There are a few fields omitted from the second return that are present in the subfield roles - these values are noted with ✳. In addition, the roles field contains the following values that the first response does not include at all: at_large, bills_sponsored, and bills_cosponsored.
Other than this, it seems like a lot of the missing information could be included in the various responses. If you'd like me to be more thorough about what I think needs to be added in certain places, I can do that too, but it seems like it's all over the place at the moment.