• Electoral Reform From A UX Perspective

    A man happily casting a ballot in a Canadian election.

    Proportional representation became a topic of discussion again during the recent federal election in Canada, and provincial election on Ontario.

    Fair Vote Canada describes proportional representation as:

    13 years ago, I wrote a post regarding electoral reform — specifically proportional representation — but using the same style of single-winner ballot that we use in Canada today. The rationale, at the time, was that we’re able to assess popular vote using our existing ballot, even if not perfectly. So why not use it?

    I had written that post during early days of my understanding of electoral reform and proportional representation. I knew at that time, in principle, it was an adjustment in how an election count is interpreted so that the final result better reflects the actual will of the people. I didn’t yet realize and appreciate that there are many different flavours of it.

    Those flavours matter.

    In December of 2016, a Standing Committee on Electoral Reform released a report called “STRENGTHENING DEMOCRACY IN CANADA: PRINCIPLES, PROCESS AND PUBLIC ENGAGEMENT FOR ELECTORAL REFORM“. The report made 13 recommendations. Number 12 was that:

    • The Government hold a referendum, in which the current system is on the ballot;
    • That the referendum propose a proportional electoral system that achieves a Gallagher Index score of 5 or less; and
    • That the Government complete the design of the alternate electoral system that is proposed on the referendum ballot prior to the start of the referendum campaign period.

    The Gallagher Index measures the difference between the percentage of votes each party gets and the percentage of seats each party gets in the resulting legislature.

    The Standing Committee report recommended a proportional system. However, they did not arrive at a recommendation on any specific system. For that reason, the work of the all-party committee was rebuked then Minister of Democratic Reform Maryam Monsef. It was later reported that the government reneged on their "...promise to implement electoral reform after momentum steered away from a ranked ballot option" -- which was apparently their preference, even though it didn't necessarily perform as well on the Gallagher Index as other voting systems.

    But let’s take a moment to reflect on the original purpose of the Standing Committee, and consider how some of the learnings that informed the report could guide design decisions on specific voting systems.

    • The Committee was appointed to identify and conduct a study of viable alternate voting systems to replace the first-past-the-post system
    • First-past-the-post is efficient and simple for both voters and election administrators: No other options are viewed as being as simple as the present system, the current system is relatively simple and easy to understand. As well, the ballot counting process is relatively straightforward.
    • 72.5% of respondents either strongly agreed or agreed with the statement that “Canada’s electoral system should ensure that voters elect local candidates to represent them in Parliament”
    • 71.5% of respondents either strongly agreed or agreed with the statement “Canada’s electoral system should ensure that the number of seats held by a party in Parliament reflects the proportion of votes it received across the country”
    • A majority of respondents either strongly agreed or agreed that “Voters should determine which candidates get elected from a party’s list and the seats in the House of Commons should be allocated based on the percentage of votes obtained by each political party”
    • A majority of respondents either strongly agreed or agreed that “Canada’s electoral system should produce a proportional Parliament (where seats roughly match the parties’ vote share) through the direct election of local representatives in multi-member electoral districts”
    • The primary perceived shortcoming of highly proportional electoral systems is the diminution of local representation.
    • The Gallagher Index was mentioned in the report to assess disproportionality. But there are several branches of social choice and voting theory axioms that could be used to measure the effectiveness of a voting system, and the challenges they could run into.

    Additionally, the Committee had established 5 guiding principles that are useful to consider:

    1. Effectiveness and legitimacy: that the proposed measure would increase public confidence among Canadians that their democratic will, as expressed by their votes, will be fairly translated and that the proposed measure reduces distortion and strengthens the link between voter intention and the election of representatives;
    2. Engagement: that the proposed measure would encourage voting and participation in the democratic process, foster greater civility and collaboration in politics, enhance social cohesion and offer opportunities for inclusion of underrepresented groups in the political process;
    3. Accessibility and inclusiveness: that the proposed measure would avoid undue complexity in the voting process, while respecting the other principles, and that it would support access by all eligible voters regardless of physical or social condition;
    4. Integrity: that the proposed measure can be implemented while safeguarding public trust in the election process, by ensuring reliable and verifiable results obtained through an effective and objective process that is secure and preserves vote secrecy for individual Canadians;
    5. Local representation: that the proposed measure would ensure accountability and recognize the value that Canadians attach to community, to Members of Parliament understanding local conditions and advancing local needs at the national level, and to having access to Members of Parliament to facilitate resolution of their concerns and participation in the democratic process.

    From the learnings and guiding principles presented in the Report, we could arrange and consider design constraints for the voting process as follows:

    1. Will produce proportional seating allotment.
    2. Will elect local candidates.
    3. Will avoid unnecessary complexity.
    4. Will encourage collaboration in politics.
    5. Will safeguard public trust with an effective and verifiable process.

    Let’s review each constraint, and elaborate where needed.

    Will produce proportional seating allotment

    Canadians want the number of seats held in Parliament to reflect the proportion of votes it received across the country. What does this mean, and what does this look like?

    The simplest way to explain proportional representation is that if 40% of Canada votes for a particular political party, they should only be entitled to 40%.

    Fair Vote Canada does a great job at illustrating this point. This illustration is from their Media Kit depicting the results of the 2022 Ontario general election:
    https://www.fairvote.ca/mediakit/

    Why does this not happen today?

    Canada currently uses a plurality voting system, often called “first-past-the-post” or FPTP. It’s a winner take all system that favours two candidates over many. The winning candidate is the one with the most votes – though not necessarily a majority of support in cases of 3 or more candidates. For example, if a riding is split between 5 candidates, the winner can be the one with only 21% of support, but technically won the most votes. This is referred to as the Condorcet loser paradox: When the majority of voters do not favour the winning candidate. In turn, this leads to distorted results where parties receive a majority of power without the popular support to justify it.

    Will elect local candidates

    Canadians want to elect local candidates to represent them in Parliament. Not all flavours of proportional representation align nicely with this objective.

    For example, in a system called mixed-member proportional representation, or MMP, two types of representatives are elected. One is a local representative, the other a regional representative from a party list. A common criticism of this system is that the party list candidate isn’t accountable to their electorate in the same way their local representative is.

    In practice, this doesn’t necessarily pose a problem. However, it is a valid concern that needs to be considered.

    Will avoid unnecessary complexity

    One of the benefits of the FPTP system is it’s simplicity and efficiency. Vote counting happens quickly, often completing on the same night of the election.

    By comparison, in the MMP system, two votes must be cast: One for a local representative, the other from a party-list. Which doubles the work involved voting. In some systems, candidates are ranked and votes redistributed, which adds complexity to the counting process.

    Asking voters to participate to do more work and navigate more complexity is not a winning strategy to achieve anything, let alone electoral reform.

    Will encourage collaboration in politics

    The skewing of results that often occurs in the FPTP electoral system tends to result in majority governments. That is, a single political party holds most of the seats in the legislature. This is seen as a feature and advantage of FPTP, as it implies a greater likelihood of government stability. However, this also means that alternate or opposing views are often disregarded, fueling voter apathy.

    In contrast, PR electoral systems often result in coalition governments being formed in order to achieve majority support to streamline passing legislation. This requires collaboration with the other political parties that voters have elected to represent them.

    Where should we start?

    I’m going to suggest that there is no need to completely reinvent the wheel in this situation. Some of the advantages of our current electoral system that we should retain are:

    • The popular vote is already calculated using the existing FPTP electoral model.
    • We already have an efficient voting mechanism that is easy to participate in, and quick to count.
    • Voters elect local candidates to represent them

    Changing the simple checking of a box to another mechanism introduces more complexity, and an additional expense to replace voting machines.

    A possible solution: Approval voting

    Approval voting is a system that allows voters to select or “approve of” as many candidates as they want. It also allows for choosing a single candidate. The benefit of this system is that is eliminates the problem of vote-splitting. If a voter wants to approve of either the Liberal Party or the NDP, both can be selected. Further, the simplicity of checking one, or many boxes, means we can continue using the ballot style we already have.

    Will safeguard public trust with an effective and verifiable process

    Using approval voting means a smaller learning curve to avoiding vote-splitting. It also retains the relative simplicity and efficiency of FPTP. Voting machines would have to be updated to allow more than one choice. But, ballots would otherwise be verified the same way as they are now.

    How to we evaluate and verify the results?

    I was able to attend some of the town halls that contributed to the reporting on electoral reform. One of the things that can happen when you get a room of advocates is a lot of enthusiastic abstractions of what’s possible. Stories of how other countries do it — so why can’t we? What gets lost in discussions like that is appreciating the courage it requires to get people to get from “here” to “there”. And if something requires courage to take a chance on, why do it at all? Is status quo not easier?

    For that reason, I want to pivot this article into “show, don’t tell”.

    Not only am I certain that proportional representation, that avoids vote splitting, is already possible. I’m going to prove it using data from Elections Canada. My goal is to prove we can incorporate proportional representation in the very next election. And, it doesn’t require any significant change from how Canadians already vote.

    Because a hypothetical approval voting model separates the number of votes from the population, it’s possible that the election results would be the same, even if the population was different. Therefore, we can use actual election data for this model.

    The most recent Canadian federal election as of this post was the 45th General Election on April 28, 2025. I am specifically interested in Table 12: List of candidates by electoral district and individual results. I’m using a downloadable CSV file, which any spreadsheet software can open. However, I’m going a little further by building an app on a platform called Quickbase for my modeling and reporting.

    Majority-Won Seats

    The first step in the evaluation of filled seats according to which ridings elected a candidate by majority vote. The parties that won seats by majority vote are as follows.

    PartyNumber of Seats
    Conservative Party98
    Liberal Party123
    Total221

    Liberal Party Details

    Percentage of VotesCandidateElectoral District Name
    51.5Philip Earle Liberal/LibéralLabrador
    57Kent MacDonald Liberal/LibéralCardigan
    64.8Sean Casey ** Liberal/LibéralCharlottetown
    51.9Bobby Morrissey ** Liberal/LibéralEgmont
    57.6Heath MacDonald ** Liberal/LibéralMalpeque
    55.2Guillaume Deschênes-Thériault Liberal/LibéralMadawaska–Restigouche
    58.6Abdelhaq Sari Liberal/LibéralBourassa
    52.6John Zerucelli Liberal/LibéralEtobicoke North/Etobicoke-Nord
    55.6Judy Sgro ** Liberal/LibéralHumber River–Black Creek
    57.9Kevin Lamoureux ** Liberal/LibéralWinnipeg North/Winnipeg-Nord
    65.1Buckley Belanger Liberal/LibéralDesnethé–Missinippi–Churchill River/Desnethé–Missinippi–Rivière Churchill
    53.1Brendan Hanley ** Liberal/LibéralYukon
    53.5Rebecca Alty Liberal/LibéralNorthwest Territories/Territoires du Nord-Ouest
    58.6Paul Connors Liberal/LibéralAvalon
    62.3Joanne Thompson ** Liberal/LibéralSt. John’s East/St. John’s-Est
    51.6Jaime Battiste ** Liberal/LibéralCape Breton–Canso–Antigonish
    51.9Sean Fraser ** Liberal/LibéralCentral Nova/Nova-Centre
    54.9Jessica Fancy-Landry Liberal/LibéralSouth Shore–St. Margarets
    54.6Mike Kelloway ** Liberal/LibéralSydney–Glace Bay
    58.1Wayne Long ** Liberal/LibéralSaint John–Kennebecasis
    59.4Anju Dhillon ** Liberal/LibéralDorval–Lachine–LaSalle
    60.2Eric St-Pierre Liberal/LibéralHonoré-Mercier
    50.9Claude Guay Liberal/LibéralLaSalle–Émard–Verdun
    52.1Steven Guilbeault ** Liberal/LibéralLaurier–Sainte-Marie
    52Carlos Leitão Liberal/LibéralMarc-Aurèle-Fortin
    51.1Anthony Housefather ** Liberal/LibéralMount Royal/Mont-Royal
    55.2Rachel Bendayan ** Liberal/LibéralOutremont
    53Marjorie Michel Liberal/LibéralPapineau
    58.9Emmanuella Lambropoulos ** Liberal/LibéralSaint-Laurent
    65.3Patricia Lattanzio ** Liberal/LibéralSaint-Léonard–Saint-Michel
    53.4Annie Koutrakis ** Liberal/LibéralVimy
    53.2Maggie Chi Liberal/LibéralDon Valley North/Don Valley-Nord
    54.5Tim Hodgson Liberal/LibéralMarkham–Thornhill
    53.9Fares Al Soud Liberal/LibéralMississauga Centre/Mississauga-Centre
    50.2Peter Fonseca ** Liberal/LibéralMississauga East–Cooksville/Mississauga-Est–Cooksville
    53.3Iqwinder Singh Gaheer ** Liberal/LibéralMississauga–Malton
    57.3Salma Zahid ** Liberal/LibéralScarborough Centre–Don Valley East/Scarborough-Centre–Don Valley-Est
    63Shaun Chen ** Liberal/LibéralScarborough North/Scarborough-Nord
    54.3Jean Yip ** Liberal/LibéralScarborough–Agincourt
    60.4Michael Coteau ** Liberal/LibéralScarborough–Woburn
    55.2Patty Hajdu ** Liberal/LibéralThunder Bay–Superior North/Thunder Bay–Supérieur-Nord
    53.4Ali Ehsassi ** Liberal/LibéralWillowdale
    55.3Ahmed Hussen ** Liberal/LibéralYork South–Weston–Etobicoke/York-Sud–Weston–Etobicoke
    59Terry Duguid ** Liberal/LibéralWinnipeg South/Winnipeg-Sud
    55.2Hedy Fry ** Liberal/LibéralVancouver Centre/Vancouver-Centre
    52.3Gregor Robertson Liberal/LibéralVancouver Fraserview–South Burnaby/Vancouver Fraserview–Burnaby-Sud
    68.3Tom Osborne Liberal/LibéralCape Spear
    67.7Darren Fisher ** Liberal/LibéralDartmouth–Cole Harbour
    63Shannon Miedema Liberal/LibéralHalifax
    65.6Lena Metlege Diab ** Liberal/LibéralHalifax West/Halifax-Ouest
    60.6Kody Blois ** Liberal/LibéralKings–Hants
    62Braedon Clark Liberal/LibéralSackville–Bedford–Preston
    67.5Serge Cormier ** Liberal/LibéralAcadie–Bathurst
    60.6Dominic LeBlanc ** Liberal/LibéralBeauséjour
    61.3David Myles Liberal/LibéralFredericton–Oromocto
    63Ginette Petitpas Taylor ** Liberal/LibéralMoncton–Dieppe
    61Mélanie Joly ** Liberal/LibéralAhuntsic-Cartierville
    54.6Angelo Iacono ** Liberal/LibéralAlfred-Pellan
    62.2Alexandra Mendès ** Liberal/LibéralBrossard–Saint-Lambert
    60.5Steven MacKinnon ** Liberal/LibéralGatineau
    62.1Greg Fergus ** Liberal/LibéralHull–Aylmer
    67.6Francis Scarpaleggia ** Liberal/LibéralLac-Saint-Louis
    55.4Joël Lightbound ** Liberal/LibéralLouis-Hébert
    64Anna Gainey ** Liberal/LibéralNotre-Dame-de-Grâce–Westmount
    60.1Sameer Zuberi ** Liberal/LibéralPierrefonds–Dollard
    54.6Sophie Chatel ** Liberal/LibéralPontiac–Kitigan Zibi
    51.3Élisabeth Brière ** Liberal/LibéralSherbrooke
    57.9Peter Schiefke ** Liberal/LibéralVaudreuil
    63.7Marc Miller ** Liberal/LibéralVille-Marie–Le Sud-Ouest–Île-des-Soeurs
    56.3Jennifer McKelvie Liberal/LibéralAjax
    50.4Chris Malette Liberal/LibéralBay of Quinte
    67.7Nate Erskine-Smith ** Liberal/LibéralBeaches–East York
    55.8Karina Gould ** Liberal/LibéralBurlington
    52.7Adam Van Koeverden ** Liberal/LibéralBurlington North–Milton West/Burlington-Nord–Milton-Ouest
    50.9Bruce Fanjoy Liberal/LibéralCarleton
    57.8Julie Dzerowicz ** Liberal/LibéralDavenport
    62.6Rob Oliphant ** Liberal/LibéralDon Valley West/Don Valley-Ouest
    53.6Yvan Baker ** Liberal/LibéralEtobicoke Centre/Etobicoke-Centre
    57.4James Maloney ** Liberal/LibéralEtobicoke–Lakeshore
    54.7Dominique O’Rourke Liberal/LibéralGuelph
    56.1John-Paul Danko Liberal/LibéralHamilton West–Ancaster–Dundas/Hamilton-Ouest–Ancaster–Dundas
    60.8Jenna Sudds ** Liberal/LibéralKanata
    63.2Mark Gerretsen ** Liberal/LibéralKingston and the Islands/Kingston et les Îles
    56.7Peter Fragiskatos ** Liberal/LibéralLondon Centre/London-Centre
    56.2Arielle Kayabaga ** Liberal/LibéralLondon West/London-Ouest
    51.4Helena Jaczek ** Liberal/LibéralMarkham–Stouffville
    55.7Iqra Khalid ** Liberal/LibéralMississauga–Erin Mills
    52.4Charles Sousa ** Liberal/LibéralMississauga–Lakeshore
    51.5Rechie Valdez ** Liberal/LibéralMississauga–Streetsville
    63.8Mark Carney Liberal/LibéralNepean
    51.1Anita Anand ** Liberal/LibéralOakville East/Oakville-Est
    53.1Sima Acan Liberal/LibéralOakville West/Oakville-Ouest
    67.4Marie-France Lalonde ** Liberal/LibéralOrléans
    62.7Yasir Naqvi ** Liberal/LibéralOttawa Centre/Ottawa-Centre
    65.2David McGuinty ** Liberal/LibéralOttawa South/Ottawa-Sud
    63.6Anita Vandenbeld ** Liberal/LibéralOttawa West–Nepean/Ottawa-Ouest–Nepean
    67.4Mona Fortier ** Liberal/LibéralOttawa–Vanier–Gloucester
    54.3Emma Harrison Liberal/LibéralPeterborough
    54.2Juanita Nathan Liberal/LibéralPickering–Brooklin
    54.8Giovanna Mingarelli Liberal/LibéralPrescott–Russell–Cumberland
    52Chris Bittle ** Liberal/LibéralSt. Catharines
    61.5Bill Blair ** Liberal/LibéralScarborough Southwest/Scarborough-Sud-Ouest
    64Gary Anandasangaree ** Liberal/LibéralScarborough–Guildwood–Rouge Park
    60.1Chi Nguyen Liberal/LibéralSpadina–Harbourfront
    51.9Viviane Lapointe ** Liberal/LibéralSudbury
    55.8Karim Bardeesy Liberal/LibéralTaiaiako’n–Parkdale–High Park
    64.3Evan Solomon Liberal/LibéralToronto Centre/Toronto-Centre
    66.6Julie Dabrusin ** Liberal/LibéralToronto–Danforth
    61.9Leslie Church Liberal/LibéralToronto–St. Paul’s
    64Chrystia Freeland ** Liberal/LibéralUniversity–Rosedale
    59.5Bardish Chagger ** Liberal/LibéralWaterloo
    52.7Ryan Turnbull ** Liberal/LibéralWhitby
    59.8Ginette Lavack Liberal/LibéralSt. Boniface–St. Vital/Saint-Boniface–Saint-Vital
    63.6Ben Carr ** Liberal/LibéralWinnipeg South Centre/Winnipeg-Centre-Sud
    54.5Doug Eyolfson Liberal/LibéralWinnipeg West/Winnipeg-Ouest
    59.1Terry Beech ** Liberal/LibéralBurnaby North–Seymour/Burnaby-Nord–Seymour
    51.8Jill McKnight Liberal/LibéralDelta
    59.8Jonathan Wilkinson ** Liberal/LibéralNorth Vancouver–Capilano
    50.5Ernie Klassen Liberal/LibéralSouth Surrey–White Rock/Surrey-Sud–White Rock
    62.1Taleeb Noormohamed ** Liberal/LibéralVancouver Granville
    63.2Wade Grant Liberal/LibéralVancouver Quadra
    54.3Will Greaves Liberal/LibéralVictoria
    59.7Patrick Weiler ** Liberal/LibéralWest Vancouver–Sunshine Coast–Sea to Sky Country

    Conservative Party Details

    Percentage of VotesCandidateElectoral District Name
    52.7Brad Redekopp ** Conservative/ConservateurSaskatoon West/Saskatoon-Ouest
    54.1Clifford Small ** Conservative/ConservateurCentral Newfoundland
    50.3Carol Anstey Conservative/ConservateurLong Range Mountains
    53.4Rob Moore ** Conservative/ConservateurFundy Royal
    53.1John Williamson ** Conservative/ConservateurSaint John–St. Croix
    58.8Richard Bragdon ** Conservative/ConservateurTobique–Mactaquac
    59.7Jason Groleau Conservative/ConservateurBeauce
    58.8Luc Berthold ** Conservative/ConservateurMégantic–L’Érable–Lotbinière
    55.7Cheryl Gallant ** Conservative/ConservateurAlgonquin–Renfrew–Pembroke
    54.7Costas Menegakis Conservative/ConservateurAurora–Oak Ridges–Richmond Hill
    57.8John Brassard ** Conservative/ConservateurBarrie South–Innisfil/Barrie-Sud–Innisfil
    51.7Doug Shipley ** Conservative/ConservateurBarrie–Springwater–Oro-Medonte
    52.4Larry Brock ** Conservative/ConservateurBrantford–Brant South–Six Nations/Brantford–Brant-Sud–Six Nations
    53Alex Ruff ** Conservative/ConservateurBruce–Grey–Owen Sound
    57.5Dave Epp ** Conservative/ConservateurChatham-Kent–Leamington
    60.1Kyle Seeback ** Conservative/ConservateurDufferin–Caledon
    50.1Andrew Lawton Conservative/ConservateurElgin–St. Thomas–London South/Elgin–St. Thomas–London-Sud
    57.5Chris Lewis ** Conservative/ConservateurEssex
    52.7Dan Muys ** Conservative/ConservateurFlamborough–Glanbrook–Brant North/Flamborough–Glanbrook–Brant-Nord
    57.6Leslyn Lewis ** Conservative/ConservateurHaldimand–Norfolk
    56.6Jamie Schmale ** Conservative/ConservateurHaliburton–Kawartha Lakes
    54.3Shelby Kramp-Neuman ** Conservative/ConservateurHastings–Lennox and Addington–Tyendinaga
    53.2Ben Lobb ** Conservative/ConservateurHuron–Bruce
    61.5Anna Roberts ** Conservative/ConservateurKing–Vaughan
    50.4Scott Reid ** Conservative/ConservateurLanark–Frontenac
    50.7Michael Ma Conservative/ConservateurMarkham–Unionville
    51.7Lianne Rood ** Conservative/ConservateurMiddlesex–London
    59.4Scot Davidson ** Conservative/ConservateurNew Tecumseth–Gwillimbury
    50.6Sandra Cobena Conservative/ConservateurNewmarket–Aurora
    51.7Dean Allison ** Conservative/ConservateurNiagara West/Niagara-Ouest
    53.4Arpan Khanna ** Conservative/ConservateurOxford
    52.2Scott Aitchison ** Conservative/ConservateurParry Sound–Muskoka
    53John Nater ** Conservative/ConservateurPerth–Wellington
    52.3Vincent Ho Conservative/ConservateurRichmond Hill South/Richmond Hill-Sud
    53.1Marilyn Gladu ** Conservative/ConservateurSarnia–Lambton–Bkejwanong
    52.1Terry Dowdall ** Conservative/ConservateurSimcoe–Grey
    56.3Eric Duncan ** Conservative/ConservateurStormont–Dundas–Glengarry
    66.4Melissa Lantsman ** Conservative/ConservateurThornhill
    60Michael Guglielmin Conservative/ConservateurVaughan–Woodbridge
    50.6Michael Chong ** Conservative/ConservateurWellington–Halton Hills North/Wellington–Halton Hills-Nord
    54.8Roman Baber Conservative/ConservateurYork Centre/York-Centre
    55.6Jacob Mantle Conservative/ConservateurYork–Durham
    62.2Grant Jackson Conservative/ConservateurBrandon–Souris
    69.4Branden Leslie ** Conservative/ConservateurPortage–Lisgar
    66.3Ted Falk ** Conservative/ConservateurProvencher
    67.8Dan Mazier ** Conservative/ConservateurRiding Mountain/Mont-Riding
    60.2James Bezan ** Conservative/ConservateurSelkirk–Interlake–Eastman
    75.8Rosemarie Falk ** Conservative/ConservateurBattlefords–Lloydminster–Meadow Lake
    77.4Kelly Block ** Conservative/ConservateurCarlton Trail–Eagle Creek/Sentier Carlton–Eagle Creek
    71.9Fraser Tolmie ** Conservative/ConservateurMoose Jaw–Lake Centre–Lanigan
    71.5Randy Hoback ** Conservative/ConservateurPrince Albert
    64Andrew Scheer ** Conservative/ConservateurRegina–Qu’Appelle
    50.1Michael Kram ** Conservative/ConservateurRegina–Wascana
    84Steven Bonk Conservative/ConservateurSouris–Moose Mountain
    82Jeremy Patzer ** Conservative/ConservateurSwift Current–Grasslands–Kindersley
    77.5Cathay Wagantall ** Conservative/ConservateurYorkton–Melville
    71.2Blake Richards ** Conservative/ConservateurAirdrie–Cochrane
    82.8Damien Kurek ** Conservative/ConservateurBattle River–Crowfoot
    78.9David Bexte Conservative/ConservateurBow River
    50.2Greg McLean ** Conservative/ConservateurCalgary Centre/Calgary-Centre
    58.8Pat Kelly ** Conservative/ConservateurCalgary Crowfoot
    60.5Jasraj Hallan ** Conservative/ConservateurCalgary East/Calgary-Est
    61.4Shuv Majumdar ** Conservative/ConservateurCalgary Heritage
    65.5Stephanie Kusie ** Conservative/ConservateurCalgary Midnapore
    59.4Michelle Rempel Garner ** Conservative/ConservateurCalgary Nose Hill
    68Tom Kmiec ** Conservative/ConservateurCalgary Shepard
    60.1David GL McKenzie Conservative/ConservateurCalgary Signal Hill
    55.4Amanpreet S. Gill Conservative/ConservateurCalgary Skyview
    50.6Tim Uppal ** Conservative/ConservateurEdmonton Gateway
    53.1Ziad Aboultaif ** Conservative/ConservateurEdmonton Manning
    53.4Billy Morin Conservative/ConservateurEdmonton Northwest/Edmonton-Nord-Ouest
    50.2Matt Jeneroux ** Conservative/ConservateurEdmonton Riverbend
    52.9Jagsharan Singh Mahal Conservative/ConservateurEdmonton Southeast/Edmonton-Sud-Est
    52.9Kelly McCauley ** Conservative/ConservateurEdmonton West/Edmonton-Ouest
    76.3John Barlow ** Conservative/ConservateurFoothills
    80.2Laila Goodridge ** Conservative/ConservateurFort McMurray–Cold Lake
    81.7Chris Warkentin ** Conservative/ConservateurGrande Prairie
    81Shannon Stubbs ** Conservative/ConservateurLakeland
    74.7Mike Lake ** Conservative/ConservateurLeduc–Wetaskiwin
    61.1Rachael Thomas ** Conservative/ConservateurLethbridge
    76.7Glen Motz ** Conservative/ConservateurMedicine Hat–Cardston–Warner
    75.2Dane Lloyd ** Conservative/ConservateurParkland
    77.1Arnold Viersen ** Conservative/ConservateurPeace River–Westlock
    81.8Blaine Calkins ** Conservative/ConservateurPonoka–Didsbury
    71.6Burton Bailey Conservative/ConservateurRed Deer
    63.9Michael Cooper ** Conservative/ConservateurSt. Albert–Sturgeon River
    66.3Garnett Genuis ** Conservative/ConservateurSherwood Park–Fort Saskatchewan
    69.1William Stevenson Conservative/ConservateurYellowhead
    60.3Todd Doherty ** Conservative/ConservateurCariboo–Prince George
    54.8Mark Strahl ** Conservative/ConservateurChilliwack–Hope
    50.4Rob Morrison ** Conservative/ConservateurColumbia–Kootenay–Southern Rockies
    52.2Mel Arnold ** Conservative/ConservateurKamloops–Shuswap–Central Rockies
    51.5Frank Caputo ** Conservative/ConservateurKamloops–Thompson–Nicola
    51.4Tako Van Popta ** Conservative/ConservateurLangley Township–Fraser Heights
    56.7Brad Vis ** Conservative/ConservateurMission–Matsqui–Abbotsford
    50.9Dan Albas ** Conservative/ConservateurOkanagan Lake West–South Kelowna/Okanagan Lake-Ouest–Kelowna-Sud
    71.1Bob Zimmer ** Conservative/ConservateurPrince George–Peace River–Northern Rockies
    50.4Scott Anderson Conservative/ConservateurVernon–Lake Country–Monashee

    After the seats that are won be majority vote in their respective ridings are removed from the pool of available seats, we’re left with 122 unfilled seats. And when those unfilled seats are filled, we still need to arrive at a proportional results.

    Open Party List Seats

    One of the perceived weaknesses of a mixed-member proportional system is the risk of a non-local, regional party representative being appointed. However, this does not have to be the case.

    Seats that were not filled by majority vote can be forfeited to party open lists. And, those seats could be filled by respective local party candidates in ridings that didn’t elect a majority.

    How can party seat allotment of local candidates be determined proportionately? For this, I suggest a formula called the Sainte-Laguë Method. This method is designed to apportion seats in a in a party-list proportional representation system by calculating a quotient.

    The algebraic expression of this formula is:

    • v = The number of votes a party received.
    • s = The number of seats that have been allocated so far to that party (initially 0).
    • Quotient = v / (2s + 1)

    In practice, the way this works is to first determine the total number of open seats remaining that need to be filled. A quotient for each party is calculated. The number of seats each party already has by majority vote will be reflected in the quotient. The party with the highest quotient gets the next seat allocated, and quotients are recalculated. The process repeats until all seats have been allocated.

    This method isn’t perfect. An obvious weakness is that seats might be allotted to candidates that had an overwhelming majority against them in their respective ridings. However, this method would be reserved for ridings where a majority for seat assignment was not reached. The appointed candidates would be local to the riding they represent, and the overall composition in the House of Commons would reflect the popular vote of the people.

    PartyNumber of Seats
    Bloc Québécois22
    Conservative Party44
    Green Party4
    Independants1
    Liberal Party27
    NDP22
    People’s Party2
    Total122

    Results

    PartyPopular VoteNumber of Seats
    Bloc Québécois6.29%22
    Conservative Party41.31%142
    Green Party1.22%4
    Independants0.17%1
    Liberal Party43.76%150
    NDP6.29%22
    People’s Party0.70%2
    Total100%343
    PartyElectoral DistrictCandidateWon MajorityWon Open ListQuotient
    Liberal PartyCape SpearTom Osborne Liberal/Libéralyesno8595488
    Liberal PartyDartmouth–Cole HarbourDarren Fisher ** Liberal/Libéralyesno2865163
    Liberal PartyBeaches–East YorkNate Erskine-Smith ** Liberal/Libéralyesno1719098
    Liberal PartyLac-Saint-LouisFrancis Scarpaleggia ** Liberal/Libéralyesno1227927
    Liberal PartyAcadie–BathurstSerge Cormier ** Liberal/Libéralyesno955054
    Liberal PartyOrléansMarie-France Lalonde ** Liberal/Libéralyesno781408
    Liberal PartyOttawa–Vanier–GloucesterMona Fortier ** Liberal/Libéralyesno661191
    Liberal PartyToronto–DanforthJulie Dabrusin ** Liberal/Libéralyesno573033
    Liberal PartyHalifax West/Halifax-OuestLena Metlege Diab ** Liberal/Libéralyesno505617
    Liberal PartySaint-Léonard–Saint-MichelPatricia Lattanzio ** Liberal/Libéralyesno452394
    Liberal PartyOttawa South/Ottawa-SudDavid McGuinty ** Liberal/Libéralyesno409309
    Liberal PartyCharlottetownSean Casey ** Liberal/Libéralyesno373717
    Liberal PartyToronto Centre/Toronto-CentreEvan Solomon Liberal/Libéralyesno343820
    Liberal PartyUniversity–RosedaleChrystia Freeland ** Liberal/Libéralyesno318351
    Liberal PartyScarborough–Guildwood–Rouge ParkGary Anandasangaree ** Liberal/Libéralyesno296396
    Liberal PartyNotre-Dame-de-Grâce–WestmountAnna Gainey ** Liberal/Libéralyesno277274
    Liberal PartyNepeanMark Carney Liberal/Libéralyesno260469
    Liberal PartyVille-Marie–Le Sud-Ouest–Île-des-SoeursMarc Miller ** Liberal/Libéralyesno245585
    Liberal PartyOttawa West–Nepean/Ottawa-Ouest–NepeanAnita Vandenbeld ** Liberal/Libéralyesno232310
    Liberal PartyWinnipeg South Centre/Winnipeg-Centre-SudBen Carr ** Liberal/Libéralyesno220397
    Liberal PartyKingston and the Islands/Kingston et les ÎlesMark Gerretsen ** Liberal/Libéralyesno209646
    Liberal PartyVancouver QuadraWade Grant Liberal/Libéralyesno199895
    Liberal PartyHalifaxShannon Miedema Liberal/Libéralyesno191011
    Liberal PartyMoncton–DieppeGinette Petitpas Taylor ** Liberal/Libéralyesno182883
    Liberal PartyScarborough North/Scarborough-NordShaun Chen ** Liberal/Libéralyesno175418
    Liberal PartyOttawa Centre/Ottawa-CentreYasir Naqvi ** Liberal/Libéralyesno168539
    Liberal PartyDon Valley West/Don Valley-OuestRob Oliphant ** Liberal/Libéralyesno162179
    Liberal PartySt. John’s East/St. John’s-EstJoanne Thompson ** Liberal/Libéralyesno156282
    Liberal PartyBrossard–Saint-LambertAlexandra Mendès ** Liberal/Libéralyesno150798
    Liberal PartyVancouver GranvilleTaleeb Noormohamed ** Liberal/Libéralyesno145686
    Liberal PartyHull–AylmerGreg Fergus ** Liberal/Libéralyesno140910
    Liberal PartySackville–Bedford–PrestonBraedon Clark Liberal/Libéralyesno136436
    Liberal PartyToronto–St. Paul’sLeslie Church Liberal/Libéralyesno132238
    Liberal PartyScarborough Southwest/Scarborough-Sud-OuestBill Blair ** Liberal/Libéralyesno128291
    Liberal PartyFredericton–OromoctoDavid Myles Liberal/Libéralyesno124572
    Liberal PartyAhuntsic-CartiervilleMélanie Joly ** Liberal/Libéralyesno121063
    Liberal PartyKanataJenna Sudds ** Liberal/Libéralyesno117746
    Liberal PartyBeauséjourDominic LeBlanc ** Liberal/Libéralyesno114607
    Liberal PartyKings–HantsKody Blois ** Liberal/Libéralyesno111630
    Liberal PartyGatineauSteven MacKinnon ** Liberal/Libéralyesno108804
    Liberal PartyScarborough–WoburnMichael Coteau ** Liberal/Libéralyesno106117
    Liberal PartyHonoré-MercierEric St-Pierre Liberal/Libéralyesno103560
    Liberal PartyPierrefonds–DollardSameer Zuberi ** Liberal/Libéralyesno101123
    Liberal PartySpadina–HarbourfrontChi Nguyen Liberal/Libéralyesno98799
    Liberal PartyNorth Vancouver–CapilanoJonathan Wilkinson ** Liberal/Libéralyesno96579
    Liberal PartySt. Boniface–St. Vital/Saint-Boniface–Saint-VitalGinette Lavack Liberal/Libéralyesno94456
    Liberal PartyWest Vancouver–Sunshine Coast–Sea to Sky CountryPatrick Weiler ** Liberal/Libéralyesno92425
    Liberal PartyWaterlooBardish Chagger ** Liberal/Libéralyesno90479
    Liberal PartyDorval–Lachine–LaSalleAnju Dhillon ** Liberal/Libéralyesno88613
    Liberal PartyBurnaby North–Seymour/Burnaby-Nord–SeymourTerry Beech ** Liberal/Libéralyesno86823
    Liberal PartyWinnipeg South/Winnipeg-SudTerry Duguid ** Liberal/Libéralyesno85104
    Liberal PartySaint-LaurentEmmanuella Lambropoulos ** Liberal/Libéralyesno83451
    Liberal PartyAvalonPaul Connors Liberal/Libéralyesno81862
    Liberal PartyBourassaAbdelhaq Sari Liberal/Libéralyesno80332
    Liberal PartySaint John–KennebecasisWayne Long ** Liberal/Libéralyesno78858
    Liberal PartyVaudreuilPeter Schiefke ** Liberal/Libéralyesno77437
    Liberal PartyWinnipeg North/Winnipeg-NordKevin Lamoureux ** Liberal/Libéralyesno76066
    Liberal PartyDavenportJulie Dzerowicz ** Liberal/Libéralyesno74743
    Liberal PartyMalpequeHeath MacDonald ** Liberal/Libéralyesno73466
    Liberal PartyEtobicoke–LakeshoreJames Maloney ** Liberal/Libéralyesno72231
    Liberal PartyScarborough Centre–Don Valley East/Scarborough-Centre–Don Valley-EstSalma Zahid ** Liberal/Libéralyesno71037
    Liberal PartyCardiganKent MacDonald Liberal/Libéralyesno69882
    Liberal PartyLondon Centre/London-CentrePeter Fragiskatos ** Liberal/Libéralyesno68764
    Liberal PartyAjaxJennifer McKelvie Liberal/Libéralyesno67681
    Liberal PartyLondon West/London-OuestArielle Kayabaga ** Liberal/Libéralyesno66632
    Liberal PartyHamilton West–Ancaster–Dundas/Hamilton-Ouest–Ancaster–DundasJohn-Paul Danko Liberal/Libéralyesno65614
    Liberal PartyBurlingtonKarina Gould ** Liberal/Libéralyesno64628
    Liberal PartyTaiaiako’n–Parkdale–High ParkKarim Bardeesy Liberal/Libéralyesno63670
    Liberal PartyMississauga–Erin MillsIqra Khalid ** Liberal/Libéralyesno62741
    Liberal PartyHumber River–Black CreekJudy Sgro ** Liberal/Libéralyesno61838
    Liberal PartyLouis-HébertJoël Lightbound ** Liberal/Libéralyesno60961
    Liberal PartyYork South–Weston–Etobicoke/York-Sud–Weston–EtobicokeAhmed Hussen ** Liberal/Libéralyesno60108
    Liberal PartyVancouver Centre/Vancouver-CentreHedy Fry ** Liberal/Libéralyesno59279
    Liberal PartyOutremontRachel Bendayan ** Liberal/Libéralyesno58473
    Liberal PartyThunder Bay–Superior North/Thunder Bay–Supérieur-NordPatty Hajdu ** Liberal/Libéralyesno57688
    Liberal PartyMadawaska–RestigoucheGuillaume Deschênes-Thériault Liberal/Libéralyesno56924
    Liberal PartySouth Shore–St. MargaretsJessica Fancy-Landry Liberal/Libéralyesno56180
    Liberal PartyPrescott–Russell–CumberlandGiovanna Mingarelli Liberal/Libéralyesno55455
    Liberal PartyGuelphDominique O’Rourke Liberal/Libéralyesno54748
    Liberal PartyAlfred-PellanAngelo Iacono ** Liberal/Libéralyesno54060
    Liberal PartyPontiac–Kitigan ZibiSophie Chatel ** Liberal/Libéralyesno53388
    Liberal PartySydney–Glace BayMike Kelloway ** Liberal/Libéralyesno52733
    Liberal PartyWinnipeg West/Winnipeg-OuestDoug Eyolfson Liberal/Libéralyesno52094
    Liberal PartyMarkham–ThornhillTim Hodgson Liberal/Libéralyesno51470
    Liberal PartyPeterboroughEmma Harrison Liberal/Libéralyesno50861
    Liberal PartyVictoriaWill Greaves Liberal/Libéralyesno50266
    Liberal PartyScarborough–AgincourtJean Yip ** Liberal/Libéralyesno49685
    Liberal PartyPickering–BrooklinJuanita Nathan Liberal/Libéralyesno49117
    Liberal PartyMississauga Centre/Mississauga-CentreFares Al Soud Liberal/Libéralyesno48562
    Liberal PartyEtobicoke Centre/Etobicoke-CentreYvan Baker ** Liberal/Libéralyesno48019
    Liberal PartyNorthwest Territories/Territoires du Nord-OuestRebecca Alty Liberal/Libéralyesno47489
    Liberal PartyVimyAnnie Koutrakis ** Liberal/Libéralyesno46970
    Liberal PartyWillowdaleAli Ehsassi ** Liberal/Libéralyesno46462
    Liberal PartyMississauga–MaltonIqwinder Singh Gaheer ** Liberal/Libéralyesno45965
    Liberal PartyDon Valley North/Don Valley-NordMaggie Chi Liberal/Libéralyesno45479
    Liberal PartyOakville West/Oakville-OuestSima Acan Liberal/Libéralyesno45003
    Liberal PartyYukonBrendan Hanley ** Liberal/Libéralyesno44536
    Liberal PartyPapineauMarjorie Michel Liberal/Libéralyesno44079
    Liberal PartyBurlington North–Milton West/Burlington-Nord–Milton-OuestAdam Van Koeverden ** Liberal/Libéralyesno43632
    Liberal PartyWhitbyRyan Turnbull ** Liberal/Libéralyesno43193
    Liberal PartyEtobicoke North/Etobicoke-NordJohn Zerucelli Liberal/Libéralyesno42764
    Liberal PartyMississauga–LakeshoreCharles Sousa ** Liberal/Libéralyesno42342
    Liberal PartyVancouver Fraserview–South Burnaby/Vancouver Fraserview–Burnaby-SudGregor Robertson Liberal/Libéralyesno41929
    Liberal PartyLaurier–Sainte-MarieSteven Guilbeault ** Liberal/Libéralyesno41524
    Liberal PartySt. CatharinesChris Bittle ** Liberal/Libéralyesno41127
    Liberal PartyMarc-Aurèle-FortinCarlos Leitão Liberal/Libéralyesno40737
    Liberal PartySudburyViviane Lapointe ** Liberal/Libéralyesno40354
    Liberal PartyCentral Nova/Nova-CentreSean Fraser ** Liberal/Libéralyesno39979
    Liberal PartyEgmontBobby Morrissey ** Liberal/Libéralyesno39611
    Liberal PartyDeltaJill McKnight Liberal/Libéralyesno39249
    Liberal PartyCape Breton–Canso–AntigonishJaime Battiste ** Liberal/Libéralyesno38894
    Liberal PartyMississauga–StreetsvilleRechie Valdez ** Liberal/Libéralyesno38545
    Liberal PartyMarkham–StouffvilleHelena Jaczek ** Liberal/Libéralyesno38202
    Liberal PartySherbrookeÉlisabeth Brière ** Liberal/Libéralyesno37866
    Liberal PartyOakville East/Oakville-EstAnita Anand ** Liberal/Libéralyesno37535
    Liberal PartyMount Royal/Mont-RoyalAnthony Housefather ** Liberal/Libéralyesno37210
    Liberal PartyCarletonBruce Fanjoy Liberal/Libéralyesno36891
    Liberal PartyLaSalle–Émard–VerdunClaude Guay Liberal/Libéralyesno36577
    Liberal PartySouth Surrey–White Rock/Surrey-Sud–White RockErnie Klassen Liberal/Libéralyesno36268
    Liberal PartyBay of QuinteChris Malette Liberal/Libéralyesno35964
    Liberal PartyMississauga East–Cooksville/Mississauga-Est–CooksvillePeter Fonseca ** Liberal/Libéralyesno35666
    Liberal PartyDesnethé–Missinippi–Churchill River/Desnethé–Missinippi–Rivière ChurchillBuckley Belanger Liberal/Libéralyesno35372
    Liberal PartyLabradorPhilip Earle Liberal/Libéralyesno35084
    Liberal PartySaint-Maurice–ChamplainFrançois-Philippe Champagne ** Liberal/Libéralnoyes34800
    Liberal PartyLaval–Les ÎlesFayçal El-Khoury ** Liberal/Libéralnoyes34520
    Liberal PartySurrey NewtonSukh Dhaliwal ** Liberal/Libéralnoyes34245
    Liberal PartyLongueuil–Charles-LeMoyneSherry Romanado ** Liberal/Libéralnoyes33974
    Liberal PartyEglinton–LawrenceVince Gasparro Liberal/Libéralnoyes33708
    Liberal PartyBrampton South/Brampton-SudSonia Sidhu ** Liberal/Libéralnoyes33445
    Liberal PartyBrampton North–Caledon/Brampton-Nord–CaledonRuby Sahota ** Liberal/Libéralnoyes33187
    Liberal PartyKelownaStephen Fuhr Liberal/Libéralnoyes32933
    Liberal PartyBrampton–Chinguacousy ParkShafqat Ali ** Liberal/Libéralnoyes32682
    Liberal PartyThunder Bay–Rainy RiverMarcus Powlowski ** Liberal/Libéralnoyes32436
    Liberal PartyRichmond East–Steveston/Richmond-Est–StevestonParm Bains ** Liberal/Libéralnoyes32193
    Liberal PartyBrampton Centre/Brampton-CentreAmandeep Sodhi Liberal/Libéralnoyes31953
    Liberal PartyBrome–MissisquoiLouis Villeneuve Liberal/Libéralnoyes31718
    Liberal PartyCumberland–ColchesterAlana Hirtle Liberal/Libéralnoyes31485
    Liberal PartySurrey Centre/Surrey-CentreRandeep Sarai ** Liberal/Libéralnoyes31256
    Liberal PartyFleetwood–Port KellsGurbux Saini Liberal/Libéralnoyes31031
    Liberal PartyArgenteuil–La Petite-NationStéphane Lauzon ** Liberal/Libéralnoyes30808
    Liberal PartyCoquitlam–Port CoquitlamRon McKinnon ** Liberal/Libéralnoyes30589
    Liberal PartyMont-Saint-Bruno–L’AcadieBienvenu-Olivier Ntumba Liberal/Libéralnoyes30373
    Liberal PartyThérèse-De BlainvilleMadeleine Chenette Liberal/Libéralnoyes30160
    Liberal PartyCompton–StansteadMarianne Dandurand Liberal/Libéralnoyes29949
    Liberal PartyRivière-des-Mille-ÎlesLinda Lapointe Liberal/Libéralnoyes29742
    Liberal PartyChâteauguay–Les Jardins-de-NapiervilleNathalie Provost Liberal/Libéralnoyes29538
    Liberal PartyLa Prairie–AtatekenJacques Ramsay Liberal/Libéralnoyes29336
    Liberal PartyAbitibi–Baie-James–Nunavik–EeyouMandy Gull-Masty Liberal/Libéralnoyes29137
    Liberal PartyLes Pays-d’en-HautTim Watchorn Liberal/Libéralnoyes28941
    Liberal PartyTrois-RivièresCaroline Desrochers Liberal/Libéralnoyes28747
    Conservative PartySouris–Moose MountainSteven Bonk Conservative/Conservateuryesno8113484
    Conservative PartyBattle River–CrowfootDamien Kurek ** Conservative/Conservateuryesno2704495
    Conservative PartySwift Current–Grasslands–KindersleyJeremy Patzer ** Conservative/Conservateuryesno1622697
    Conservative PartyPonoka–DidsburyBlaine Calkins ** Conservative/Conservateuryesno1159069
    Conservative PartyGrande PrairieChris Warkentin ** Conservative/Conservateuryesno901498
    Conservative PartyLakelandShannon Stubbs ** Conservative/Conservateuryesno737589
    Conservative PartyFort McMurray–Cold LakeLaila Goodridge ** Conservative/Conservateuryesno624114
    Conservative PartyBow RiverDavid Bexte Conservative/Conservateuryesno540899
    Conservative PartyYorkton–MelvilleCathay Wagantall ** Conservative/Conservateuryesno477264
    Conservative PartyCarlton Trail–Eagle Creek/Sentier Carlton–Eagle CreekKelly Block ** Conservative/Conservateuryesno427025
    Conservative PartyPeace River–WestlockArnold Viersen ** Conservative/Conservateuryesno386356
    Conservative PartyMedicine Hat–Cardston–WarnerGlen Motz ** Conservative/Conservateuryesno352760
    Conservative PartyFoothillsJohn Barlow ** Conservative/Conservateuryesno324539
    Conservative PartyBattlefords–Lloydminster–Meadow LakeRosemarie Falk ** Conservative/Conservateuryesno300499
    Conservative PartyParklandDane Lloyd ** Conservative/Conservateuryesno279775
    Conservative PartyLeduc–WetaskiwinMike Lake ** Conservative/Conservateuryesno261725
    Conservative PartyMoose Jaw–Lake Centre–LaniganFraser Tolmie ** Conservative/Conservateuryesno245863
    Conservative PartyRed DeerBurton Bailey Conservative/Conservateuryesno231814
    Conservative PartyPrince AlbertRandy Hoback ** Conservative/Conservateuryesno219283
    Conservative PartyAirdrie–CochraneBlake Richards ** Conservative/Conservateuryesno208038
    Conservative PartyPrince George–Peace River–Northern RockiesBob Zimmer ** Conservative/Conservateuryesno197890
    Conservative PartyPortage–LisgarBranden Leslie ** Conservative/Conservateuryesno188686
    Conservative PartyYellowheadWilliam Stevenson Conservative/Conservateuryesno180300
    Conservative PartyCalgary ShepardTom Kmiec ** Conservative/Conservateuryesno172627
    Conservative PartyRiding Mountain/Mont-RidingDan Mazier ** Conservative/Conservateuryesno165581
    Conservative PartyThornhillMelissa Lantsman ** Conservative/Conservateuryesno159088
    Conservative PartySherwood Park–Fort SaskatchewanGarnett Genuis ** Conservative/Conservateuryesno153085
    Conservative PartyProvencherTed Falk ** Conservative/Conservateuryesno147518
    Conservative PartyCalgary MidnaporeStephanie Kusie ** Conservative/Conservateuryesno142342
    Conservative PartyRegina–Qu’AppelleAndrew Scheer ** Conservative/Conservateuryesno137517
    Conservative PartySt. Albert–Sturgeon RiverMichael Cooper ** Conservative/Conservateuryesno133008
    Conservative PartyBrandon–SourisGrant Jackson Conservative/Conservateuryesno128785
    Conservative PartyKing–VaughanAnna Roberts ** Conservative/Conservateuryesno124823
    Conservative PartyCalgary HeritageShuv Majumdar ** Conservative/Conservateuryesno121097
    Conservative PartyLethbridgeRachael Thomas ** Conservative/Conservateuryesno117587
    Conservative PartyCalgary East/Calgary-EstJasraj Hallan ** Conservative/Conservateuryesno114274
    Conservative PartyCariboo–Prince GeorgeTodd Doherty ** Conservative/Conservateuryesno111144
    Conservative PartySelkirk–Interlake–EastmanJames Bezan ** Conservative/Conservateuryesno108180
    Conservative PartyDufferin–CaledonKyle Seeback ** Conservative/Conservateuryesno105370
    Conservative PartyCalgary Signal HillDavid GL McKenzie Conservative/Conservateuryesno102702
    Conservative PartyVaughan–WoodbridgeMichael Guglielmin Conservative/Conservateuryesno100166
    Conservative PartyBeauceJason Groleau Conservative/Conservateuryesno97753
    Conservative PartyNew Tecumseth–GwillimburyScot Davidson ** Conservative/Conservateuryesno95453
    Conservative PartyCalgary Nose HillMichelle Rempel Garner ** Conservative/Conservateuryesno93258
    Conservative PartyCalgary CrowfootPat Kelly ** Conservative/Conservateuryesno91163
    Conservative PartyMégantic–L’Érable–LotbinièreLuc Berthold ** Conservative/Conservateuryesno89159
    Conservative PartyTobique–MactaquacRichard Bragdon ** Conservative/Conservateuryesno87242
    Conservative PartyBarrie South–Innisfil/Barrie-Sud–InnisfilJohn Brassard ** Conservative/Conservateuryesno85405
    Conservative PartyHaldimand–NorfolkLeslyn Lewis ** Conservative/Conservateuryesno83644
    Conservative PartyEssexChris Lewis ** Conservative/Conservateuryesno81954
    Conservative PartyChatham-Kent–LeamingtonDave Epp ** Conservative/Conservateuryesno80332
    Conservative PartyMission–Matsqui–AbbotsfordBrad Vis ** Conservative/Conservateuryesno78772
    Conservative PartyHaliburton–Kawartha LakesJamie Schmale ** Conservative/Conservateuryesno77271
    Conservative PartyStormont–Dundas–GlengarryEric Duncan ** Conservative/Conservateuryesno75827
    Conservative PartyAlgonquin–Renfrew–PembrokeCheryl Gallant ** Conservative/Conservateuryesno74436
    Conservative PartyYork–DurhamJacob Mantle Conservative/Conservateuryesno73094
    Conservative PartyCalgary SkyviewAmanpreet S. Gill Conservative/Conservateuryesno71801
    Conservative PartyChilliwack–HopeMark Strahl ** Conservative/Conservateuryesno70552
    Conservative PartyYork Centre/York-CentreRoman Baber Conservative/Conservateuryesno69346
    Conservative PartyAurora–Oak Ridges–Richmond HillCostas Menegakis Conservative/Conservateuryesno68181
    Conservative PartyHastings–Lennox and Addington–TyendinagaShelby Kramp-Neuman ** Conservative/Conservateuryesno67054
    Conservative PartyCentral NewfoundlandClifford Small ** Conservative/Conservateuryesno65963
    Conservative PartyOxfordArpan Khanna ** Conservative/Conservateuryesno64908
    Conservative PartyEdmonton Northwest/Edmonton-Nord-OuestBilly Morin Conservative/Conservateuryesno63886
    Conservative PartyFundy RoyalRob Moore ** Conservative/Conservateuryesno62895
    Conservative PartyHuron–BruceBen Lobb ** Conservative/Conservateuryesno61935
    Conservative PartySarnia–Lambton–BkejwanongMarilyn Gladu ** Conservative/Conservateuryesno61004
    Conservative PartySaint John–St. CroixJohn Williamson ** Conservative/Conservateuryesno60100
    Conservative PartyEdmonton ManningZiad Aboultaif ** Conservative/Conservateuryesno59223
    Conservative PartyBruce–Grey–Owen SoundAlex Ruff ** Conservative/Conservateuryesno58370
    Conservative PartyPerth–WellingtonJohn Nater ** Conservative/Conservateuryesno57542
    Conservative PartyEdmonton West/Edmonton-OuestKelly McCauley ** Conservative/Conservateuryesno56738
    Conservative PartyEdmonton Southeast/Edmonton-Sud-EstJagsharan Singh Mahal Conservative/Conservateuryesno55955
    Conservative PartyFlamborough–Glanbrook–Brant North/Flamborough–Glanbrook–Brant-NordDan Muys ** Conservative/Conservateuryesno55194
    Conservative PartySaskatoon West/Saskatoon-OuestBrad Redekopp ** Conservative/Conservateuryesno54453
    Conservative PartyBrantford–Brant South–Six Nations/Brantford–Brant-Sud–Six NationsLarry Brock ** Conservative/Conservateuryesno53732
    Conservative PartyRichmond Hill South/Richmond Hill-SudVincent Ho Conservative/Conservateuryesno53029
    Conservative PartyKamloops–Shuswap–Central RockiesMel Arnold ** Conservative/Conservateuryesno52345
    Conservative PartyParry Sound–MuskokaScott Aitchison ** Conservative/Conservateuryesno51678
    Conservative PartySimcoe–GreyTerry Dowdall ** Conservative/Conservateuryesno51028
    Conservative PartyNiagara West/Niagara-OuestDean Allison ** Conservative/Conservateuryesno50394
    Conservative PartyMiddlesex–LondonLianne Rood ** Conservative/Conservateuryesno49776
    Conservative PartyBarrie–Springwater–Oro-MedonteDoug Shipley ** Conservative/Conservateuryesno49173
    Conservative PartyKamloops–Thompson–NicolaFrank Caputo ** Conservative/Conservateuryesno48584
    Conservative PartyLangley Township–Fraser HeightsTako Van Popta ** Conservative/Conservateuryesno48009
    Conservative PartyOkanagan Lake West–South Kelowna/Okanagan Lake-Ouest–Kelowna-SudDan Albas ** Conservative/Conservateuryesno47447
    Conservative PartyMarkham–UnionvilleMichael Ma Conservative/Conservateuryesno46899
    Conservative PartyWellington–Halton Hills North/Wellington–Halton Hills-NordMichael Chong ** Conservative/Conservateuryesno46363
    Conservative PartyNewmarket–AuroraSandra Cobena Conservative/Conservateuryesno45839
    Conservative PartyEdmonton GatewayTim Uppal ** Conservative/Conservateuryesno45327
    Conservative PartyColumbia–Kootenay–Southern RockiesRob Morrison ** Conservative/Conservateuryesno44826
    Conservative PartyLanark–FrontenacScott Reid ** Conservative/Conservateuryesno44336
    Conservative PartyVernon–Lake Country–MonasheeScott Anderson Conservative/Conservateuryesno43857
    Conservative PartyLong Range MountainsCarol Anstey Conservative/Conservateuryesno43388
    Conservative PartyCalgary Centre/Calgary-CentreGreg McLean ** Conservative/Conservateuryesno42928
    Conservative PartyEdmonton RiverbendMatt Jeneroux ** Conservative/Conservateuryesno42479
    Conservative PartyElgin–St. Thomas–London South/Elgin–St. Thomas–London-SudAndrew Lawton Conservative/Conservateuryesno42039
    Conservative PartyRegina–WascanaMichael Kram ** Conservative/Conservateuryesno41608
    Conservative PartyLeeds–Grenville–Thousand Islands–Rideau LakesMichael Barrett ** Conservative/Conservateurnoyes41185
    Conservative PartyRegina–LewvanWarren Steinley ** Conservative/Conservateurnoyes40771
    Conservative PartyBowmanville–Oshawa North/Bowmanville–Oshawa-NordJamil Jivani ** Conservative/Conservateurnoyes40366
    Conservative PartyBrampton West/Brampton-OuestAmarjeet Gill Conservative/Conservateurnoyes39968
    Conservative PartyPortneuf–Jacques-CartierJoël Godin ** Conservative/Conservateurnoyes39578
    Conservative PartyRichmond Centre–Marpole/Richmond-Centre–MarpoleChak Au Conservative/Conservateurnoyes39196
    Conservative PartySaskatoon South/Saskatoon-SudKevin Waugh ** Conservative/Conservateurnoyes38820
    Conservative PartyBellechasse–Les Etchemins–LévisDominique Vien ** Conservative/Conservateurnoyes38453
    Conservative PartyNiagara Falls–Niagara-on-the-LakeTony Baldinelli ** Conservative/Conservateurnoyes38091
    Conservative PartyCalgary McKnightDalwinder Gill Conservative/Conservateurnoyes37737
    Conservative PartyNorthumberland–ClarkePhilip Lawrence ** Conservative/Conservateurnoyes37389
    Conservative PartySaskatoon–UniversityCorey Tochor ** Conservative/Conservateurnoyes37048
    Conservative PartyKapuskasing–Timmins–MushkegowukGaétan Malette Conservative/Conservateurnoyes36713
    Conservative PartyHamilton East–Stoney Creek/Hamilton-Est–Stoney CreekNed Kuruc Conservative/Conservateurnoyes36383
    Conservative PartyKenora–KiiwetinoongEric Melillo ** Conservative/Conservateurnoyes36060
    Conservative PartyCambridgeConnie Cody Conservative/Conservateurnoyes35742
    Conservative PartySimcoe North/Simcoe-NordAdam Chambers ** Conservative/Conservateurnoyes35430
    Conservative PartySudbury East–Manitoulin–Nickel Belt/Sudbury-Est–Manitoulin–Nickel BeltJim Belanger Conservative/Conservateurnoyes35123
    Conservative PartyMilton East–Halton Hills South/Milton-Est–Halton Hills-SudParm Gill Conservative/Conservateurnoyes34822
    Conservative PartyOshawaRhonda Kirkland Conservative/Conservateurnoyes34525
    Conservative PartyMiramichi–Grand LakeMike Dawson Conservative/Conservateurnoyes34234
    Conservative PartyTerra Nova–The Peninsulas/Terra Nova–Les PéninsulesJonathan Rowe Conservative/Conservateurnoyes33948
    Conservative PartyKitchener South–Hespeler/Kitchener-Sud–HespelerMatt Strauss Conservative/Conservateurnoyes33666
    Conservative PartyNiagara South/Niagara-SudFred Davies Conservative/Conservateurnoyes33389
    Conservative PartyCloverdale–Langley CityTamara Jansen ** Conservative/Conservateurnoyes33116
    Conservative PartyLévis–LotbinièreJacques Gourde ** Conservative/Conservateurnoyes32848
    Conservative PartyAcadie–AnnapolisChris d’Entremont ** Conservative/Conservateurnoyes32584
    Conservative PartyKitchener–ConestogaDoug Treleaven Conservative/Conservateurnoyes32325
    Conservative PartyKildonan–St. PaulRaquel Dancho ** Conservative/Conservateurnoyes32069
    Conservative PartyPitt Meadows–Maple RidgeMarc Dalton ** Conservative/Conservateurnoyes31818
    Conservative PartyCalgary ConfederationJeremy Nixon Conservative/Conservateurnoyes31570
    Conservative PartyWindsor–Tecumseh–LakeshoreKathy Borrelli Conservative/Conservateurnoyes31326
    Conservative PartyCôte-du-Sud-Rivière-du-Loup-Kataskomiq-TémiscouataBernard Généreux ** Conservative/Conservateurnoyes31086
    Conservative PartyLouis-Saint-Laurent–AkiawenhrahkGérard Deltell ** Conservative/Conservateurnoyes30850
    Conservative PartySault Ste. Marie–AlgomaHugh Stevenson Conservative/Conservateurnoyes30617
    Conservative PartyNipissing–TimiskamingGarry Keller Conservative/Conservateurnoyes30388
    Conservative PartySimilkameen–South Okanagan–West Kootenay/Similkameen–Okanagan-Sud–Kootenay-OuestHelena Konanz Conservative/Conservateurnoyes30162
    Conservative PartyCharlesbourg–Haute-Saint-CharlesPierre Paul-Hus ** Conservative/Conservateurnoyes29939
    Conservative PartyHamilton MountainKen Hewitt Conservative/Conservateurnoyes29720
    Conservative PartyPort Moody–CoquitlamPaul Lambert Conservative/Conservateurnoyes29504
    Conservative PartyRichmond–ArthabaskaÉric Lefebvre Conservative/Conservateurnoyes29291
    Conservative PartyMontmorency–CharlevoixGabriel Hardy Conservative/Conservateurnoyes29081
    Conservative PartyChicoutimi–Le FjordRichard Martel ** Conservative/Conservateurnoyes28874
    Conservative PartyTerrebonneAdrienne Charles Conservative/Conservateurnoyes28670
    Bloc QuébécoisAbitibi–TémiscamingueSébastien Lemire ** Bloc Québécois/Bloc Québécoisnoyes1236349
    Bloc QuébécoisJoliette–ManawanGabriel Ste-Marie ** Bloc Québécois/Bloc Québécoisnoyes412116
    Bloc QuébécoisBeloeil–ChamblyYves-François Blanchet ** Bloc Québécois/Bloc Québécoisnoyes247270
    Bloc QuébécoisBécancour–Nicolet–Saurel–AlnôbakLouis Plamondon ** Bloc Québécois/Bloc Québécoisnoyes176621
    Bloc QuébécoisMontcalmLuc Thériault ** Bloc Québécois/Bloc Québécoisnoyes137372
    Bloc QuébécoisRimouski–La MatapédiaMaxime Blanchette-Joncas ** Bloc Québécois/Bloc Québécoisnoyes112395
    Bloc QuébécoisLac-Saint-JeanAlexis Brunelle-Duceppe ** Bloc Québécois/Bloc Québécoisnoyes95104
    Bloc QuébécoisPierre-Boucher–Les Patriotes–VerchèresXavier Barsalou-Duval ** Bloc Québécois/Bloc Québécoisnoyes82423
    Bloc QuébécoisGaspésie–Les Îles-de-la-Madeleine–ListugujAlexis Deschênes Bloc Québécois/Bloc Québécoisnoyes72726
    Bloc QuébécoisLaurentides–LabelleMarie-Hélène Gaudreau ** Bloc Québécois/Bloc Québécoisnoyes65071
    Bloc QuébécoisSaint-JeanChristine Normandin ** Bloc Québécois/Bloc Québécoisnoyes58874
    Bloc QuébécoisBeauharnois–Salaberry–Soulanges–HuntingdonClaude Debellefeuille ** Bloc Québécois/Bloc Québécoisnoyes53754
    Bloc QuébécoisSaint-Hyacinthe–Bagot–ActonSimon-Pierre Savard-Tremblay ** Bloc Québécois/Bloc Québécoisnoyes49454
    Bloc QuébécoisRivière-du-NordRhéal Fortin ** Bloc Québécois/Bloc Québécoisnoyes45791
    Bloc QuébécoisCôte-Nord–Kawawachikamach–NitassinanMarilène Gill ** Bloc Québécois/Bloc Québécoisnoyes42633
    Bloc QuébécoisLa Pointe-de-l’ÎleMario Beaulieu ** Bloc Québécois/Bloc Québécoisnoyes39882
    Bloc QuébécoisDrummondMartin Champoux ** Bloc Québécois/Bloc Québécoisnoyes37465
    Bloc QuébécoisRepentignyPatrick Bonin Bloc Québécois/Bloc Québécoisnoyes35324
    Bloc QuébécoisSheffordAndréanne Larouche ** Bloc Québécois/Bloc Québécoisnoyes33415
    Bloc QuébécoisJonquièreMario Simard ** Bloc Québécois/Bloc Québécoisnoyes31701
    Bloc QuébécoisMirabelJean-Denis Garon ** Bloc Québécois/Bloc Québécoisnoyes30155
    Bloc QuébécoisLongueuil–Saint-HubertDenis Trudel ** Bloc Québécois/Bloc Québécoisnoyes28752
    NDPEdmonton StrathconaHeather McPherson ** NDP-New Democratic Party/NPD-Nouveau Parti démocratiquenoyes1234673
    NDPVancouver East/Vancouver-EstJenny Kwan ** NDP-New Democratic Party/NPD-Nouveau Parti démocratiquenoyes411558
    NDPRosemont–La Petite-PatrieAlexandre Boulerice ** NDP-New Democratic Party/NPD-Nouveau Parti démocratiquenoyes246935
    NDPCourtenay–AlberniGord Johns ** NDP-New Democratic Party/NPD-Nouveau Parti démocratiquenoyes176382
    NDPWinnipeg Centre/Winnipeg-CentreLeah Gazan ** NDP-New Democratic Party/NPD-Nouveau Parti démocratiquenoyes137186
    NDPSkeena–Bulkley ValleyTaylor Bachrach ** NDP-New Democratic Party/NPD-Nouveau Parti démocratiquenoyes112243
    NDPVancouver KingswayDon Davies ** NDP-New Democratic Party/NPD-Nouveau Parti démocratiquenoyes94975
    NDPElmwood–TransconaLeila Dance ** NDP-New Democratic Party/NPD-Nouveau Parti démocratiquenoyes82312
    NDPEdmonton GriesbachBlake Desjarlais ** NDP-New Democratic Party/NPD-Nouveau Parti démocratiquenoyes72628
    NDPNorth Island–Powell RiverTanille Johnston NDP-New Democratic Party/NPD-Nouveau Parti démocratiquenoyes64983
    NDPCowichan–Malahat–LangfordAlistair MacGregor ** NDP-New Democratic Party/NPD-Nouveau Parti démocratiquenoyes58794
    NDPNew Westminster–Burnaby–MaillardvillePeter Julian ** NDP-New Democratic Party/NPD-Nouveau Parti démocratiquenoyes53681
    NDPHamilton Centre/Hamilton-CentreMatthew Green ** NDP-New Democratic Party/NPD-Nouveau Parti démocratiquenoyes49387
    NDPWindsor West/Windsor-OuestBrian Masse ** NDP-New Democratic Party/NPD-Nouveau Parti démocratiquenoyes45729
    NDPLondon–FanshaweLindsay Mathyssen ** NDP-New Democratic Party/NPD-Nouveau Parti démocratiquenoyes42575
    NDPBerthier–MaskinongéRuth Ellen Brosseau NDP-New Democratic Party/NPD-Nouveau Parti démocratiquenoyes39828
    NDPEsquimalt–Saanich–SookeMaja Tait NDP-New Democratic Party/NPD-Nouveau Parti démocratiquenoyes37414
    NDPNunavutLori Idlout ** NDP-New Democratic Party/NPD-Nouveau Parti démocratiquenoyes35276
    NDPChurchill–Keewatinook AskiNiki Ashton ** NDP-New Democratic Party/NPD-Nouveau Parti démocratiquenoyes33370
    NDPBurnaby CentralJagmeet Singh ** NDP-New Democratic Party/NPD-Nouveau Parti démocratiquenoyes31658
    NDPEdmonton Centre/Edmonton-CentreTrisha Estabrooks NDP-New Democratic Party/NPD-Nouveau Parti démocratiquenoyes30114
    NDPBeauport–LimoilouRaymond Côté NDP-New Democratic Party/NPD-Nouveau Parti démocratiquenoyes28713
    Green PartySaanich–Gulf IslandsElizabeth May ** Green Party/Parti Vertnoyes238892
    Green PartyKitchener Centre/Kitchener-CentreMike Morrice ** Green Party/Parti Vertnoyes79631
    Green PartyNanaimo–LadysmithPaul Manly Green Party/Parti Vertnoyes47778
    Green PartyHochelaga–Rosemont-EstJacob Pirro Green Party/Parti Vertnoyes34127
    People’s PartyQuébec Centre/Québec-CentreDaniel Brisson People’s Party – PPC/Parti populaire – PPCnoyes136977
    People’s PartyBrampton East/Brampton-EstJeff Lal People’s Party – PPC/Parti populaire – PPCnoyes45659
    IndependantsAbbotsford–South Langley/Abbotsford–Langley-SudMichael de Jong Independent/Indépendant(e)noyes34289

    Recalling what the main concerns were with electoral reform:

    • Will produce proportional seating allotment.
    • Will elect local candidates.
    • Will avoid unnecessary complexity.
    • Will encourage collaboration in politics.
    • Will safeguard public trust with an effective and verifiable process.

    This process would produce a proportionate seating allotment, would elect local candidates, avoid unnecessary complexity by allowing people to vote using the ballot they’re already used to, encourage coalition governments to collaborate, and as I’m able to demonstrate in this post, use established and effective counting methods that can be easily verified.

    With a shift to approval voting and the highest averages method of counting for open, no-majority seats such as the Sainte-Laguë Method, we can achieve a solution for proportional representation made by Canadians, for Canadians.

    Additional Reading

  • My Perspective on The Potential Power of Generative AI

    A representation of a generative ai triaging a child's difficult cancer case.

    In April 2025, I had the opportunity to present to a research workshop on Health Services, Policy, and Genomics and its Ethical, Environmental, Economic, Legal and Social Implications. The topic of my presentation was my perspective on the potential power of data (and Generative AI in particular).

    If you’re familiar with my post on ChatGPT: The Future, Like It Or Not, this presentation was an extension of that initial exploration into ChatGPT. In the April 2025 presentation, I went further into exploring additional Generative AI models to compare their results on providing a retrospective differential diagnosis for my son Toby’s fibrolamellar carcinoma case. At that time, I argued that had this technology been available 5 years sooner, it might have meaningfully been able to extent Toby’s life.

    In this post, I’ve created an iteration of my April 2025 presentation using the latest Generative AI models as of December 2025.

    A disclaimer, of sorts.

    Since April, and certainly since writing my post regarding my experience of using ChatGPT, Generative AI models have evolved quickly and continue to progress at a rapid pace. Perhaps faster than policy, best practice, and governance can keep up. My goal in writing this post is neither to be an advocate nor opponent for Generative AI, nor to dismiss the challenges of keeping it’s training data relevant. I simply wish to focus on the objective utility that Generative AI offers, while also being realistic about it’s limitations.

    I have identical prompts ready to use regarding “patient symptoms”, but I can’t anticipate how each model will respond or how they will request clarification information. Where one model requests more information, I’ll provide that prompt to all models to try to ensure consistency of input provided to each model.

    What is Fibrolamellar Carcinoma?

    Fibrolamellar carcinoma, or FLC, is a rare cancer of the liver that usually grows in teens and adults under 40 years old. This type of cancer is different than other types of liver cancer because it happens in people who have healthy livers.

    FLC is so rare that there is little data on how many people have it. It is thought to make up 1% to 5% of all liver cancers.

    It has been estimated that 200 new cases are diagnosed worldwide each year.
    https://en.wikipedia.org/wiki/Fibrolamellar_hepatocellular_carcinoma

    Or, approximately 1 Canadian every year.

    Many people with FLC do not have symptoms when the cancer first starts. Later, when the tumor gets larger, symptoms can include:

    • Nausea and vomiting
    • Appetite and weight loss
    • Malaise (having less energy or just feeling unwell)
    • Pain in the abdomen, shoulder, or back
    • Jaundice (yellowing of the skin)

    https://www.cancer.gov/pediatric-adult-rare-tumor/rare-tumors/rare-digestive-system-tumors/fibrolamellar-hepatocellular-carcinoma

    Toby was diagnosed at Sick Kids Hospital (Toronto) in October 2020 after his liver failed and he woke up jaundiced one morning.

    Toby did have the symptoms listed above, but not at the same time, and not consistently. It appears his immune system would respond and adapt to changes in his body, which is common in children. This made his illness difficult to diagnose.

    Adding to this challenge was that we were in the process of finding a new family doctor, after deciding that our last family doctor was not taking our concerns seriously.

    “The earlier a cancer is detected, the better your chance of survival.”

    https://cancer.ca/en/cancer-information/find-cancer-early/screening-for-cancer/benefits-and-limitations-of-regular-cancer-screening

    “Imagine if fewer people suffered and died from cancer because we detected and diagnosed the disease or its precursors at the earliest possible stage.”

    National Cancer Institute, Fiscal Year 2025 Professional Judgment Budget Proposal: Leading Progress against Cancer
    https://visualsonline.cancer.gov/details.cfm?imageid=13071

    What Generative AI is, and what it is not.

    Generative AI complements another branch of Artificial Intelligence called Machine Learning. Machine Learning provides a platform for recognizing patterns in data, and making decisions and predictions from it.

    Generative AI takes this one step further. Usually using a large dataset, it can produce entirely new content based on input provided and patterns it recognizes within its data. The accuracy of the generated result depends on the quality of the data it draws upon. However, the end result is that Generative AI can “generate statistically probable outputs“.

    While Generative AI can produce new, probably correct, and even original content through unique combinations of data, it does not innovate. It cannot truly create beyond the constraints of it’s data model (yet). For this reason, while it can be an effective augmentation tool, it doesn’t replace human creativity, or accountability.

    Could Access To Generative AI Have Diagnosed Toby’s Cancer Sooner?

    For this experiment, I’ll start with this same prompt and input it into these popular Generative AI tools:

    • ChatGPT, Professional Style and Tone
    • Google Gemini, Thinking Mode
    • xAI Grok, Expert Mode

    I’ll then report their responses. If any of the agents replies back with a clarifying question, I’ll provide that clarification to all models for consistency, and then continue providing symptoms. The symptoms follow Toby’s timeline as we were trying to get him a diagnosis, before his liver failed.

    Prompt 1: The Primer

    “Assume the role of a medical expert and Primary Care Physician. I’m going to give you a patient’s symptoms, one at a time. You will present a possible list of diagnoses in order or most likely to least likely. You will also ask me any clarifying questions to aid in your diagnosis. With each additional symptom I present, you will revise your diagnoses from most likely to least likely, and ask further clarifying questions to aid in your diagnoses.”

    ChatGPTGoogle GeminixAI Grok
    Understood.
    I will assume the role of a Primary Care Physician and approach this as a structured clinical differential diagnosis exercise. I will:
    Maintain a ranked differential diagnosis (most likely → least likely)
    Revise and reprioritize the differential with each new symptom you provide
    Explicitly note why diagnoses move up or down
    Ask targeted clarifying questions after each update to refine likelihoods
    Flag red-flag features that would warrant urgent evaluation, if they arise
    Important framing:
    This will remain educational and analytical, not a definitive diagnosis.
    I will think in terms of common conditions first, then serious but less common causes, consistent with primary care practice.
    Age, sex, duration, and progression will materially affect the differential and will be incorporated as soon as they are known.
    Please provide the first symptom when ready.
    I am ready to step into the role of your Primary Care Physician. We will work through this methodically to narrow down the possibilities.
    Note: While I can provide clinical reasoning and potential diagnoses based on medical literature, I am an AI, not a doctor. This information is for educational purposes and should not replace a professional medical consultation. If you are experiencing a medical emergency, please stop and contact emergency services immediately.
    Please provide the first symptom you would like me to evaluate.
    As your primary care physician, I’m here to help evaluate the patient’s symptoms step by step. To provide an accurate differential diagnosis, I’ll need some basic information first, as we haven’t discussed any symptoms yet.
    Could you please provide:
    The patient’s age and gender?
    Any relevant medical history (e.g., chronic conditions, recent illnesses, medications, allergies)?
    The first symptom, including details like when it started, how severe it is, and any associated factors (e.g., what makes it better or worse)?
    Once I have that, I can start building a list of possible diagnoses.

    Prompt 2: Providing Additional Information, and First Symptom (Summer 2019)

    Due to a request for additional information from xAI Grok, all the GenAI models were provided with this prompt:

    “Patient is an 11-year-old male. No known chronic conditions, recent illnesses, medications, or allergies. Patient is unusually sweaty.”

    ChatGPTGoogle GeminixAI Grok
    Thank you. I will incorporate the patient’s age and baseline health into the differential.

    Current Information
    Age/Sex: 11-year-old male
    Past medical history: Unremarkable
    Medications/allergies: None
    Primary symptom: Unusual sweating (no other symptoms yet described)
    At this stage, the differential must remain broad. In pediatrics, generalized or excessive sweating (hyperhidrosis or diaphoresis) can range from benign to a marker of systemic disease.

    Differential Diagnosis (Most Likely → Least Likely)
    1. Primary (Idiopathic) Hyperhidrosis
    Common in children and adolescents
    Often generalized or affects palms, soles, axillae
    Typically not associated with systemic illness
    Can be present even at rest
    Diagnosis of exclusion
    2. Physiologic / Environmental Causes
    Warm environment, heavy clothing
    Anxiety, stress, emotional triggers
    Increased physical activity
    Often overlooked but very common
    3. Endocrine Causes
    Hyperthyroidism (less common in children, but important) Would expect associated symptoms over time (weight loss, tachycardia, tremor)
    Hypoglycemia Sweating can occur, especially nocturnally or with fasting
    4. Infection (Occult or Early)
    Tuberculosis (rare but classically causes night sweats)
    Chronic or subacute infections
    Would usually progress to include fever, fatigue, weight changes
    5. Autonomic Nervous System Dysregulation
    Dysautonomia (rare in this age group)
    Often associated with dizziness, palpitations, GI symptoms
    6. Hematologic or Oncologic Causes
    Leukemia or lymphoma
    Typically associated with night sweats, fatigue, pallor, bruising, weight loss
    Less likely with sweating alone, but must be considered if additional red flags appear
    7. Cardiopulmonary Causes
    Congenital or acquired heart conditions
    Would expect exercise intolerance, shortness of breath, cyanosis

    Clarifying Questions (Very Important at This Stage)
    Please answer as many as you can:
    Sweating Characteristics
    Is the sweating generalized or localized (palms, feet, armpits, face)?
    Does it occur during sleep (night sweats)?
    Is the sweating constant or episodic?
    How long has this been occurring?
    Associated Symptoms
    Any fever, even low-grade?
    Weight loss, poor appetite, or fatigue?
    Palpitations, tremor, heat intolerance?
    Shortness of breath or exercise intolerance?
    Nausea, vomiting, or abdominal pain?
    Headaches or dizziness?
    Context
    Any recent travel, sick contacts, or exposures?
    Any changes in school performance or behavior?
    Is the sweating new or clearly worse than peers?

    Red Flags to Watch For (Do Not Answer Yet—Just Awareness)
    Night sweats soaking sheets
    Unexplained weight loss
    Persistent fever
    Pallor or bruising
    Bone pain or lymph node swelling

    Please provide the next symptom or detail, and I will immediately update and re-rank the differential.
    Hello. I understand your concern. Hyperhidrosis (excessive sweating) in an 11-year-old can be attributed to several factors ranging from normal developmental changes to underlying metabolic shifts.
    Given the patient’s age and the single symptom of unusual sweating, here is the initial differential diagnosis list, ranked from most to least likely:
    Differential Diagnosis
    Primary Focal Hyperhidrosis: This is the most common cause of excessive sweating in children and adolescents. It typically affects specific areas (palms, soles, or underarms) and is often related to overactive sweat glands rather than an underlying disease.
    Early Puberty (Adrenarche): At 11, the body begins increasing production of adrenal androgens. This can cause “adult-pattern” sweating and body odor before other physical signs of puberty are obvious.
    Environmental/Idiopathic Factors: This includes over-dressing, high activity levels, or a naturally higher “set point” for thermoregulation in a healthy child.
    Hyperthyroidism: An overactive thyroid can speed up the metabolism, leading to heat intolerance and increased sweating.
    Type 1 Diabetes Mellitus: While less common to present solely with sweating, fluctuations in blood sugar (specifically hypoglycemia) or early metabolic changes can manifest as diaphoresis (profuse sweating).

    Clarifying Questions
    To help narrow this down, I need a bit more detail:
    Localization: Is the sweating generalized (all over the body) or focal (just the palms, feet, or armpits)?
    Timing: Does the sweating occur primarily at night (night sweats), or is it constant throughout the day?
    Triggers: Does it seem linked to stress, anxiety, or physical activity, or does it happen even when he is resting in a cool room?
    Associated Symptoms: Have you noticed any recent weight changes, increased thirst, increased urination, or behavioral irritability?
    What is the next symptom or detail you would like to add?
    Differential Diagnosis
    Based on the initial information provided—an 11-year-old male with no known medical history presenting with unusual sweating (hyperhidrosis)—here is a ranked list of possible diagnoses from most likely to least likely. This is a preliminary assessment, as excessive sweating can be benign or indicative of underlying issues, and further details are needed for refinement.
    Primary focal hyperhidrosis: A common condition where sweating is excessive in specific areas (e.g., palms, soles, underarms) without an underlying cause. It often starts around puberty and can be triggered by stress or heat; family history is common.
    Physiologic sweating due to environmental factors or activity: Normal response to heat, exercise, anxiety, or puberty-related hormonal changes, which can make sweating seem unusual if it’s a new pattern.
    Anxiety or emotional stress: Psychological factors can cause generalized or focal sweating, especially in children facing school or social pressures.
    Infection (e.g., viral illness like a mild upper respiratory infection): Could cause low-grade fever and sweating, even if not yet symptomatic otherwise.
    Hyperthyroidism: Overactive thyroid leading to increased metabolism and sweating; less common in children but possible.
    Neurologic conditions (e.g., autonomic dysfunction): Rare, but issues like sympathetic overactivity could cause excessive sweating.
    Metabolic disorders (e.g., diabetes or hypoglycemia): Uncommon without other symptoms, but can present with sweating episodes.
    Malignancy (e.g., lymphoma): Very rare in children, but night sweats can be a sign; usually accompanied by other systemic symptoms.
    Clarifying Questions
    To narrow this down, could you please provide more details on:
    Where on the body is the sweating occurring (e.g., generalized, palms/soles, underarms, face)?
    When did it start, and how long has it been going on? Is it constant, episodic, or related to specific triggers like heat, exercise, stress, or nighttime?
    How severe is it (e.g., damp clothing, dripping sweat, interfering with daily activities)?
    Any other associated symptoms (e.g., fever, weight changes, fatigue, heart palpitations, changes in appetite or thirst)?
    Family history of similar issues or any endocrine disorders?
    Recent exposures (e.g., travel, new environments, diet changes)?

    Prompt 3: Providing Additional Information, and Next Symptom (February 2020)

    Due to a request for additional information, all the Generative AI models were provided with this prompt:

    “The sweating appears to be generalized. Sweating occurs at night. Sweating is episodic. Unclear how long sweating has been occurring. Patient experiences occasional low-grade fever. No known family history endocrine disorders. Patient is experiencing nausea at night.”

    ChatGPTGoogle GeminixAI Grok
    Thank you. These additional features materially change the risk profile and the differential. I will explicitly re-rank diagnoses based on generalized, episodic night sweats + low-grade fever + nocturnal nausea in an 11-year-old male.

    Updated Key Clinical Features
    Generalized sweating
    Occurs at night
    Episodic
    Occasional low-grade fever
    Nocturnal nausea
    No known endocrine family history
    These findings move us away from benign primary hyperhidrosis and toward systemic causes.

    Revised Differential Diagnosis
    (Most Likely → Least Likely)
    1. Chronic or Subacute Infection
    ↑ Significantly increased likelihood
    Examples:
    Tuberculosis (TB) – classic triad includes night sweats, low-grade fever, nausea, fatigue
    Occult bacterial infection (e.g., endocarditis—rare but serious)
    Viral infections (EBV, CMV) in subacute phase
    Rationale:
    Night sweats + low-grade fever are red-flag features
    Nausea may accompany cytokine-mediated illness
    Episodic nature fits inflammatory surges

    2. Hematologic Malignancy (Leukemia or Lymphoma)
    ↑ Increased concern
    Rationale:
    Night sweats and fever are B symptoms
    Nausea may reflect systemic illness
    May initially present subtly in children
    Sweating can precede other obvious signs
    At this stage, cannot be ruled out and must remain high on the list until further symptoms are assessed.

    3. Endocrine Disorder
    Moderate likelihood
    Hyperthyroidism Can cause heat intolerance, sweating, nausea, low-grade fever
    Less common in boys but possible
    Adrenal disorders (rare)
    Rationale:
    Episodic symptoms possible
    Absence of family history does not exclude

    4. Gastroesophageal or GI-Related Causes with Autonomic Activation
    Moderate–low likelihood
    Nocturnal nausea triggering sympathetic response
    Reflux or gastritis could provoke sweating
    Would not typically explain fever

    5. Autonomic Dysfunction / Dysregulation
    Lower likelihood
    Episodic sweating and nausea could be autonomic
    Fever argues against this as a primary cause

    6. Primary Hyperhidrosis
    ↓ Now unlikely
    Presence of fever and nausea makes benign hyperhidrosis less likely
    Night sweats are atypical for idiopathic hyperhidrosis

    Red Flags Now Present
    Night sweats
    Low-grade fever
    Systemic symptoms (nausea)
    These justify further diagnostic escalation in real-world practice.

    High-Priority Clarifying Questions
    Please answer carefully:
    Constitutional / Oncologic
    Any unintentional weight loss?
    Is the patient fatigued or less active than usual?
    Any bone pain, especially at night?
    Any easy bruising or bleeding?
    Any swollen lymph nodes (neck, armpits, groin)?
    Infectious
    Any chronic cough, shortness of breath, or chest pain?
    Any recent travel, TB exposure, or high-risk contacts?
    Any night sweats severe enough to soak bedding?
    GI / Hepatic
    Any abdominal pain, especially upper abdomen?
    Any changes in stool color or urine?
    Any vomiting or reflux symptoms?
    Endocrine
    Any heat intolerance, tremor, or palpitations?
    Any changes in appetite?

    Next Step
    Please provide the next symptom or finding.
    Each additional detail will significantly narrow the differential and determine whether this leans more strongly toward infectious, oncologic, endocrine, or GI pathology.
    The addition of nocturnal nausea and occasional low-grade fever to generalized night sweats significantly changes the clinical picture. In an 11-year-old, this “cluster” of symptoms is more concerning than isolated sweating and requires a thorough evaluation to rule out more serious underlying conditions.
    The presence of night sweats and fever often points toward a systemic inflammatory, infectious, or neoplastic (cancerous) process. Here is your revised differential diagnosis:
    Revised Differential Diagnosis
    Infectious Process (Chronic or Recurrent): This is statistically the most likely cause. It could range from a lingering viral infection like Epstein-Barr Virus (EBV/Mononucleosis) to more chronic bacterial infections such as Tuberculosis (TB) or Brucellosis, especially if there have been specific exposures.
    Lymphoma (Hodgkin or Non-Hodgkin): In pediatrics, the combination of night sweats and fever (known as “B symptoms”) must be taken seriously. Lymphoma can also cause nausea if there is abdominal involvement or if the body is in a high metabolic state.
    Gastroesophageal Reflux Disease (GERD): While it doesn’t typically cause fever, GERD is a very common cause of nocturnal nausea and sweating in children as the body reacts to the stress of acid reflux during sleep. The “fever” might be a separate, coincidental finding or a slight elevation in body temperature from the physical stress of reflux.
    Autoimmune or Autoinflammatory Disorders: Conditions like Systemic Juvenile Idiopathic Arthritis or Periodic Fever Syndromes can cause episodic fevers and sweats. These often present with other symptoms like joint pain or rashes, but can start vaguely.
    Endocrine/Metabolic Issues: Although you mentioned no family history, we must still consider Hyperthyroidism or Type 1 Diabetes. Nocturnal hypoglycemia (low blood sugar) in early diabetes can cause profound night sweats and nausea.

    Clarifying Questions
    To help me differentiate between a lingering infection and something more systemic like lymphoma, I need to know:
    Weight Loss: Has the patient lost any weight recently without trying, or have his clothes started fitting more loosely?
    Lumps or Bumps: Have you noticed any swollen “glands” or firm, painless lumps in his neck, armpits, or groin?
    Abdominal Symptoms: Does he complain of a “full” feeling in his stomach quickly after eating, or any specific belly pain?
    Fatigue: Is he unusually tired during the day or struggling to keep up with his normal activities?
    Itching: Has he complained of any persistent itching (pruritus) without a visible rash?
    Exposures: Has he recently traveled abroad, been around anyone with a chronic cough, or consumed unpasteurized dairy products?
    Which of these symptoms or details can you provide next?
    Differential Diagnosis
    With the additional details—generalized, episodic night sweating accompanied by occasional low-grade fever and nighttime nausea in an 11-year-old male with no known medical history—the presentation suggests a systemic process rather than localized or benign hyperhidrosis. This shifts the focus toward infectious, inflammatory, or neoplastic causes. Here’s the revised ranked list from most likely to least likely:
    Infectious causes (e.g., viral infection like Epstein-Barr virus/mononucleosis, or bacterial like tuberculosis or brucellosis): Common in children; night sweats, low-grade fever, and nausea can occur with systemic infections, especially if there’s an ongoing or resolving illness.
    Malignancy (e.g., lymphoma or leukemia): Night sweats are a classic B symptom; combined with fever and nausea, this warrants consideration, though rare in children without other signs like lymphadenopathy or weight loss.
    Gastrointestinal issues (e.g., gastroesophageal reflux disease or viral gastroenteritis): Could explain nighttime nausea with associated sweating and mild fever if there’s an inflammatory component.
    Hyperthyroidism: Can cause generalized sweating, heat intolerance leading to night episodes, and nausea; fever is less typical but possible.
    Autoimmune or inflammatory disorders (e.g., juvenile idiopathic arthritis or inflammatory bowel disease): May present with episodic fever, sweats, and GI symptoms like nausea.
    Endocrine disorders (e.g., pheochromocytoma): Rare, but can cause episodic sweating, nausea, and autonomic symptoms; no family history reduces likelihood.
    Neurologic or autonomic dysfunction: Less common, but conditions like dysautonomia could lead to episodic sweating and nausea.
    Metabolic issues (e.g., hypoglycemia): Episodic night symptoms possible, but fever is atypical.
    Clarifying Questions
    To refine this further and potentially rule out serious causes, could you provide more details on:
    A more precise timeline: When did the symptoms (sweating, fever, nausea) first start? How frequent are the episodes (e.g., nightly, weekly)?
    Severity and patterns: What is the typical fever range (e.g., 99-100°F)? Does the nausea lead to vomiting, or is it just queasiness? Any relation to meals, position (e.g., lying down), or other triggers?
    Additional symptoms: Any weight loss, fatigue, cough, sore throat, swollen lymph nodes, abdominal pain, diarrhea, rash, joint pain, headaches, or changes in urination/thirst?
    Recent history: Any travel, exposure to sick contacts, animal contacts, or changes in diet/environment? Has the patient had any recent vaccinations or tests?
    Vital signs or measurements: If available, current weight/height, recent temperature readings, or heart rate during episodes?

    Reflection on Prompt 3

    At this point, all 3 Generative AI models are pointing to a higher likelihood of a malignancy, though it’s not clear at this point what kind. I recall quite clearly that when we took Toby to the hospital at this point, his lab work came back clear, though his urine was a little dark.

    Prompt 4: Providing Additional Information, and Next Symptom (Spring/Summer 2020)

    Due to a request for additional information, all the GenAI models were provided with this prompt:

    “Patient has become more sensitive to abdominal pain. Patient is losing weight, has less energy, and has diminished appetite.”

    ChatGPTGoogle GeminixAI Grok
    These new symptoms substantially narrow the differential and increase concern for serious systemic disease. I will explicitly re-prioritize and explain why.
    Updated Key Clinical Features
    11-year-old male
    Generalized, episodic night sweats
    Low-grade fevers
    Nocturnal nausea
    Abdominal pain sensitivity
    Unintentional weight loss
    Fatigue / low energy
    Diminished appetite
    This constellation represents constitutional (“B”) symptoms plus GI involvement. Benign explanations are now very unlikely.
    Revised Differential Diagnosis
    (Most Likely → Least Likely)
    1. Hematologic Malignancy (Leukemia or Lymphoma)
    ↑ Now the leading concern
    Strong supporting features:
    Night sweats
    Persistent low-grade fever
    Weight loss
    Fatigue
    Anorexia
    Abdominal pain (can reflect hepato-splenomegaly or lymphadenopathy)
    Nausea
    In children:
    Acute leukemia often presents with vague systemic symptoms before lab abnormalities are obvious
    Lymphoma (especially Hodgkin or abdominal non-Hodgkin) commonly presents with night sweats and weight loss
    This diagnosis must be actively ruled out.
    2. Chronic Infection
    Still highly concerning
    Most notably:
    Tuberculosis
    Occult intra-abdominal infection
    EBV / CMV (less likely now due to progressive weight loss)
    Rationale:
    Night sweats + fever + weight loss are classic
    Abdominal pain may reflect lymph node involvement, liver/spleen enlargement, or GI involvement
    3. Inflammatory or Autoimmune Disease
    Moderate likelihood
    Examples:
    Inflammatory bowel disease (Crohn’s disease) Weight loss
    Abdominal pain
    Fatigue
    Low-grade fevers
    Night symptoms
    However:
    Sweating is not a dominant early feature
    Would expect diarrhea, blood in stool, or growth delay (still worth assessing)
    4. Endocrine / Metabolic Disorder
    ↓ Now less likely
    Hyperthyroidism can cause weight loss and sweating, but: Abdominal pain is less typical
    Fever and progressive fatigue make this less likely as a unifying diagnosis
    5. Chronic GI or Hepatobiliary Disease
    Lower but rising relevance
    Liver disease or biliary obstruction can cause: Weight loss
    Abdominal pain
    Nausea
    Would expect jaundice, pale stools, dark urine (not yet reported)
    6. Functional or Psychogenic Causes
    Now very unlikely
    Objective constitutional symptoms argue strongly against this
    Red Flags Present (Multiple)
    Unintentional weight loss
    Night sweats
    Persistent fever
    Fatigue
    Abdominal pain
    Appetite loss
    👉 In real clinical practice, this constellation warrants urgent evaluation.
    High-Yield Clarifying Questions (Critical)
    Please answer these carefully:
    Hematologic / Oncologic
    Any easy bruising, nosebleeds, or gum bleeding?
    Any bone or joint pain, especially at night?
    Any swollen lymph nodes (neck, armpits, groin)?
    Does the abdomen appear distended or firm?
    GI / Hepatic
    Any diarrhea, constipation, or blood/mucus in stool?
    Any pale (clay-colored) stools?
    Any dark urine?
    Any yellowing of eyes or skin?
    Infectious
    Any chronic cough, chest pain, or shortness of breath?
    Any known TB exposure or high-risk travel?
    Pattern
    Is the abdominal pain localized (right upper, left upper, generalized)?
    Is pain worse at night or after eating?
    Clinical Direction (Transparency)
    Based on current data, the working priorities are:
    Rule out leukemia/lymphoma
    Rule out chronic infection (especially TB)
    Evaluate inflammatory bowel disease
    Please provide the next symptom, physical finding, or test result, and I will continue refining the differential with precision.
    The addition of unintentional weight loss, diminished appetite, and abdominal pain significantly increases the clinical urgency. In a pediatric patient, the combination of “B symptoms” (night sweats, fever, weight loss) and localized abdominal discomfort requires a focused investigation into systemic inflammatory or neoplastic (cancerous) processes.
    Here is the revised differential diagnosis, ranked by clinical priority:
    Revised Differential Diagnosis
    Lymphoma (Hodgkin or Non-Hodgkin): This remains a primary concern. The abdominal pain could indicate splenomegaly (enlarged spleen), hepatomegaly (enlarged liver), or enlarged lymph nodes in the abdomen (mesenteric lymphadenopathy) pressing on other organs.
    Inflammatory Bowel Disease (IBD), specifically Crohn’s Disease: Crohn’s frequently presents in early adolescence with abdominal pain, weight loss, fatigue, and low-grade fevers. Unlike Ulcerative Colitis, Crohn’s can be “silent” regarding gross blood in the stool initially, focusing more on systemic inflammation and malabsorption.
    Abdominal Tuberculosis (TB) or Chronic Infection: While less common in some regions, extrapulmonary TB can settle in the gastrointestinal tract or abdominal lymph nodes, causing night sweats, weight loss, and pain. Other possibilities include a chronic intra-abdominal abscess.
    Celiac Disease: Severe malabsorption from gluten intolerance can lead to weight loss, fatigue, and abdominal pain. While less likely to cause true “night sweats,” the systemic toll on an 11-year-old’s body can be profound.
    Type 1 Diabetes Mellitus: The weight loss and fatigue fit, though the abdominal pain and night sweats are usually secondary to metabolic crisis (ketoacidosis) or fluctuating blood sugars.
    Clarifying Questions
    To help differentiate between an intestinal issue (like Crohn’s) and a lymphatic issue (like Lymphoma), I need the following details:
    Bowel Habits: Have there been any changes in stool consistency (diarrhea or constipation), or have you noticed any blood or mucus in the stool?
    Pain Characteristics: Is the abdominal pain constant or crampy? Does it worsen after eating? Can the patient point to one specific spot (e.g., the lower right side), or is it everywhere?
    Physical Findings: If you gently press on his stomach, does he have “rebound” pain (pain when you let go)? Do you feel any hard masses or fullness in the belly?
    Growth: Has his height growth slowed down or plateaued alongside the weight loss?
    Mouth Sores: Does he have any recurrent painful sores or ulcers inside his mouth?
    What information can you provide regarding his bowel habits or the specific nature of his pain?
    Differential Diagnosis
    The addition of increased abdominal pain (sensitivity/tenderness), unexplained weight loss, fatigue, and diminished appetite to the prior symptoms (generalized episodic night sweats, occasional low-grade fever, nighttime nausea) significantly raises concern for a systemic illness. This constellation—particularly the combination of fever, night sweats, and weight loss (known as “B symptoms”) along with gastrointestinal involvement—is highly suggestive of malignancy or chronic infection in children. Benign causes are now much less likely. cancer.org +1Here is the revised ranked list from most likely to least likely:
    Lymphoma (Hodgkin or non-Hodgkin): Classic presentation in children includes B symptoms (fever, drenching night sweats, unexplained weight loss >10%), fatigue, diminished appetite, and nausea. Abdominal pain can occur from lymph node enlargement or organ involvement in the abdomen. This is a leading concern given the symptom cluster. cancer.org +1
    Leukemia (acute lymphoblastic or other): Systemic symptoms like fever, night sweats, weight loss, fatigue, anorexia, and abdominal pain (from hepatosplenomegaly or infiltration) are common. Less focal lymphadenopathy may be present compared to lymphoma.
    Tuberculosis (pulmonary or extrapulmonary/abdominal): Frequently mimics lymphoma with night sweats, low-grade fever, weight loss, fatigue, and anorexia. Abdominal TB can cause pain, nausea, and GI symptoms. Differentiation often requires testing (e.g., imaging, TST/IGRA, biopsy). pmc.ncbi.nlm.nih.gov
    Inflammatory bowel disease (e.g., Crohn’s disease): Can present with abdominal pain, weight loss, fatigue, diminished appetite, nausea, and occasionally fever or night sweats from systemic inflammation. Night sweats are reported in some pediatric cases but are less prominent than in malignancy or TB. childrenscolorado.org
    Other chronic infections (e.g., brucellosis, disseminated fungal, or HIV-related): Possible with similar constitutional symptoms, but less common without specific exposures.
    Autoimmune/inflammatory disorders (e.g., systemic lupus erythematosus or juvenile idiopathic arthritis): Can cause fever, fatigue, weight loss, and abdominal pain, but night sweats and anorexia are less typical.
    Other malignancies (e.g., neuroblastoma or Wilms tumor): Less likely without more specific signs, but abdominal involvement could explain pain.
    This is now a red-flag presentation requiring urgent medical evaluation (e.g., pediatrician, ER, or specialist referral) for exam, labs (CBC, inflammatory markers, LDH, blood cultures), imaging (chest X-ray, abdominal ultrasound/CT), and possible TB testing or biopsy. Delaying could miss a treatable but serious condition.
    Clarifying Questions
    To prioritize and guide next steps, please provide details on:
    Abdominal pain: exact location (e.g., upper/lower abdomen, right/left side, diffuse), quality (cramping, sharp, burning), severity (mild/moderate/severe), timing (constant, post-meal, at night), any relieving/aggravating factors, or associated bloating/distention?
    Gastrointestinal: Any vomiting (how often, contents—bilious, bloody?), diarrhea, constipation, blood/mucus in stool, or changes in bowel habits?
    Lymph nodes: Any noticeable swelling in neck, armpits, groin, or elsewhere? Painful or painless?
    Bleeding/bruising: Easy bruising, petechiae (small red spots on skin), bleeding gums, nosebleeds, or blood in urine?
    Other systemic: Bone/joint pain, headaches, rashes, mouth sores, cough, shortness of breath, or chest pain?
    Exposures/history: Recent travel, contact with TB cases, animal exposure (e.g., unpasteurized dairy for brucellosis), sick contacts, or immune-compromising factors?
    Measurements: Approximate weight loss (pounds/kilograms and over what timeframe)? Recent temperatures? Any palpable abdominal masses or enlarged liver/spleen noted by parent/guardian?
    Other: Any recent infections, vaccinations, or changes in school performance/behavior?

    Prompt 5: Next Symptom (August 2020)

    “Patient is thin, pale, and has pale bowel movements. Urine appears darker than normal.”

    ChatGPTGoogle GeminixAI Grok
    These new findings are highly significant and sharply refocus the differential toward hepatobiliary and malignant processes. I will re-rank accordingly and be very explicit about the implications.
    Updated Key Clinical Features (Cumulative)
    11-year-old male
    Thin, pale appearance
    Unintentional weight loss
    Fatigue / low energy
    Poor appetite
    Generalized episodic night sweats
    Low-grade fevers
    Nocturnal nausea
    Abdominal pain
    Pale (acholic) stools
    Dark urine
    👉 Pale stools + dark urine = impaired bile flow or bilirubin metabolism until proven otherwise
    This is no longer a vague systemic picture. This is now a cholestatic pattern.
    Revised Differential Diagnosis
    (Most Likely → Least Likely)
    1. Hepatobiliary Obstruction (Malignant or Infiltrative)
    ↑ Now the leading concern
    Mechanism:
    Pale stools → lack of bile pigments reaching the intestine
    Dark urine → conjugated bilirubin excreted renally
    Weight loss, night sweats, fever → systemic disease
    Most concerning causes in a child:
    Lymphoma with hepatic or porta hepatis involvement
    Leukemic infiltration of the liver
    Abdominal malignancy compressing bile ducts
    This unifies all symptoms exceptionally well.
    2. Primary Liver Disease
    High likelihood
    Examples:
    Hepatitis (autoimmune, viral, or infiltrative)
    Cholestatic liver disease
    Sclerosing cholangitis (less common in this age but possible)
    Would explain:
    Pale stools
    Dark urine
    Fatigue
    Weight loss
    Abdominal pain
    Nausea
    However:
    Night sweats and fevers still raise concern for malignancy or infection rather than isolated liver disease.
    3. Hematologic Malignancy (Leukemia or Lymphoma)
    Still extremely concerning, now with organ involvement
    Lymphoma can obstruct bile ducts via lymphadenopathy
    Hepatosplenomegaly can cause abdominal pain
    Pallor may reflect anemia
    Constitutional “B symptoms” strongly support this
    At this point, this is no longer theoretical.
    4. Chronic Infection with Hepatic Involvement
    Moderate likelihood
    Tuberculosis (hepatic TB is rare but real)
    Other granulomatous infections
    Would explain:
    Night sweats
    Weight loss
    Fever
    Liver dysfunction
    5. Gallbladder / Biliary Tract Disease
    Lower likelihood
    Gallstones are uncommon in this age unless hemolytic disease exists
    Would usually cause episodic RUQ pain
    Would not fully explain systemic symptoms unless complicated
    6. Inflammatory Bowel Disease with Hepatobiliary Complications
    Low but possible
    Primary sclerosing cholangitis can coexist with IBD
    Would expect bowel symptoms earlier
    Red Flags Now Clearly Present
    Cholestasis (pale stools, dark urine)
    Constitutional symptoms
    Weight loss
    Pallor
    Night sweats
    Fever
    👉 In real-world care, this constellation warrants urgent same-day hospital evaluation.
    Critical Clarifying Questions (High Yield)
    Please answer carefully:
    Hepatic / Biliary
    Any yellowing of the eyes or skin (even subtle)?
    Is the abdominal pain right upper quadrant or generalized?
    Is the abdomen enlarged or firm?
    Any itching (pruritus)?
    Hematologic / Oncologic
    Any easy bruising or bleeding?
    Any bone pain?
    Any noticeable lymph node swelling?
    Stool / Urine Pattern
    Are stools persistently pale or intermittent?
    Is urine tea-colored or cola-colored?
    Clinical Direction (Transparency)
    Based on all data so far, the leading diagnostic priorities are now:
    Malignancy with hepatic/biliary involvement (especially lymphoma)
    Primary liver disease causing cholestasis
    Chronic infection affecting the liver
    This scenario would typically prompt:
    Immediate labs (CBC, CMP, bilirubin fractions, LFTs)
    Abdominal ultrasound or CT
    Urgent pediatric specialist involvement
    Please provide the next symptom, physical finding, or test result (or answer the questions above), and I will continue refining the diagnosis precisely.
    The combination of pale (acholic) stools and dark urine is a clinical “red flag” known as obstructive jaundice.
    This suggests that bile (which gives stool its brown color) is being blocked from entering the intestines and is instead backing up into the bloodstream and being excreted by the kidneys. When paired with night sweats, fever, weight loss, and abdominal pain, we must look closely at the liver, gallbladder, and particularly the area where the bile duct meets the small intestine.
    Revised Differential Diagnosis
    Lymphoma (Extranodal/Abdominal): This is now the highest concern. A mass of enlarged lymph nodes in the porta hepatis (the “gateway” to the liver) could be compressing the bile duct, causing jaundice, while also explaining the systemic “B symptoms” (fever, night sweats, weight loss).
    Choledochal Cyst or Biliary Obstruction: A congenital abnormality of the bile duct (choledochal cyst) can sometimes become symptomatic in late childhood, leading to obstruction, pain, and jaundice. If the cyst becomes infected (cholangitis), it would cause the fevers you’re seeing.
    Autoimmune Hepatobiliary Disease: Conditions like Primary Sclerosing Cholangitis (PSC) or Autoimmune Hepatitis can cause chronic liver inflammation. PSC is often associated with inflammatory bowel disease, which would also explain the abdominal pain and weight loss.
    Hepatoblastoma or Liver Malignancy: Although rarer in an 11-year-old than in younger children, a primary liver tumor could cause both the systemic symptoms and the biliary obstruction.
    Infectious Hepatitis or Liver Abscess: A severe viral infection or a localized pocket of infection in the liver could cause these symptoms, though the prolonged weight loss and night sweats usually point toward a more chronic process.
    Clarifying Questions
    Because these symptoms suggest a potentially serious blockage or systemic illness, please check the following:
    Scleral Icterus: If you look at the whites of his eyes, do they appear yellow?
    Pruritus (Itching): Is he complaining of intense itching, especially on his hands or feet? (Bile salts backing up into the skin cause significant itching).
    Pain Location: Is the abdominal pain specifically located in the Upper Right Quadrant (under the right ribs)?
    Recent History: Has he had any recent contact with anyone who had yellow skin or “stomach flu,” or has he eaten any raw/underfiltered shellfish or traveled?
    Physical Exam: If you gently palpate the upper right side of his abdomen, do you feel any firm mass or does it cause him significant sharp pain?
    Given these new symptoms (pale stools and dark urine), this patient needs to be seen by a physician urgently for blood work (Liver Function Tests, Bilirubin, CBC) and likely an abdominal ultrasound. Would you like me to explain what those specific tests look for?
    Differential Diagnosis
    The new symptoms—thin appearance (likely from ongoing weight loss), pallor, pale (acholic/clay-colored) bowel movements, and dark urine—strongly indicate conjugated hyperbilirubinemia with biliary obstruction or severe liver dysfunction. Pale stools occur when bile (containing bilirubin) fails to reach the intestines, while dark urine results from excess conjugated bilirubin spilling into the urine. Combined with the prior symptoms (abdominal pain, weight loss, fatigue, diminished appetite, low-grade fever, night sweats, nighttime nausea), this is a highly concerning pattern in an 11-year-old. It points toward a serious underlying process affecting the liver, biliary tree, or causing extrinsic compression/obstruction.This presentation is now an emergency requiring immediate medical attention (urgent pediatrician/ER visit, preferably with pediatric gastroenterology/hepatology input). Delaying risks progression of liver damage or missing a malignancy.Revised ranked list from most likely to least likely:
    Abdominal malignancy causing biliary obstruction (e.g., lymphoma with porta hepatis/retroperitoneal lymphadenopathy, or primary liver tumor such as hepatoblastoma): Lymphoma remains high due to B symptoms (fever, night sweats, weight loss) plus now clear evidence of obstructive jaundice from lymph node compression of bile ducts. Hepatoblastoma is the most common liver malignancy in children this age and can present with abdominal pain, weight loss, anorexia, fatigue, and obstructive features (pale stools, dark urine). Pallor may reflect anemia of chronic disease or bone marrow involvement.
    Leukemia (acute lymphoblastic leukemia with hepatic infiltration or extramedullary involvement): Can cause liver enlargement, biliary obstruction, anemia (pallor), fatigue, weight loss, fever, and night sweats. Abdominal pain and GI symptoms are common.
    Infectious causes with hepatic involvement (e.g., disseminated tuberculosis, chronic viral hepatitis with cirrhosis/fibrosis, or bacterial abscess): TB can mimic malignancy with constitutional symptoms and abdominal involvement leading to obstruction. Hepatitis B/C or other viruses could cause liver dysfunction, but pale stools are more typical of obstruction than parenchymal disease alone.
    Autoimmune or inflammatory liver disease (e.g., autoimmune hepatitis, primary sclerosing cholangitis): Can present with fatigue, anorexia, abdominal pain, fever, and progressive jaundice/obstruction. PSC is often associated with inflammatory bowel disease, which could explain pain/nausea/weight loss.
    Other obstructive causes (e.g., choledochal cyst, biliary stricture, or pancreatic mass—rare in children): Less likely without a history of prior episodes or congenital issues, but possible.
    Metabolic/genetic disorders (e.g., Wilson’s disease, alpha-1 antitrypsin deficiency): Can cause liver failure with jaundice, but usually present differently (e.g., neurologic signs in Wilson’s) and less acutely with fever/sweats.
    Inflammatory bowel disease with hepatobiliary complications (e.g., Crohn’s with sclerosing cholangitis): Possible but less likely as primary driver of obstructive jaundice.
    This constellation (B symptoms + obstructive jaundice + pallor) has a high pretest probability for malignancy in pediatrics—urgent imaging (abdominal ultrasound with Doppler, then CT/MRI if needed), labs (CBC, liver function tests including total/direct bilirubin, ALT/AST, alkaline phosphatase, GGT, INR, LDH, inflammatory markers), and possibly tumor markers (AFP for hepatoblastoma) are indicated.
    Clarifying Questions
    To help prioritize and guide urgent evaluation:
    Is there any yellowing of the skin (jaundice), whites of the eyes (scleral icterus), or itching (pruritus, often from bile salts)?
    Stool details: Exactly how pale are they (clay/gray/white, or just lighter than usual)? Any greasy/floating stools (suggesting fat malabsorption)?
    Urine details: How dark (tea/coca-cola colored)? Any blood or foam?
    Abdominal exam observations: Any visible distention, palpable masses, enlarged liver/spleen (hepatosplenomegaly), or increased tenderness in upper abdomen (right upper quadrant)?
    Severity/timeline: How much weight has been lost and over what period? How pronounced is the pallor (e.g., compared to baseline photos)? Any recent bruising, bleeding gums, or petechiae?
    Other symptoms: Any vomiting (color/contents), diarrhea/constipation, joint pains, rashes, mouth ulcers, cough, or shortness of breath?
    History: Any recent infections, travel, medications/supplements, family history of liver disease/cancer/autoimmune conditions, or exposure to toxins (e.g., mushrooms, certain herbs)?
    Vital signs if measured: Recent temperature, heart rate, blood pressure, or weight trends?
    Please seek medical care promptly—ideally today—with these symptoms described. I can help interpret any lab/imaging results you obtain.

    Reflection on Prompt 5

    The Generative AI models are now consistently recommending prompt medical care. While not specifically naming FLC, they are indicating a high likelihood of a malignancy of the liver or hepatobiliary process (includes the liver) 2 months before Toby’s liver failed.

    I don’t have answers to any of the clarifying questions asked by the GenAI models, so I’ll continue with the next symptom.

    Prompt 6: Next Symptom (August/September 2020)

    “Patient is experiencing severe back pain.”

    ChatGPTGoogle GeminixAI Grok
    This new symptom is critical and significantly escalates concern. Severe back pain in this context is not benign and strongly shifts the differential toward malignant or infiltrative disease involving bone, marrow, or retroperitoneal structures.
    I will re-rank and explain explicitly.
    Updated Key Clinical Features (Cumulative)
    11-year-old male
    Thin, pale
    Unintentional weight loss
    Fatigue, anorexia
    Generalized episodic night sweats
    Low-grade fevers
    Nocturnal nausea
    Abdominal pain
    Pale (acholic) stools
    Dark urine
    Severe back pain
    This is now a high-risk systemic picture.
    Revised Differential Diagnosis
    (Most Likely → Least Likely)
    1. Malignancy — VERY HIGH CONCERN
    Now the dominant working diagnosis
    Most likely entities:
    a) Lymphoma (especially non-Hodgkin or advanced Hodgkin)
    Night sweats, fever, weight loss (B symptoms)
    Abdominal pain (lymphadenopathy, organ involvement)
    Biliary obstruction via porta hepatis nodes → pale stools, dark urine
    Back pain from: Retroperitoneal lymphadenopathy
    Vertebral involvement
    Paraspinal mass effect
    b) Leukemia
    Pallor (anemia)
    Fatigue, weight loss
    Bone and back pain (marrow expansion)
    Hepatic infiltration → cholestasis
    Night sweats, fever
    At this point, malignancy must be assumed until ruled out.
    2. Metastatic or Primary Bone / Marrow Infiltrative Disease
    High likelihood
    Severe back pain is classic for marrow involvement
    Could be secondary to leukemia/lymphoma
    Pain often worse at night, persistent, not activity-related
    3. Severe Hepatobiliary Disease with Referred or Structural Pain
    Moderate likelihood
    Liver enlargement can cause back or flank pain
    However, this alone does not explain severity of pain or B symptoms as well as malignancy does
    4. Spinal or Paraspinal Infection (e.g., Osteomyelitis, Discitis, TB)
    Lower but serious
    Back pain + fever + weight loss
    TB could unify systemic symptoms and hepatic involvement
    Less likely than malignancy but still dangerous
    5. Gallbladder or Pancreatic Disease
    Low likelihood
    Could cause back pain
    Does not adequately explain night sweats, pallor, or systemic decline
    Red Flags Now Severe and Multiple
    Severe back pain
    Cholestasis
    B symptoms
    Weight loss
    Pallor
    Systemic decline
    👉 In real clinical practice, this constellation requires immediate emergency evaluation and hospital admission.
    Extremely Important Clarifying Questions (Please Answer)
    Back Pain Characterization
    Is the back pain constant or intermittent?
    Is it worse at night?
    Is it localized (upper, mid, lower back)?
    Any difficulty walking, weakness, numbness, or bowel/bladder changes?
    Neurologic (Urgent)
    Any leg weakness?
    Any tingling or numbness?
    Any loss of bladder or bowel control?
    Oncologic
    Any bone pain elsewhere?
    Any new bruising or bleeding?
    Hepatic
    Any yellowing of eyes/skin?
    Any itching?
    Clinical Direction (Very Clear)
    Given the cumulative presentation, the top priorities are:
    Leukemia or lymphoma with hepatic and spinal involvement
    Spinal or marrow infiltrative disease
    Severe systemic infection (e.g., TB)
    This scenario would typically prompt emergent imaging (MRI/CT) and urgent labs.
    Please provide:
    Answers to the neurologic/back pain questions or
    The next symptom, exam finding, or test result
    I will continue refining the differential precisely.
    The addition of severe back pain to a clinical picture of obstructive jaundice (pale stools/dark urine), “B symptoms” (night sweats, fever, weight loss), and abdominal pain is an extremely significant and urgent clinical finding.
    In an 11-year-old, severe back pain combined with these systemic symptoms often indicates a retroperitoneal process—meaning something is growing or pressing on the area behind the abdominal organs, near the spine. This can involve enlarged lymph nodes or a mass that is both compressing the bile duct (causing the jaundice) and pressing on the spinal nerves or vertebrae.
    Revised Differential Diagnosis
    Lymphoma (Non-Hodgkin or Hodgkin): This is the leading concern. Large masses of lymph nodes in the retroperitoneum (the area behind the gut) can cause deep, boring back pain and compress the biliary tree. This explains every symptom listed: the sweats, fever, weight loss, jaundice, and the new back pain.
    Neuroblastoma: While more common in younger children, it can occur in older children. These tumors often arise from the adrenal glands or the sympathetic nerve chain along the spine, leading to significant back pain and abdominal masses that can obstruct bile flow.
    Pancreatic Pathology (e.g., Pancreatoblastoma or Pancreatitis): A mass in the head of the pancreas can block the bile duct (pale stools) and cause pain that radiates straight through to the back.
    Metastatic Disease: Rarely, other pediatric tumors (like Wilms tumor or bone cancers) can present with systemic symptoms and back pain, though the jaundice specifically points back to the mid-abdominal/hilar region.
    Pott’s Disease (Extrapulmonary Tuberculosis): TB of the spine can cause severe back pain and systemic “B symptoms.” If there is concurrent abdominal TB, it could potentially cause biliary obstruction, though this is less common than a primary mass.
    Critical Clarifying Questions
    Because back pain in this context can sometimes indicate pressure on the spinal cord, I need to know:
    Neurological Symptoms: Is the patient experiencing any weakness in his legs, “pins and needles” sensations, or difficulty walking?
    Bladder/Bowel Control: Has he had any recent accidents or loss of control over his bladder or bowels?
    Nature of Pain: Is the back pain worse at night? Does it keep him from sleeping, or is it worse with movement?
    Location: Is the pain in the mid-back (behind the stomach) or lower down near the lumbar spine?
    Postural Changes: Does he seem to be leaning to one side or arching his back to find relief?
    Immediate Recommendation
    This constellation of symptoms—night sweats, weight loss, jaundice (pale stools/dark urine), and severe back pain—requires an immediate medical evaluation, likely in an Emergency Department. The patient needs urgent imaging (such as a CT scan or MRI of the abdomen and spine) and comprehensive blood work (including a Complete Blood Count with manual differential, Liver Function Tests, and inflammatory markers like LDH and Uric Acid).
    Would you like me to prioritize a list of specific questions or “red flags” for you to share with an ER physician or specialist?
    Differential DiagnosisThe addition of severe back pain to this already alarming symptom cluster (systemic B symptoms: fever, drenching night sweats, weight loss >10%, fatigue, anorexia; nighttime nausea; abdominal pain; obstructive jaundice features: pale/acholic stools, dark urine, pruritus likely; pallor, thin appearance) in an 11-year-old boy transforms this into a high-risk, potentially life-threatening emergency. Severe back pain in children is rare and a major red flag, especially with constitutional symptoms and jaundice. It strongly suggests involvement of the spine, retroperitoneum, or bone marrow—most often from malignancy or infection with vertebral/epidural extension.This presentation has a very high pretest probability for serious pathology. Immediate evaluation is mandatory—go to a pediatric emergency department today (ideally one affiliated with a children’s hospital with oncology, infectious disease, and neurosurgery capabilities). Do not wait for primary care; this could involve spinal cord compression, which is a surgical emergency if there are neurological deficits. Imaging (MRI spine/abdomen/chest with contrast, or at minimum CT if MRI unavailable) and labs are urgently needed.Revised ranked list from most likely to least likely:Lymphoma (Hodgkin or non-Hodgkin, particularly with spinal cord compression or paraspinal mass): Remains the top concern. B symptoms + obstructive jaundice (from porta hepatis lymphadenopathy) + severe back pain (from retroperitoneal/paravertebral lymphadenopathy, vertebral involvement, or epidural extension causing cord compression). Lymphoma is one of the most common pediatric malignancies to present this way; back pain can be the presenting symptom in advanced disease.
    Tuberculosis (extrapulmonary, specifically Pott’s disease/tuberculous spondylitis): Classic mimic of malignancy. Chronic infection causes night sweats, low-grade fever, weight loss, anorexia, fatigue, and vertebral destruction leading to severe back pain (often localized to thoracic/lumbar spine). Abdominal TB can cause jaundice/obstruction via lymph node compression or peritonitis. Pale stools/dark urine fit if there’s biliary involvement. Common in endemic areas or with exposure.
    Leukemia (acute lymphoblastic leukemia with bone marrow infiltration or extramedullary disease): Bone pain (including back) is very common due to marrow expansion or periosteal involvement. Can cause hepatosplenomegaly leading to biliary obstruction, anemia (pallor), fatigue, fever, sweats, weight loss. Spinal involvement possible.
    Other primary or metastatic malignancy (e.g., hepatoblastoma or neuroblastoma with spinal metastasis): Hepatoblastoma can invade locally or metastasize to bone/spine; neuroblastoma often presents with back pain from paraspinal mass or bone mets, plus abdominal symptoms and constitutional signs.
    Infectious/abscess (e.g., pyogenic vertebral osteomyelitis/discitis or epidural abscess): Can cause severe back pain, fever, sweats, and systemic symptoms. Less likely to cause obstructive jaundice unless secondary involvement.
    Autoimmune/inflammatory (e.g., juvenile idiopathic arthritis with enthesitis or ankylosing spondylitis-like, or sarcoidosis): Can cause back pain and constitutional symptoms, but jaundice/obstructive pattern is atypical.
    Pancreatic pathology (e.g., mass or pseudocyst from chronic pancreatitis or malignancy): Could cause back-radiating abdominal pain, nausea, weight loss, and rarely jaundice if obstructing bile duct. Rare in children without trauma or gallstones.
    This is no longer a “watch and wait” situation—neurological compromise (weakness, numbness, bowel/bladder dysfunction) could develop rapidly if there’s cord compression.Clarifying QuestionsTo help triage urgency and guide the ER team:Back pain details: Exact location (upper/mid/lower back, thoracic, lumbar, sacral)? Does it radiate (e.g., to legs, abdomen, chest)? Quality (sharp, aching, burning)? Severity on 1-10 scale? Constant or worse at night/with movement? Any relieving factors (e.g., lying down, heat)?
    Neurological symptoms: Any leg weakness, numbness/tingling in legs/feet, difficulty walking, bowel or bladder changes (incontinence, retention, constipation), or saddle anesthesia?
    Abdominal exam: Any palpable masses, hepatomegaly (enlarged liver), splenomegaly, or severe tenderness in right upper quadrant/epigastrium?
    Jaundice progression: Any yellowing of skin/eyes? Itching? How pale are stools (completely white/gray/clay-like, or just very light)?
    Weight loss quantification: How many pounds/kg lost, and over what timeframe?
    Other red flags: Any headaches, vomiting (projectile?), seizures, vision changes, easy bruising/bleeding, swollen lymph nodes (neck, axilla, groin)?
    Exposures/history: Travel to TB-endemic areas (or contact with someone who has TB), immigrant/family from high-risk area, unpasteurized dairy/animal contact, recent infections, or family history of cancer/autoimmune/liver disease?
    Vital signs if known: Recent temperature, heart rate, blood pressure, weight/height percentile (is he underweight now)?
    Action recommendation: Take the child to the nearest pediatric emergency department immediately and describe the full symptom timeline, including obstructive jaundice signs and severe back pain. Mention concern for possible spinal cord compression or malignancy/infection. If there are any neurological changes (even mild), call emergency services rather than driving. Bring any prior medical records if available. Let me know results of evaluation/labs/imaging so I can help interpret.

    Reflection on Prompt 6

    This latest responses from the Generative AI models was, I admit, a gut punch. It seems clear to me that, had these Generative AI models been available to us 5 years ago, it could have helped us make our case with the weight Toby’s situation clearly merited, with statements like:

    • Severe back pain in this context is not benign and strongly shifts the differential toward malignant or infiltrative disease involving bone, marrow, or retroperitoneal structures.
    • Malignancy — VERY HIGH CONCERN. Now the dominant working diagnosis
    • Malignancy must be assumed until ruled out.
    • High-risk, potentially life-threatening emergency
    • Go to a pediatric emergency department

    Toby was officially diagnosed with Fibrolamellar Carcinoma in October 2020. His liver had failed, and at that point, there were no viable treatment options available.

    Are LLMs perfect? No.

    While not specifically naming something as rare as Fibrolameller Carcinoma, the diagnosis of a probable life-threatening liver-related malignancy was accurate, and a compelling case was made using non-specialized public Generative AI tools.

    Had this technology been available as a triage tool, it might have been sufficient to get Toby’s diagnosis confirmed sooner, which could have meant starting treatment sooner before his liver failed, improving his 5-year outlook. He could have been over 12 when…

    3 years later, John Hopkins University:
    “Results of peptide vaccine clinical trial discussed by Hopkins team”
    January 24, 2024
    “…25% (3) of the patients achieved significant tumor shrinkage/strong partial responses to the treatment. For the other 9 patients…the disease appeared to stabilize in those patients having an immune response to the vaccine.”

    https://fibrofoundation.org/results-of-peptide-vaccine-clinical-trial-discussed

    3 years after Toby died of a cancer we couldn’t get diagnosed in time, a vaccine went to clinical trial for FLC. All participants saw either their condition either stabilize, or tumours shrink.

    Had we been able to get Toby diagnosed 2 months sooner, there might have been a chance that he could have been eligible for a clinical trial that might have been able to shrink his tumour. This is the significance Generative AI holds for me, as I hope for other families to never have to go through what ours did, when we lost our dear Toby to Cancer.

    “Imagine if fewer people suffered and died from cancer because we detected and diagnosed the disease or its precursors at the earliest possible stage.”

    National Cancer Institute
  • Reflecting on Moss

    Toby's Moss. Photo taken by my mother-in-law

    Moss, strangely, has found a place of meaning in my life.

    Toby once remarked that moss is the oldest and most primitive plant. This is something that has always stuck with me. Moss often reminds me of him for this reason alone.

    Recently, with the failure of our Papineau Homes project, moss now carries deeper meaning to me. Aside from being the world’s oldest plant, it’s also resilient, which I now need to be also as Emily and I figure out what to do next.

    “We’ve taken mosses out of a packet after 100 years, squirted them with water and watched them come to life,” said Eldrige. “Their cells don’t disintegrate like ordinary plants do.”

    https://www.goodnewsnetwork.org/the-magic-of-moss-the-tiny-plant-absorbs-6x-more-co2-than-other-plants-says-new-study/

    It’s really hard. Papineau Homes was supposed to be a project to honour Toby. Since 2021, shortly after Toby died, Emily and I have spent the three years of our lives planning and preparing to build our dream home. We’d already had to make difficult choices to keep the project going, only for it to slam into a brick wall that we could not continue forward on.

    And now, we start over. I’m exhausted. Deflated. Defeated. Out of necessity, Emily and I must just need to turn to something simple — primitive if you like — to recuperate and find our water again.

  • Why I Don’t Get Upset Over Snow

    About a month ago, I was asked whether it bothered me when people in the city complained about snow, given that I now live in Northern Ontario.

    At the time, I gave a sort of non-answer. I don’t even remember clearly what I said, other than no, it doesn’t bother me, but I remember feeling unprepared for the question. The reason for that is because a fresh snowfall was one of Toby’s favourite things.

    During his last weeks of life, we were fortunate to have a snowfall in time for Christmas. And a few weeks before that, there was just enough snow to be able to pull him around our Brampton neighborhood on a sled.

    So, no: Snowfalls are a source of joy for me, as I hope they are to everyone else who has the fortune to experience one.

    Here are some photos of the last snowfall Toby got to see in December 2020.

  • ChatGPT: The Future, Like It Or Not

    An image generated by Google Gemini depicting AI and LLM.

    I’ve spent some time dabbling with large language models like ChatGPT and Bard.

    I’m absolutely convinced that AI and large language models, despite their challenges, are the future.

    I thought I would try putting into words what it is I think they offer, and also recognize some of their limitations.

    What is an LLM and Generative AI?

    It might help to level-set a little bit by providing a simple description of what a large language model is. Think of it as a large data set and a self-supervised learning algorithm to understand and summarize statistical relationships in information. The result is a program that can generally understand language and generate probably accurate responses.

    I’m adding extra emphasis on probably because it’s important to understand that the algorithm is a probability engine. This means that the algorithm will sometimes get it wrong, leading to some interesting results. The other challenge with the algorithm is with the quality of the data set. Humans are also prone to errors and bias, which can show up in data and influence the outcome.

    However, people are also influenced by poor data and the bias of others. It doesn’t change the fact that an AI algorithm is very good at learning processes and systems that people create for themselves for the efficiency of repetitive tasks.

    Tasks that can potentially be augmented

    AI will shine as an augmentation tool in any kind of repetive process. I suggest this includes fields that have defined “best practices”, including in my field of design and development. I emphasize augmentation because there is a fallacy in the argument that AI will negate the need for people: The data to train AI has to come from experienced people, and experienced people have to start from the bottom.

    There are already some instances where AI is used in the market. Chatbots and fraud detection are some examples. But surprisingly, AI is also being tested and used in these fields.

    Medical

    The pattern-recognition capabilities of AI has been helpful in diagnostic imaging and cancer care. Recently, A generative AI discovered and designed drug for Idiopathic Pulmonary Fibrosis has been in clinical trial.

    In another study, AI was found to provide clinical accuracy and safety comparable to that of human doctors, while also providing safer triage recommendations.

    Law, specifically Paralegal

    AI is already used in law for processes like e-discovery: Collecting, storing, reviewing, and exchanging information related to a case in digital format. It’s also useful to expedite searching for information in case documents. Contract-related functions is another area where an AI is useful, being able to draw from market standard publicly-filed examples.

    Education

    AI is a capable tutor. Its ability to generate natural reading language makes it useful to explain complicated math problems.

    Graphic Design and Web Development

    I have to admit, this one is a little scary for me as it’s my wheelhouse. There are several graphic-generating engines available online, such as DALL·E. There are potential issues with using tools like this (see “What About Copyright?”). AI can also write code, in just about any language. I have personal experience using it to write complicated Regular Expressions (see next section).

    What About Copyright?

    The challenge with LLMs is that due to their being generative, it’s producing content based on probable statistical relationships. Unless a subsequent check is performed afterward, there is no way to know whether it reproduced a copyright-protected work.

    This happens in the creative world too — but there are measures for accountability in these instances. We don’t yet have a good understanding of accountability for the recreation and usage of copyrighted works produced by an AI.

    Personal Experience

    I have some personal experiences using LLMs. I find ChatGPT is great for less volatile scenarios that rely on a mature knowledge base. In my case, this includes: Writing complicated regular expressions and summarizing video captions into a blog post. But there’s one particular example that I want to dive into:

    “Patient Symptom Game”

    In May 2023, I decided to tinker with ChatGPT to test a hypothesis. My hypothesis was that, if instructed to do so, ChatGPT was potentially a useful model for diagnosing difficult medical cases based on seemingly isolated symptoms.

    The cool thing about tools like ChatGPT is that, if you don’t think it’s giving you responses that are leading in the right direction, you iterate on your prompt to anticipate that. After a few iterations, I arrived at this prompt:

    "I'm going to give you a patient's symptoms, one at a time. You will present a possible list of diagnoses in order or most likely to least likely. You will also ask me any clarifying questions to aid in your diagnoses. With each additional symptom I present, you will revise your diagnoses from most likely to least likely, and ask further clarifying questions to aid in your diagnoses."

    I began to input the symptoms my son Toby was having over the course of a year, before we later learned he was sick with cancer — fibrolamellar hepatocellular carcinoma. This type of cancer that there is little data on how many people have it. It is thought to make up anywhere between 1-5% of all liver cancers. Until the tumor gets larger, many people with this cancer do not experience symptoms. When they do, they can include:

    • Pain in the abdomen, shoulder, or back
    • Nausea and vomiting
    • Appetite and weight loss
    • Malaise (having less energy or just feeling unwell)

    Toby did have these symptoms, but not at the same time. Complicating this was the fact that his family doctor at the time was dismissive of Toby’s symptoms, so we started taking him directly to the hospital. Then, COVID-19 locked everything down.

    Around summer of 2019, Toby was ususually sweaty, often.

    In February of 2020, he experienced night nausea.

    That summer, he appeared to be losing weight and had less energy.

    In August, he looked thin and pale.

    In August/September his back was hurting. But his liver hadn’t failed yet, and at this point ChatGPT was correctly diagnosing an issue either with his liver and/or cancer. By October, Toby’s liver had failed and he received his cancer diagnosis.

    It is said that with cancer, early diagnosis is key to maximizing chances of survival. Toby’s case was challenging because even after his liver failed, diagnostic imaging was having trouble locating the tumour that they knew was there. So, it’s possible that they would not have been as persistent in scanning for a liver tumour if his liver hadn’t failed yet.

    But, there’s also a chance that, with enough compelling data, they might have known where to look and find the tumour. They they might have gotten Toby onto immunotherapy sooner, before his liver failed, and that it might have been sufficient to shrink the tumour to the point where it could have been resected, and that he might still be alive today, 3 years later — long enough to be able to trial a promising vaccine that might be viable for managing the tumour.

    Diagnosing a month or two sooner could have given Toby years more of life. AI augmented diagnostics will absolutely make a difference for countless cancer patients in the future.

  • Money Is The Toothpick Of Hot Mistruth Sandwiches

    At one point, I think I had gotten pretty good at provocative conversation, without being offensive, when it came to discussing progressive ideas. But since Toby died, I’ve had to work and continue to work very hard to build and maintain energy to get through a day. I don’t have the energy to rehearse talking points in my head, preparing for public council meetings, or the next social media spat.

    But I still care about what I care about.

    During my lunch today, I started chatting with an older gentleman. I’m not sure what sparked it, but he began to tell me every conspiracy-theory factoid you can imagine, smashed into one steaming hot sandwich.

    I immediately felt my energy draining with every point he was trying to make that I wanted to refute. I wasn’t going to get through the day if I did so.

    So, I listened, and something interesting happened. Every once in a while, he would say something that seemed to contradict what I would call a typical “conservative” narrative.

    He asked about what I do, I mentioned how I work from home. He noticed that a lot of people had been moving north from the city. I mentioned how it’s become crazy-expensive in Toronto, and we both knew that Timmons, Ontario has some of the lowest real-estate prices right now. We both knew that would put pressure on cities to keep their people, and on Northern towns to build out infrastructure for more people.

    He noticed that growing season has been starting earlier up north, and that Western Canada has been having drought that’s impacted food production. I mentioned about how the entire province is expected to get warmer because of climate change. And, I even got him to agree that carbon taxation isn’t terrible as long as it can be seen to be doing the work of offloading our reliance on carbon-producing products.

    What do these things have in common? Money.

    People will believe whatever they want. But take it from someone who no longer has the mental fortitude to argue, it’s not worth trying to break through the compacted layers of mistruths. But if you can find the money toothpick holding that mistruth sandwich together, you might just get someone to pause to think for a beat.

  • For Sale: Bakfiets.nl XL Cargo Bike

    The time has come. I’m selling my 10-foot-long Bakfiets.nl Cargo XL cargo bike.

    Price: $1,500

    Details

    • Year: 2018
    • Colour: Black
    • Length: 10 feet long
    • Mileage: 1,642 km
    • Nuvinci CVT
    • Roller brakes (easy to maintain, works well in all weather)
    • Dynamo generator for front light
    • Wide, comfort saddle
    • Mudguards
    • Rear rack
    • Portland Design Works Bar-ista cup holder
    • AXA Wheel lock for added security

    Interested? Get in touch with me

    ← Back

    Thank you for your response. ✨

  • How to use a RACI table and formula queries to control table access in Quickbase apps.

    I’m not gonna lie: I’ve become a big fan of Quickbase.

    In my history of designing applications, learning to code was necessary to achieve my goals. But Quickbase, for the most part, removes that need and instead lets me focus on data architecture and prototyping with no/low code.

    But there are still some aspects of managing Quickbase apps that are a bit of a nuisance, particularly as an app matures, and with it, more Users and Roles are brought on board that require careful management.

    But what if table access could be managed more easily, and with more flexibility, using a RACI? This post describes a prototype for doing just that.

    What is a RACI?

    RACI is an acronym that stands for Responsible, Accountable, Consulted, and Informed. It’s a tool used in project management and organizational workflows to define and clarify roles and responsibilities within a team or across different stakeholders.

    1. Responsible (R): This role refers to the person or individuals who are directly responsible for completing a specific task or activity. They are the ones who perform the work and ensure its completion.
    2. Accountable (A): The accountable role represents the person who is ultimately answerable for the overall outcome or result of a particular task or project. This individual has the authority to make key decisions and is responsible for ensuring that the task is completed successfully.
    3. Consulted (C): This role includes individuals or stakeholders who provide their input, expertise, or advice on a particular task or decision. They are consulted for their insights, but they are not directly responsible or accountable for the task’s completion.
    4. Informed (I): The informed role includes individuals or stakeholders who need to be kept up-to-date on the progress, decisions, or outcomes of a task or project. They are kept informed about relevant information but do not have active participation or decision-making authority.

    By using a RACI matrix, teams can define and communicate the roles and responsibilities associated with different tasks or activities. In this example, it will define access permissions for an example table. The neat thing about this method is that it doesn’t require table-to-table relationships, only formula queries. Here we go!

    Setting up the RACI table

    The RACI table describes who has what permission in which Table. Each Record defines a single instance associating a User to a Table. If a User has access to more than one Table, they need to be defined individually. But, Records can be copied to expedite this process.

    I’ve set ordered the fields in my form to create a sort of “RACI statement”, which I’ll demonstrate here also.

    Fields To Setup

    • Users (User)
    • User Text (Formula – Text)
    • RACI (Text – Multiple Choice)
    • Table (Text – Multiple Choice)
    • Optional: RACI Statement (Formula – Text)

    Users

    The first field, the “who” field that I’m using, is a simple User field that will display all of the Users of your app. You can use other selectors like groups or teams you’ve defined, as long as you have a way to evaluate and compare in each table.

    User Text

    This field is a formula text field, and converts the selected Users field to text for evaluating and comparing in other tables.

    RACI

    The RACI field is a multiple-choice text field, and contains the values Responsible, Accountable, Consulted, and Informed.

    How these selections will translate into permissions is completely up to you. I’ll show you an example I’ve put together, that can be copied and pasted into every table of my app where I want to apply the respective permissions.

    Table

    This is also a multiple-choice text field, that contains table identifiers. It would probably be more effective to use table IDs, but that makes it difficult to read and present. You’ll need to add separate table entities for each table you want to control access to.

    RACI Statement

    Not essential, but fun. The RACI Statement is a text formula field that uses the formula:

    ToText( UserToName( [Users] ) ) & " is " & [RACI] & " for " & [Table]

    I think it’s a nice way to confirm the setup.

    A Quickbase Default displaying RACI Records.

    Setting up a table

    In your table where you want to control access via RACI, you’ll need to add 6 formula fields:

    • Table Name (Formula – Text)
    • Current User (Formula – User)
    • Is Responsible? (Formula – Checkbox)
    • Is Accountable? (Formula – Checkbox)
    • Is Consulted? (Formula – Checkbox)
    • Is Informed? (Formula – Checkbox)

    Formula: Table Name (Formula – Text)

    The formula for the Table Name field is a hard-coded value for the name of the table you’re working in, in this example: “Sample Table”.

    There are arguably better ways, such as using the dbid() function. However, for this example, I wanted to focus on something reader-friendly. Whatever the value you use, it must match the value of the “Table” field in the RACI table.

    Formula: Current User (Formula – User)

    The formula for the Current User field is simply: User()

    What it will do is confirm the current user, and match it against “Users” field in the RACI table for subsequent formula queries.

    For the next 4 formulas, you’ll need to know how formula queries work, how to locate field IDs, and table shortcuts, which is outside the scope of this post. For more information on that, I suggest checking out Quickbase Junkie tutorials.

    Formula: Is Responsible? (Formula – Checkbox)

    If(
        
        Size ( GetRecords( "{13.EX.'" & ToText( [Current User] ) & "'} AND {9.EX.'" & [Table Name] & "'} AND {6.EX.'Responsible'}", [_DBID_RACI]) ) > 0,
        true,
        
        // else
        false
        
    )

    Formula: Is Accountable? (Formula – Checkbox)

    If(
        
        Size ( GetRecords( "{13.EX.'" & ToText( [Current User] ) & "'} AND {9.EX.'" & [Table Name] & "'} AND {6.EX.'Accountable'}", [_DBID_RACI]) ) > 0,
        true,
        
        // else
        false
        
    )

    Formula: Is Consulted? (Formula – Checkbox)

    If(
        
        Size ( GetRecords( "{13.EX.'" & ToText( [Current User] ) & "'} AND {9.EX.'" & [Table Name] & "'} AND {6.EX.'Consulted'}", [_DBID_RACI]) ) > 0,
        true,
        
        // else
        false
        
    )

    Formula: Is Informed? (Formula – Checkbox)

    If(

    Size ( GetRecords( "{13.EX.'" & ToText( [Current User] ) & "'} AND {9.EX.'" & [Table Name] & "'} AND {6.EX.'Informed'}", [_DBID_RACI]) ) > 0,
    true,

    // else
    false

    )

    Each of these formula queries will check Records in the RACI table to determine what your permissions are in the table you’re using. In this example, the test user is “Responsible” for this table, demonstrated by the automatically checked checkbox. It should be copyable into any table where these formula checkboxes are created.

    Adjust Table Access

    The next thing to do is adjust table access permissions, and this is where the investment into controlling permissions at the front end pays off.

    In this example, Administrators can manage everything, viewers can’t do anything, and Participants can add Records, as well as view and modify them according to Custom Rules.

    The View rules are as follows:

    The premise for this is simple: If you have any business in this table, then you can view Records.

    You can have different rules to determine who can modify Records in this table:

    In this example, we can assume that the people with permissions to modify Records are those that are expected to complete tasks, and are accountable for making sure they’re done. People that only need to be informed don’t necessarily need to be able to edit Records but should be able to view them.

    While there is some up-front investment of time in setting this up, the benefit is that maintaining app table permissions in the long term becomes much simpler.

    What do you think? Do you think a setup like this is worth the time to set it up? Let me know!



  • It’s my favourite time of year: Discount chocolate!

  • March 20, 2023: Overheard on the street

    As I was walking to the ships, I overheard two people talking about approaching retirement.

    One said: I hope I’m dead before I need a nursing home, with the way the government is right now.

    Pretty damning of the provincial government.