Palvelut · Miten saamme tietopohjan, johon voi luottaa?

Kun samasta asiasta saa kaksi eri lukua, vika on menetelmässä.

Data as Software on menetelmä, jossa tietotuotanto tehdään kuten ohjelmisto. Muunnokset ovat versionhallinnassa, jokainen muutos testataan automaattisesti, ja julkaisu on hallittu. Testit ja laatusäännöt ajetaan joka kerta, ennen kuin luku päätyy raporttiin.

Viisi kysymystä, joista tilanteen tunnistaa

Kysykää nämä omalta tiimiltänne:

  1. Kuinka paljon työtä vaatii uuden lähteen, mallin tai sarakkeen lisääminen?
  2. Missä tietty malli on, kuka sen teki ja milloin?
  3. Miten se on rakennettu, ja voiko sitä muuttaa?
  4. Kauanko muutos kestää?
  5. Onko muutos testattu? Mistä tiedämme, ettei se riko mitään ja että data on oikein?

Jos vastaus on hidas, epävarma tai ”pitää kysyä siltä, joka sen teki”, tietotuotanto on yksittäisten ihmisten varassa.

Mitä menetelmään kuuluu

Tietotuotanto siirretään ohjelmistokehityksen menetelmiin. Logiikka kirjoitetaan pieniksi funktioiksi, jotka voi testata. Kaikki koodi on versionhallinnassa, ja muutokset katselmoidaan. Testaus ja julkaisu kulkevat automaattisesti kolmen ympäristön läpi: kehitys, testi ja tuotanto. Datakontraktit kertovat, mitä kukin tietorakenne tarkoittaa, kuka sen omistaa ja mitä laatusääntöjä siihen sovelletaan.

Kerrokset

Bronze, Silver ja Gold eivät yksin riitä. Tyypillisesti jaamme Silver-kerroksen kolmeen osaan: lähteet (S1), käsitteet (S2) ja toimialueet (S3). Käsite, kuten potilas, käynti tai diagnoosi, määritellään yhdessä paikassa. Kun määritelmä muuttuu, muutos tehdään kerran, ja se etenee kaikkiin tietotuotteisiin.

Välineet

Python, PySpark ja Git. Muilta osin käytämme vakiintuneita ja kypsiä avoimen lähdekoodin projekteja. Välineet valitaan teidän ympäristönne mukaan. Koodi kirjoitetaan niin, että sen voi ajaa omassa ympäristössä, yksityisessä pilvessä ja julkisessa pilvessä.

OsaMitä se tarkoittaa
VersionhallintaKaikki muunnoslogiikka on Gitissä. Jokainen muutos katselmoidaan ennen yhdistämistä (pull request), ja sen voi jäljittää ja perua.
Neljä testitasoaYksikkötestit, integraatiotestit, datakontraktien validointi ja hyväksymistestit.
Automaattinen testaus ja julkaisu (CI/CD)Jokainen muutos tarkistetaan automaattisesti: koodityyli, testit, datakontraktit ja mallien eheys.
DatakontraktitTuottajan ja käyttäjän välinen sopimus rakenteesta ja merkityksestä. Kontrakti kulkee koodin mukana kehityksestä tuotantoon.
LaadunvarmistusLaatusäännöt ajetaan putkessa joka kerta. Säännön rikkova data pysäytetään tai ohjataan sivuun, ennen kuin se ehtii raportteihin.
OmistajuusJokaisella tietotuotteella on nimetty omistaja, joka vastaa muutoksista ja elinkaaresta.
DokumentaatioTietomallit, päätökset ja rajaukset kirjoitetaan samaan aikaan kuin koodi.
JäljitettävyysVersiohistoria ja testitulokset näyttävät, mitä muutettiin, milloin ja kenen hyväksymänä.

Mitä Data as Software ei ole

Se ei ole pelkkä versionhallinta SQL:lle, työkaluvalinta tai automaattinen julkaisu ilman omistajuutta. Se ei myöskään ratkaise tietosuojaa ja sääntelyä automaattisesti, eikä se korvaa toimialan ymmärrystä ja arkkitehtuuria.

Miksi tämä painaa säännellyssä ympäristössä

Säännellyssä ympäristössä pitää pystyä osoittamaan, miten tieto on muodostunut, kuka muutokset on tehnyt ja millä logiikalla. Henkilötietojen käsittelyssä sitä edellyttää GDPR:n osoitusvelvollisuus. Jos ohjelmisto on lääkinnällinen laite, jäljitettävyyttä vaatii myös laitesääntely (MDR ja IVDR). EU:n tekoälyasetuksen suuririskisiä järjestelmiä koskevat vaatimukset alkavat soveltua 2.12.2027. Kun tietotuotanto on koodia versionhallinnassa, vastaus löytyy sieltä.

Näyttö: Länsi-Uudenmaan hyvinvointialue

Länsi-Uudenmaan hyvinvointialue siirsi tietotuotantonsa tähän menetelmään. Muutoksia oli neljä: SQL:stä PySparkiin ja Pythoniin, pitkistä putkista pieniin muunnosfunktioihin, automaattinen testaus ja julkaisu sekä datakontraktit. Sen jälkeen uusia toiminnallisuuksia tuotiin tuotantoon viikoittain.

Tekoäly rakentuu tämän päälle

Sama rakenne on tekoälyn edellytys. Kun data määritellään koodissa ja sen merkitys selitetään datakontrakteissa, kielimalli saa yksiselitteisen kuvauksen siitä, mitä kukin tietorakenne tarkoittaa.

Näin tämä ostetaan

Projektina tai jatkuvana allokaationa. Tiimimme työskentelee omien datainsinöörienne kanssa, ja dokumentaatio ja työnkulut kirjoitetaan yhdessä. Siksi menetelmä jää teille.