Laadunvalvonta
Datan eheystarkistukset
Tarkistukset ajetaan palvelimen käynnistyessä suoraan tietokantaa vasten. Poikkeamat kertovat lähdedatan tai tuontiputken ongelmista.
Tietoputken tila
| Vaihe | Tila | Viimeksi ajettu | Edistyminen |
|---|---|---|---|
| Tietojen haku | Ei ajettu | – | – |
| Jäsentäminen | Ei ajettu | – | – |
| Tietokannan migraatio | Ei ajettu | – | – |
| Asiakirjojen lataus | Ei ajettu | – | – |
| PDF-tekstien poiminta | Ei ajettu | – | – |
Tietojen haku
Vaihetta ei ole vielä ajettu — tilatietoja ei ole saatavilla.
Jäsentäminen
Vaihetta ei ole vielä ajettu — tilatietoja ei ole saatavilla.
Tietokannan migraatio
Vaihetta ei ole vielä ajettu — tilatietoja ei ole saatavilla.
Asiakirjojen lataus
Vaihetta ei ole vielä ajettu — tilatietoja ei ole saatavilla.
Business Logic
Aktiivisten kansanedustajien määrä ei saa ylittää 200 minkään istunnon päivänä.
Listaa istuntopäivät, joina aktiivisia kansanedustajia oli alle 200. Lyhyet vajaukset ovat normaaleja seuraajakatkoksia, eivät datavirheitä.
Tunnettu syy: Paikka on avoinna edustajan poistumisen ja seuraajan aloituksen välillä — tämä on eduskunnan normaalia toimintaa, ei datavirhe. Jokainen rivi näyttää todisteet suoraan datasta: vacant_seats on avointen paikkojen määrä, recent_departures paikan jättänyt edustaja (toimikauden päättymispäivä) ja next_seatings seuraava aloittaja (toimikauden alkupäivä). Esimerkki: Ilkka Kanerva kuoli 14.4.2022 ja Ville Valkonen aloitti 29.4.2022, joten 19.–28.4.2022 istuntopäivinä edustajia oli 199.
Näytä esimerkkirivit · 17 poikkeavaa riviä
| date | mp_count | vacant_seats | recent_departures | next_seatings |
|---|---|---|---|---|
| 2019-04-24 | 199 | 1 | Kyllönen Merja (2019-04-23); Halla-aho Jussi (2019-04-23) | Kalliorinne Risto (2019-05-02) |
| 2019-11-26 | 199 | 1 | Rantakangas Antti (2019-11-22) | Kettunen Tuomas (2019-11-28); Mäkynen Matias (2019-12-03) |
| 2019-11-27 | 199 | 1 | Rantakangas Antti (2019-11-22) | Kettunen Tuomas (2019-11-28); Mäkynen Matias (2019-12-03) |
| 2021-09-08 | 198 | 2 | Vartiainen Juhana (2021-09-07); Ikonen Anna-Kaisa (2021-09-07) | Said Ahmed Suldaan (2021-09-09); Kinnunen Jari (2021-09-09); Kaleva Atte (2021-09-09) |
| 2022-04-19 | 199 | 1 | Kanerva Ilkka (2022-04-14) | Valkonen Ville (2022-04-29) |
Istuntojen päivämäärät eivät saa olla tulevaisuudessa.
Äänestysten päivämäärät eivät saa olla tulevaisuudessa.
Suomen eduskunta perustettiin vuonna 1907 — aiempia istuntoja ei pitäisi olla.
Data Quality
Äänen arvo täytyy olla Jaa, Ei, Tyhjää tai Poissa.
Jokainen henkilö voi äänestää vain kerran per äänestys.
Äänestyksen kokonaisäänimäärä ei saa ylittää 200.
Vote.group_abbreviation-arvon tulee olla valmiiksi trimmattu ilman alku- tai loppuvälilyöntejä.
Speech.party_abbreviation-kentässä puuttuva arvo pitää tallentaa NULL-arvona, ei tyhjänä merkkijonona.
Speech.ministry-kentässä puuttuva arvo pitää tallentaa NULL-arvona, ei tyhjänä merkkijonona.
Section.note-kentässä puuttuva arvo pitää tallentaa NULL-arvona, ei tyhjänä merkkijonona.
Section.processing_title-kentässä puuttuva arvo pitää tallentaa NULL-arvona, ei tyhjänä merkkijonona.
Section.resolution-kentässä puuttuva arvo pitää tallentaa NULL-arvona, ei tyhjänä merkkijonona.
Voting.title-kentässä puuttuva arvo pitää tallentaa NULL-arvona, ei tyhjänä merkkijonona.
Vote.group_abbreviation-arvojen tulee olla normalisoitu pienaakkosiin.
Speech.party_abbreviation-arvojen tulee olla normalisoitu pienaakkosiin.
RollCallEntry.party-arvojen tulee olla normalisoitu pienaakkosiin.
VaskiDocument.document_type-arvon tulee olla normalisoitu pienaakkosinen tunniste (ei tyhjä, ei välilyöntejä). Taulu sisältää kymmeniä laillisia tyyppejä, joten kiinteää sallittujen arvojen listaa ei käytetä.
RollCallEntry.first_name- ja last_name-kenttien tulee sisältää arvo, ei NULL- tai tyhjää merkkijonoa.
RollCallEntry.first_name- ja last_name-arvoissa ei saa olla alku- tai loppuvälilyöntejä.
Vote.vote-kentän arvon tulee olla Jaa, Ei, Tyhjää tai Poissa; lähdekielen arvoja ei saa jäädä tietokantaan.
RollCallReport.status-kentässä saa olla vain tunnettuja lähdearvoja silloin kun arvo on asetettu.
VaskiDocument.source_path-kentän tulee sisältää ei-tyhjä lähdepolku.
SpeechContent.source_path-kentän tulee sisältää ei-tyhjä lähdepolku.
Data Integrity
Toimikauden alkupäivä ei saa olla loppupäivän jälkeen.
Puoluejäsenyyden alkupäivä ei saa olla loppupäivän jälkeen.
Henkilöllä ei saa olla päällekkäisiä puoluejäsenyyksiä eri puolueisiin.
Hallitusjäsenyyden alkupäivä ei saa olla loppupäivän jälkeen.
Kaksi hallitusta ei saa olla samanaikaisesti aktiivisia. Saman päivän vaihdokset (eroava hallitus päättyy uuden alkaessa) ovat normaaleja, ja vuotta 1987 vanhempia hallituksia ei tarkisteta päivämäärien vuositarkkuuden vuoksi.
Listaa hallitukset, joiden alku- tai loppupäivä on tuotu vain vuoden tarkkuudella (paikkamerkit VVVV-01-01 / VVVV-12-31).
Tunnettu syy: 21 hallituksella 77:stä (kaikki aloittaneet viimeistään 1983) päivämäärät on tuotu lähdedatasta vain vuoden tarkkuudella ja tallennettu muodossa VVVV-01-01 / VVVV-12-31. Päivätason vertailut eivät ole näille riveille mielekkäitä — siksi hallituskausien päällekkäisyystarkistus kattaa vain hallitukset vuodesta 1987 alkaen.
Näytä esimerkkirivit · 21 poikkeavaa riviä
| id | name | start_date | end_date |
|---|---|---|---|
| 1 | Sorsa III | 1982-01-01 | 1983-05-06 |
| 2 | Sorsa IV | 1983-01-01 | 1987-12-31 |
| 16 | Paasio II | 1972-01-01 | 1972-09-03 |
| 17 | Sorsa | 1972-01-01 | 1975-06-12 |
| 18 | Miettunen II | 1975-01-01 | 1976-09-28 |
n_yes + n_no + n_abstain + n_absent täytyy olla n_total.
Äänestysrivien lukumäärän täytyy vastata n_total-arvoa, istuntopäivän avoimet edustajanpaikat huomioiden.
Äänestyksen kirjatut Jaa/Ei/Tyhjää-määrät täytyy vastata täsmälleen yksittäisten äänirivien jakaumaa.
Äänestyksen kirjatun poissaolomäärän täytyy vastata yksittäisiä Poissa-rivejä, istuntopäivän avoimet edustajanpaikat huomioiden.
Referential Integrity
Kaikkien äänirivien täytyy viitata olemassa olevaan äänestykseen.
Kaikilla äänillä täytyy olla vastaava edustaja.
Kaikkien kohtien täytyy viitata olemassa olevaan istuntoon.
Näytä esimerkkirivit · 13 poikkeavaa riviä
| key | session_key |
|---|---|
| 0FOneG40j5vLtPJ | 2026/72 |
| vIt8EU3O8AnaKaC | 2026/72 |
| vzZt4sSQR8141dD | 2026/72 |
| 8hXMAw4Sj12Og99 | 2026/72 |
| nULBlCV9CrI3v4V | 2026/72 |
Vaalikaudesta 2015 (22.4.2015) alkaen jokaisen äänestyksen täytyy viitata olemassa olevaan istuntoon. Vanhempia äänestyksiä ei tarkisteta, koska niiden istuntoviittaukset käyttävät vanhan järjestelmän numerointia.
Tunnettu syy: Äänestyshistoria alkaa 12.6.1996, mutta istuntohistoria vasta 2.6.2014, ja huhtikuuta 2015 edeltävät äänestykset käyttävät vanhan järjestelmän istuntonumerointia (esim. äänestyksen avain 2014/66, istuntotaulun avaimet muotoa 2014/257). Vanhoja äänestyksiä ei siksi voi linkittää istuntoihin; vaalikauden 2015 ensimmäisestä täysistunnosta alkaen linkityksen täytyy olla aukoton.
Näytä esimerkkirivit · 2 poikkeavaa riviä
| id | session_key | start_date |
|---|---|---|
| 56838 | 2026/72 | 2026-07-21 |
| 56840 | 2026/72 | 2026-07-21 |
Jokaisen äänestyspäivän äänillä täytyy olla äänestäjälle voimassa oleva toimikausi.
Tunnettu syy: Toimikausidata ei kata 1990-luvun sijaisuusjaksoja täydellisesti. Tunnetut tapaukset: Nikula 13.3.1998, Kemppainen 23.4.–18.6.1999 (kolme äänestyspäivää) ja Erlund 25.4.2000 — näinä päivinä annetuille äänille ei löydy voimassa olevaa toimikautta.
Näytä esimerkkirivit · 5 poikkeavaa riviä
| person_id | voting_date |
|---|---|
| 412 | 1998-03-13 |
| 322 | 1999-04-23 |
| 322 | 1999-06-04 |
| 322 | 1999-06-18 |
| 559 | 2000-04-25 |
Jokaisella edustajalla täytyy olla vähintään yksi toimikausi.
PDF-tekstien poiminta
Poimintaa ei ole vielä ajettu — tilatietoja ei ole saatavilla.