House · Republican
Joseph D. McKenna
Data through FY2026; built October 19, 2026.
Residence
Sutton
First elected
House 2014
Occupation
Legislator
| Session | Chamber | District | Lines | Note |
|---|---|---|---|---|
| 189th (2015–16) | House | 18th Worcester | 2011 lines | |
| 190th (2017–18) | House | 18th Worcester | 2011 lines | |
| 191st (2019–20) | House | 18th Worcester | 2011 lines | |
| 192nd (2021–22) | House | 18th Worcester | 2011 lines | |
| 193rd (2023–24) | House | 18th Worcester | 2021 lines | |
| 194th (2025–26) | House | 18th Worcester | 2021 lines |
Posts and stipends
Joseph D. McKenna was paid $56,331 in leadership and committee stipends from 2024 to 2026 (2026 to date).
| Session | Posts | First year | Second year |
|---|---|---|---|
| 189th (2015–16) | No post recorded | not available | $0 |
| 190th (2017–18) | No post recorded | $0 | $0 |
| 191st (2019–20) | Ranking minority member, Joint Committee on Labor and Workforce Development | $0 | $0 |
| 192nd (2021–22) | Ranking minority member, Joint Committee on Consumer Protection and Professional Licensure | $0 | $0 |
| 193rd (2023–24) | Ranking minority member, House Committee on Human Resources and Employee Engagement; Ranking minority member, Joint Committee on Consumer Protection and Professional Licensure; Ranking minority member, Joint Committee on the Judiciary | $0 | $16,453 |
| 194th (2025–26) | Ranking minority member, Joint Committee on Consumer Protection and Professional Licensure | $22,431 | $17,446 (to date) |
Posts: the Legislature’s leadership and roster records as compiled for this project; where those name no post, the member’s committee chair, vice-chair and ranking roles from the Legislature’s member profiles. Stipends: additional compensation in the Comptroller’s payroll data (CTHRU dataset 9ttk-7vz6), 2016–2026; 2026 is the year to date. Stipends for 2015 are not available. Base salary is not included.
The district
18th Worcester on its 2021 lines: 5 cities and towns, 46,086 residents (2020).
Webster · Sutton · Douglas · Oxford · Uxbridge
Percentages are each place’s share of the district’s 2020 residents; for a town split between districts, the share of the town inside this one follows.
Population-weighted Fairness Index of the district’s cities and towns: 53 for all state aid and 71 for discretionary money (50 is a fair share).
Local earmarks are counted three ways. District money uses the first, clauses that name a place in the district; the second table adds organizations located in the district (placed in the district) and state facilities located there (everything placed). Three ways to count a local earmark.
| Session | District | Dollars | In corrective clauses | Per resident per budget, rank | Without corrective clauses, rank |
|---|---|---|---|---|---|
| 189th (2015–16) | 18th Worcester | $172,000 | $0 | $4.04 · 48th of 160 | $4.04 · 47th of 160 |
| 190th (2017–18) | 18th Worcester | $378,000 | $0 | $4.42 · 68th of 160 | $4.42 · 66th of 160 |
| 191st (2019–20) | 18th Worcester | $199,000 | $0 | $2.33 · 119th of 160 | $2.33 · 119th of 160 |
| 192nd (2021–22) | 18th Worcester | $748,000 | $0 | $8.75 · 51st of 160 | $8.75 · 45th of 160 |
| 193rd (2023–24) | 18th Worcester | $335,000 | $0 | $3.64 · 147th of 160 | $3.64 · 147th of 160 |
| 194th (2025–26) | 18th Worcester | $53,000 | $0 | $1.16 · 156th of 160 | $1.16 · 156th of 160 |
District money is where enacted earmarks land, by the place a clause names, mapped to districts by 2020 population; it is not attributed to the member and does not include leadership’s base-text money that names no place. Ranks are of district money per resident among the chamber’s districts, 1 = most. “In corrective clauses” is the part carried by a Ways and Means chair’s corrective amendments, which is leadership’s money; the last column gives the per-resident figure and rank without it. Sessions are labeled by the General Court that enacted each budget. Per-resident figures use the district as drawn for each session (2011 lines through the 192nd General Court, 2021 lines from the 193rd), so they will not equal a session’s dollars divided by the resident count above.
| Session | District | Placed in the district | Per resident per budget, rank | Everything placed | Per resident per budget, rank |
|---|---|---|---|---|---|
| 189th (2015–16) | 18th Worcester | $172,000 | $4.04 · 70th of 160 | $172,000 | $4.04 · 72nd of 160 |
| 190th (2017–18) | 18th Worcester | $378,000 | $4.42 · 79th of 160 | $378,000 | $4.42 · 83rd of 160 |
| 191st (2019–20) | 18th Worcester | $199,000 | $2.33 · 135th of 160 | $199,000 | $2.33 · 137th of 160 |
| 192nd (2021–22) | 18th Worcester | $748,000 | $8.75 · 75th of 160 | $748,000 | $8.75 · 77th of 160 |
| 193rd (2023–24) | 18th Worcester | $335,000 | $3.64 · 151st of 160 | $335,000 | $3.64 · 153rd of 160 |
| 194th (2025–26) | 18th Worcester | $53,000 | $1.16 · 157th of 160 | $53,000 | $1.16 · 158th of 160 |
Budget amendments
Joseph D. McKenna sponsored 74 budget amendments in FY2017–FY2026, asking for $17.7 million in all.
Amendments sponsored
74
FY2017–FY2026 budgets
Adopted, known outcomes
36%
20 of 56
Chamber rate, same ask sizes
57%
expected at the chamber’s rates
Of the 56 with a known outcome, 20 were adopted (36%). At the chamber’s adoption rate for amendments of the same size, about 32 (57%) would have been.
| Year | Amount | Enacted budget text (excerpt) | Amendment |
|---|---|---|---|
| FY2023 | $25,000 | “designing and building a new municipal department of public works barn in Douglas” | H4700 #226 |
| FY2022 | $25,000 | “the Douglas adult social center in the town of Douglas for improvements to its facility” | H4000 #19 |
| FY2022 | $25,000 | “the Sutton senior center in the town of Sutton for improvements to its facility” | H4000 #20 |
| FY2018 | $25,000 (shared two ways) | “the design and construction of a drinking water main-line in the town of Webster” | H3600 #851 |
| FY2017 | $25,000 | “the maintenance of lake Singletary in Sutton and Millbury” | H4200 #1160 |
Strong matches: 11 enacted items, $235,000 (the member’s share where several amendments claim one clause). A further two weaker text matches are not listed; attribution is inferred from amendment text and is less certain there. House attribution is inferred throughout, because the House adopts most amendments inside consolidated amendments.
50 outcomes are inferred by matching amendment text to the House’s consolidated amendments, because the House records most amendments only as “Consolidated A–G.” Ask size is the larger of the earmark dollars and the line-item change an amendment requests; bands: no dollar amount, under $50,000, $50,000–$250,000, $250,000–$1 million, $1–5 million, $5 million or more. Leadership’s unattributed base-text and corrective-amendment money is never assigned to a member. The comparison describes outcomes; it is not a measure of merit.
Bills sponsored
Joseph D. McKenna filed 149 bills as lead sponsor in these sessions; five were enacted on their own. In completed sessions, 4% of their lead bills were enacted on their own, against chamber medians of 3% to 7% for the same sessions.
Most bills die in every legislature, and many policies pass inside other bills; the chamber median for the same session is the fair comparison.
| Session | Chamber | Lead bills | Enacted | Folded into an enacted bill | Laid before the Governor (pending) | Sent to study | Reported favorably, then died | Reported adversely or withdrawn | No action | Pending (session open) | Enacted rate | Chamber median | Cosponsored |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 189th (2015–16) | House | 11 | 0 | 1 | 0 | 7 | 1 | 0 | 2 | 0 | 0% | 6% | 128 |
| 190th (2017–18) | House | 20 | 2 | 0 | 0 | 11 | 5 | 0 | 2 | 0 | 10% | 7% | 219 |
| 191st (2019–20) | House | 27 | 1 | 0 | 0 | 15 | 7 | 2 | 2 | 0 | 4% | 4% | 282 |
| 192nd (2021–22) | House | 30 | 1 | 1 | 0 | 23 | 3 | 0 | 2 | 0 | 3% | 3% | 183 |
| 193rd (2023–24) | House | 32 | 1 | 1 | 0 | 23 | 5 | 1 | 1 | 0 | 3% | 4% | 210 |
| 194th (2025–26) | House | 29 | 0 | 0 | 1 | 20 | 0 | 0 | 0 | 8 | 0%* | 1% | 174 |
Enacted bills as lead sponsor
- H4103 (190th): An Act relative to a certain conservation restriction in the town of Webster · Chapter 177 of the Acts of 2018
- H4267 (190th): An Act establishing a sick leave bank for Elliot Brown, an employee of the Department of Public Health · Chapter 106 of the Acts of 2018
- H4955 (191st): An Act exempting certain positions of the police department of the town of Webster from the civil service law · Chapter 237 of the Acts of 2020
- H3967 (192nd): An Act authorizing certain members of the Webster Fire Department to buy-back eligible retirement service time · Chapter 207 of the Acts of 2022
- H4797 (193rd): An Act regarding the continued employment of a certain employee of the town of Oxford · Chapter 234 of the Acts of 2024
Outcomes are the furthest point each bill reached in the record. “Folded into an enacted bill” means the history names the enacted bill that absorbed it. “Passed both branches; no chapter recorded” means the bill was enacted by both branches and laid before the Governor, with no chapter or veto in the history; in the 194th General Court such bills are shown as laid before the Governor (pending). The 194th General Court is in session until January 2027, so its open bills are pending, not dead, and its rates (*) are not comparable with completed sessions. Chairs and leaders control the calendar, which raises their rates. Source: malegislature.gov bill histories.
Recorded votes on accountability measures
Joseph D. McKenna cast 81 yes-or-no votes on the 81 accountability roll calls in this file (66 yes, 15 no).
| Date | Measure | Vote | Chamber result |
|---|---|---|---|
| January 25, 2017 | Recommit the 2017 pay-raise bill (H.58) to Ways and Means | Yes | Yeas 35, nays 125 |
| January 25, 2017 | Amd 3 (Lyons): legislators' raise not effective until next General Court | Yes | Yeas 40, nays 120 |
| January 25, 2017 | Amd 5 (Lyons): cap the increases at 4% | Yes | Yeas 36, nays 124 |
| January 25, 2017 | Engrossment of the pay-raise bill (stipend increases) | No | Yeas 116, nays 44 |
| January 26, 2017 | Enactment of the pay-raise bill | No | Yeas 116, nays 43 |
| February 2, 2017 | Override of Gov. Baker's veto of the pay-raise bill | No | Yeas 116, nays 43 |
| February 2, 2017 | Amendment 1.0 (Geoff Diehl): Text of the proposed House amendment (Representative Diehl) to the House Bill relative to Rank and File (House, No. 2017) | Yes | Yeas 34, nays 124 |
| February 2, 2017 | Sustain the Chair's ruling (point of order, Mr. Mark) against Diehl amd 2, Speaker term limits | No | Yeas 123, nays 33 |
| February 2, 2017 | Amendment 3.0 (Bradley H. Jones, Jr.): 24 Hour Time Frame for Bills to Be Acted On | Yes | Yeas 35, nays 124 |
| February 2, 2017 | Amendment 4.0 (Bradley H. Jones, Jr.): Access to Information | Yes | Yeas 35, nays 124 |
| February 2, 2017 | Amendment 9.0 (Bradley H. Jones, Jr.): Emergency Scheduling of Hearings | Yes | Yeas 38, nays 121 |
| February 2, 2017 | Amendment 10.0 (Bradley H. Jones, Jr.): Equal Representation on Ethics Committee | Yes | Yeas 35, nays 124 |
| February 2, 2017 | Amendment 15.0 (Bradley H. Jones, Jr.): Inoculators | Yes | Yeas 37, nays 122 |
| February 2, 2017 | Amendment 16.0 (Bradley H. Jones, Jr.): Local Aid Resolution | Yes | Yeas 38, nays 121 |
| February 2, 2017 | Amendment 27.0 (James J. Lyons, Jr.): Defining and Limiting Informal Session | Yes | Yeas 34, nays 124 |
| February 2, 2017 | Amendment 20.0 (Shaunna L. O'Connell): Public access to House financial accounts audits | Yes | Yeas 34, nays 125 |
| February 2, 2017 | Amendment 21.0 (Shaunna L. O'Connell): Public access to committee votes | Yes | Yeas 41, nays 118 |
| February 2, 2017 | Amendment 5.0 (Bradley H. Jones, Jr.): Local Aid Resolution | Yes | Yeas 37, nays 122 |
| February 2, 2017 | Amendment 11.0 (Bradley H. Jones, Jr.): Committee Roll Calls on Website | Yes | Yeas 38, nays 121 |
| February 2, 2017 | Amendment 13.0 (Bradley H. Jones, Jr.): Reports of Conference Filing Deadline | Yes | Yeas 37, nays 122 |
| February 2, 2017 | Amendment 14.0 (Shaunna L. O'Connell): Public access to committee votes | Yes | Yeas 38, nays 121 |
| January 30, 2019 | Amendment 1.0 (Jonathan Hecht): Time to review bills | Yes | Yeas 55, nays 103 |
| January 30, 2019 | Amendment 2.0 (Jonathan Hecht): Time to review amendments | Yes | Yeas 47, nays 111 |
| January 30, 2019 | Amendment 3.0 (Jonathan Hecht): Committee materials and votes | Yes | Yeas 49, nays 109 |
| January 30, 2019 | Collective bargaining for House employees (curb on leadership control of staff); not a disclosure/power-of-leadership rule in the narrow sense (contested meaning) | No | Yeas 9, nays 149 |
| January 30, 2019 | Amendment 11.0 (Bradley H. Jones, Jr.): Access to Information | Yes | Yeas 40, nays 118 |
| January 30, 2019 | Amendment 12.0 (Bradley H. Jones, Jr.): Emergency Scheduling of Hearings | Yes | Yeas 35, nays 123 |
| January 30, 2019 | Amendment 14.0 (Bradley H. Jones, Jr.): Committee Polls – 2 Hours | Yes | Yeas 44, nays 114 |
| January 30, 2019 | Amendment 16.0 (Bradley H. Jones, Jr.): House Audits | Yes | Yeas 35, nays 123 |
| January 30, 2019 | Amendment 17.0 (Bradley H. Jones, Jr.): HWM Reports on Bills | Yes | Yeas 33, nays 125 |
| January 30, 2019 | Amendment 19.0 (Bradley H. Jones, Jr.): Local Aid Resolution | Yes | Yeas 32, nays 126 |
| January 30, 2019 | Amendment 20.0 (Bradley H. Jones, Jr.): Review of Consolidated Amendments | Yes | Yeas 32, nays 125 |
| January 30, 2019 | Amendment 22.0 (Bradley H. Jones, Jr.): Committee Votes on Website | Yes | Yeas 44, nays 113 |
| January 30, 2019 | Fingerprint remote voting from committee rooms (contested meaning) | Yes | Yeas 32, nays 125 |
| January 30, 2019 | Amendment 25.0 (Marc T. Lombardo): Matters considered in an informal session | Yes | Yeas 32, nays 125 |
| January 30, 2019 | Amendment 31.0 (John H. Rogers): Relative to Rule 18C | Yes | Yeas 43, nays 113 |
| January 30, 2019 | Amendment 32.0 (Patrick Joseph Kearney): relative to Rule 100 ( c ) 3 | No | Yeas 5, nays 152 |
| January 30, 2019 | Amendment 33.0 (Patrick Joseph Kearney): relative to Rule 20A and Rule 33A | No | Yeas 5, nays 152 |
| January 30, 2019 | Equitable office space (leadership allocates offices) (contested meaning) | No | Yeas 11, nays 146 |
| January 30, 2019 | Amendment 38.0 (Denise Provost): To assure adequate time to prepare and file amendments | Yes | Yeas 44, nays 113 |
| January 30, 2019 | Amendment 41.0 (Russell E. Holmes): Equal Pay Amendment II | No | Yeas 5, nays 152 |
| January 30, 2019 | House rules (H2019), rules package: on adoption of the order (contested meaning) | No | Yeas 125, nays 32 |
| January 30, 2019 | Conference-committee appointment deadline; adopted 157-0 (contested meaning) | Yes | Yeas 157, nays 0 |
| January 30, 2019 | Amendment 11.0 (Bradley H. Jones, Jr.): Committee Roll Calls on Website | Yes | Yeas 47, nays 110 |
| January 30, 2019 | Amendment 12.0 (Marc T. Lombardo): Informal Session | Yes | Yeas 36, nays 121 |
| January 30, 2019 | Joint rules (H2021), rules package: on adoption of the order (contested meaning) | Yes | Yeas 157, nays 0 |
| February 24, 2021 | Amendment 8.0 (Erika Uyterhoeven): Public Committee Votes and Testimony | Yes | Yeas 36, nays 122 |
| February 24, 2021 | Amendment 3.0 (Bradley H. Jones, Jr.): Electronic Poll | Yes | Yeas 38, nays 121 |
| February 24, 2021 | Amendment 6.0 (Bradley H. Jones, Jr.): Procurement Amendment | Yes | Yeas 34, nays 125 |
| February 24, 2021 | Amendment 11.0 (Bradley H. Jones, Jr.): Conference Committee Report | Yes | Yeas 35, nays 123 |
| February 24, 2021 | Joint rules (H68), rules package: on adoption of the Order (contested meaning) | No | Yeas 128, nays 31 |
| July 7, 2021 | Remote voting for members on military duty; adopted 160-0 (contested meaning) | Yes | Yeas 160, nays 0 |
| July 7, 2021 | Amendment 2.0 (Tami L. Gouveia): Speaker Term Limits | Yes | Yeas 35, nays 125 |
| July 7, 2021 | Amendment 6.0 (Bradley H. Jones, Jr.): Emergency Scheduling of Hearings | Yes | Yeas 30, nays 129 |
| July 7, 2021 | Amendment 9.0 (Bradley H. Jones, Jr.): Committee Polls - 2 Hours | Yes | Yeas 35, nays 124 |
| July 7, 2021 | Amendment 11.0 (Bradley H. Jones, Jr.): Access to Information | Yes | Yeas 33, nays 126 |
| July 7, 2021 | Amendment 13.0 (Bradley H. Jones, Jr.): Review of Consolidated Amendments | Yes | Yeas 32, nays 127 |
| July 7, 2021 | Amendment 12.0 (Bradley H. Jones, Jr.): Committee Votes on Website | Yes | Yeas 38, nays 121 |
| July 7, 2021 | Amendment 16.0 (Erika Uyterhoeven): Public Committee Votes | Yes | Yeas 41, nays 117 |
| July 7, 2021 | Amendment 3.0 (Christopher M. Markey): Review Period for Released Bills | Yes | Yeas 39, nays 119 |
| July 7, 2021 | House rules (H3930), rules package: on adoption of the order (contested meaning) | No | Yeas 129, nays 29 |
| February 1, 2023 | Amendment 7.0 (Bradley H. Jones, Jr.): Time to review technical/ perfecting amendments | Yes | Yeas 23, nays 130 |
| February 1, 2023 | Amendment 12.0 (Bradley H. Jones, Jr.): Review of Consolidated Amendments | Yes | Yeas 23, nays 130 |
| February 1, 2023 | House rules (H2023), rules package: on adoption of the order (contested meaning) | Yes | Yeas 153, nays 0 |
| February 1, 2023 | Amendment 3.0 (Bradley H. Jones, Jr.): Local Aid Resolution | Yes | Yeas 23, nays 130 |
| February 1, 2023 | Amendment 9.0 (Bradley H. Jones, Jr.): Hearing Schedule | Yes | Yeas 24, nays 129 |
| February 1, 2023 | Joint rules (H2025), rules package: on adoption of the order (contested meaning) | Yes | Yeas 153, nays 0 |
| February 25, 2025 | Amendment 2.0 (Bradley H. Jones, Jr.): Roll Calls | Yes | Yeas 23, nays 128 |
| February 25, 2025 | Amendment 3.0 (Bradley H. Jones, Jr.): Formal Session Notification | Yes | Yeas 23, nays 128 |
| February 25, 2025 | Amendment 4.0 (Bradley H. Jones, Jr.): General Court Audits | Yes | Yeas 23, nays 128 |
| February 25, 2025 | Amendment 5.0 (Bradley H. Jones, Jr.): Opinion of the Justices | Yes | Yeas 23, nays 128 |
| February 25, 2025 | Amendment 6.0 (Bradley H. Jones, Jr.): Committee Polls | Yes | Yeas 23, nays 128 |
| February 25, 2025 | Amendment 7.0 (Bradley H. Jones, Jr.): Committee Poll Notification | Yes | Yeas 23, nays 128 |
| February 25, 2025 | Joint rules (H2026), rules package: on adoption of the order (contested meaning) | No | Yeas 128, nays 23 |
| February 25, 2025 | Amendment 18.0 (Bradley H. Jones, Jr.): Time to Review Legislation | Yes | Yeas 23, nays 128 |
| February 25, 2025 | Amendment 17.0 (Bradley H. Jones, Jr.): Audit by State Auditor | Yes | Yeas 24, nays 127 |
| February 25, 2025 | Amendment 2.0 (Bradley H. Jones, Jr.): Committee Polls | Yes | Yeas 23, nays 128 |
| February 25, 2025 | Amendment 3.0 (Bradley H. Jones, Jr.): Committee Poll Notifications | Yes | Yeas 23, nays 128 |
| February 25, 2025 | House rules (H2024), rules package: on adoption of the order (contested meaning) | No | Yeas 128, nays 23 |
| June 26, 2025 | Joint rules (conference report) (S2545), rules package: on acceptance (contested meaning) | Yes | Yeas 147, nays 2 |
| June 3, 2026 | Engross H.5469 (public records law applied to the Legislature). Reform advocates split (contested meaning) | No | Yeas 125, nays 28 |
Votes marked “contested meaning” are rules-package and public-records passage votes; reform advocates were on both sides of them. Descriptions are the project’s plain summaries of each question, or the question as recorded for rules-package roll calls; the official record is on malegislature.gov. Votes are facts; no score is computed.
Campaign money in
Joseph D. McKenna’s committee reported $75,000 in contributions of $250 or more in years the member served, 2015–2026.
| Year | Contributions |
|---|---|
| 2015 | $5,250 |
| 2016 | $9,481 |
| 2017 | $6,750 |
| 2018 | $4,000 |
| 2019 | $2,000 |
| 2020 | $4,750 |
| 2021 | $5,100 |
| 2022 | $4,000 |
| 2023 | $2,500 |
| 2024 | $2,250 |
| 2025 | $13,000 |
| 2026 | $17,000 |
| Kind | Total | Share |
|---|---|---|
| Individuals | $60,000 | 80% |
| Political committees and PACs | $14,000 | 18% |
| Unions and associations | $1,000 | 1% |
| Employer reported | Share |
|---|---|
| A named employer | 56% |
| Self-employed | 22% |
| Retired | 14% |
| Homemaker or at home | 2% |
| Not reported or withheld | 5% |
Not counted as contributions: $11,000 in other receipts of $250 or more in the same years (candidate loans and the candidate’s own money, transfers, refunds, bank interest and aggregated small receipts).
| Employer or organization | Kind | Total | Contributions |
|---|---|---|---|
| MA & NORTHERN NE LABORERS' DISTRICT COUNCIL POL ACTION COMM | committee or PAC | $5,500 | 11 |
| MAPFRE INSURANCE | individuals, by employer | $4,000 | 4 |
| ATLAS DISTRIBUTING | individuals, by employer | $3,500 | 11 |
| ALLCARE MEDICAL SUPPLY | individuals, by employer | $2,500 | 3 |
| MASSACHUSETTS DENTAL SOCIETY POLITICAL ACTION COMMITTEE | committee or PAC | $2,000 | 4 |
| ACCORD HEALTHCARE MANAGEMENT | individuals, by employer | $2,000 | 2 |
| B AND L POOLS | individuals, by employer | $2,000 | 2 |
| WEBSTER REPUBLICAN TOWN COMMITTEE | committee or PAC | $1,981 | 1 |
| IVANHOE TOOL AND DIE | individuals, by employer | $1,750 | 4 |
| SUTTON REPTC | committee or PAC | $1,600 | 2 |
Source: Office of Campaign and Political Finance, itemized receipts of $250 or more since 2015; OCPF filer record: McKenna Committee (CPF 15809). Individuals are grouped by the employer they reported; no individual contributor is named, and an employer field that is a person’s name is withheld. Massachusetts bars business contributions to candidates. Employer shows affiliation, not instruction.
Sources
Every figure traces to a public record.
- Massachusetts Legislature, members, districts and roll calls
- Budget amendments and enacted budgets, FY2017–FY2026
- CTHRU payroll, Office of the Comptroller (stipends)
- Office of Campaign and Political Finance
- District lines: Acts of 2011 and 2021; Census 2020 block populations
- Official profile (prior offices, occupation)
- Election statistics (first elected, residence)
Facts only: posts, stipends, sponsored amendments, enacted items, roll-call votes and district money. No score or grade is computed. Associations shown here are not evidence of cause. Method.