Skip to main content

Duomenų atvėrimo vyriausiasis specialistas

Įspėjimas

Visa mano asmeniniame bloge pateikta nuomonė yra mano asmeninė subjektyvi nuomonė, o ne oficiali IVPK pozicija.

Šią savaitę, nuo pirmadienio, pradėjau dirbti IVPK Skaitmeninės aplinkos skyriaus duomenų atvėrimo vyriausiuoju specialistu.

Pastebėjimas

IVPK svetainėje, kontaktų puslapyje nėra galimybės gauti tiesioginę nuorodą į konkretų skyrių. Nepatogu. Ta pati problema yra ne tik kontaktų puslapyje, bet ir kituose puslapiuose, kuriuose naudojami suskleidžiamieji sąrašai.

Su atvirais duomenimis ir kartu su IVPK jau dirbu gan seniai. Šią vasarą IVPK nusprendė papildyti atvirų duomenų komandą naujais žmonėmis ir paskelbė, kad ieško duomenų atvėrimo vyriausiojo specialisto. Ilgai negalvojęs nusprendžiau pretenduoti į šią poziciją, kadangi ir taip labai daug laiko skiriu atviriems duomenimis, o čia dar ir pinigų kažkiek už tai gausiu. Aišku atlyginimas valstybinėje įstaigoje daugiau nei du kartus mažesnis lyginant su programuotojų rinkos atlyginimais, bet šiuo atveju man labiau įdomus pats projektas.

Ši darbo vieta yra terminuota ir termino pabaiga sutampa su atvirų duomenų II etapo projekto pabaiga 2023-08-31. Na bet manau, kad trys metai yra pakankamai daug laiko ir per tiek laiko galima gan daug pasistūmėti su atvirais duomenimis. Ypač dirbant prie to pilną darbo dieną ir skiriant didžiąją dalį laisvalaikio, ką dariau iki šiol.

Mano pagrindinis darbas bus duomenų atvėrimo proceso priežiūra. T.y. turėsiu užtikrinti, kad duomenys būtų atverti kokybiškai, būtų laikomasi vieningų standartų ir pan.

Pirmoji mano užduotis yra techninės specifikacijos paruošimas II etapo viešajam pirkimui. Deja viešuosiuose pirkimuose negalima aiškiai ir konkrečiai įvardinti technologijų ar priemonių kurių reikia. Vietoj to, tenka aprašyti ką įrankis turi daryti.

Antroji užduotis viešųjų pirkimų tarnybos (VPT) duomenų atvėrimas. VPT duomenis jau praktiškai esu atvėręs, tačiau liko dar keletas klaidų, kurias reikia pataisyti prieš publikuojant duomenis.

Kadangi dabar dirbu už mokesčių mokėtojų pinigus, tai jaučiu atsakomybę atsiskaityti už tai, kaip naudojami mokesčių mokėtojų pinigai. Todėl stengsiuosi rašyti savo bloge apie tai, ką darau. Tikiuosi IVPK vadovybė mano viešų ataskaitų labai necenzūruos.

II duomenų atvėrimo etapas

Prieš daugiau nei metus laiko prasidėjo pirmasis duomenų atvėrimo etapas, kuris jau yra baigtas. Pirmo etapo rezultatas, paleistas data.gov.lt atvirų duomenų katalogas CKAN pagrindu ir atverti 5 įstaigų duomenys, viso 300 duomenų rinkinių. Pats katalogas nėra skirtas duomenų saugojimui, nors galima įkelti ir nedidelės apimties duomenis. Kataloge pateikiama informacija apie duomenų rinkinius ir nuorodos į duomenų šaltinius.

Jei atsimenat, gal prieš metus laiko buvo pradėta ruoštis antrajam etapui, kur kartu su IVPK ir EIMIN organizavom apklausą dėl duomenų poreikio. Remiantis šia apklausa buvo sudarytas 50 įstaigų sąrašas, kurių duomenis planuojama atverti antrajame etape.

Pats antrasis etapas jau įgauna pagreitį, mano naujieji kolegos aktyviai rengia sutartis su įstaigomis kurios atversi duomenis, ofise toks jausmas kaip skambučių centre. Įstaigos dažnai skambina, konsultuojasi ir ruošiasi duomenų atvėrimui.

Iš esmės valstybinių įstaigų duomenų atvėrimas nėra techninė problema, didele dalimi tai yra žmonių problema. Kadangi duomenų atvėrime dalyvauja daug įstaigų, tose įstaigose dirba daug žmonių, visi žmonės turi (arba neturi) skirtingą supratimą apie atvirus duomenis. Biurokratinis aparatas taip pat apsunkina reikalus, kadangi kiekvienas pajudėjimas turi turėti finansavimą, teisinį pagrindą ir pan.

Kiek žinau, visam antram etapui bus skirta apie 2.5 mln €. Visi šie pinigai bus paskirstyti institucijų duomenų atvėrimui, institucijoms ir joms talkinantiems paslaugų tiekėjams, institucijų darbuotojų mokymams ir nedidelė dalis - Atvirų duomenų katalogui tobulinti. Finansai įstaigoms skiriami pagal atveriamų duomenų kiekį ir reikalingų atlikti veiklų apimtį, nuo kelių šimtų iki keliasdešimt tūkstančių €. Manau skiriami finansai pakankamai neblogi ir duomenims atverti turėtų užtekti. Ne šiaip sau CSV failus eksportuoti, bet atverti duomenis aukštu brandos lygiu.

Vienintelė problema, kad visoje Lietuvoje valstybinių įstaigų yra apie 4000. Tai antrasis etapas dengia vos 1.25% viso valstybinio sektoriaus. Na bet žinoma, svarbu ne tik kiekybė, bet ir kokybė.

Kokių įstaigų duomenys bus atverti?

Kaip ir minėjau, viso bus atverta 50 įstaigų duomenys. Įstaigos bus skirstomos į tokias tris kategorijas:

  • Atveriančios savo jėgomis.

  • Atveriančios savarankiškai per pasirinktą tiekėją.

  • Atveriančios per IVPK centralizuotą pirkimą.

Skirtingos įstaigos, turi skirtingus IT pajėgumus, todėl ir skirtingai atveria duomenis.

Pilnas įstaigų sąrašas, kurių duomenis planuojama atverti yra toks:

  • Aplinkos apsaugos agentūra

  • Aplinkos apsaugos departamentas

  • Aplinkos ministerija

  • Audito, apskaitos, turto vertinimo ir nemokumo valdymo tarnyba

  • Automobilių kelių direkcija

  • Bendrasis pagalbos centras

  • Finansų ministerija

  • GIS-Centras

  • Geologijos tarnyba

  • Hidrometeorologijos tarnyba

  • Higienos institutas

  • Informacinės visuomenės plėtros komitetas

  • Informatikos ir ryšių departamentas

  • Kalėjimų departamentas

  • Migracijos departamentas

  • Mokslo, inovacijų ir technologijų agentūra

  • Muitinės departamentas

  • Muitinės informacinių sistemų centras

  • Nacionalinis transplantacijos biuras

  • Nacionalinis vėžio institutas

  • Nacionalinė teismų administracija

  • Nacionalinė žemės tarnyba

  • Narkotikų, tabako ir alkoholio kontrolės departamentas

  • Neįgalumo ir darbingumo nustatymo tarnyba

  • Policijos departamentas

  • Radiacinės saugos centras

  • Registrų centras

  • Regitra

  • Statistikos departamentas

  • Statybos produkcijos sertifikavimo centras

  • Transporto saugos administracija

  • Užkrečiamųjų ligų ir AIDS centras

  • Valstybinio socialinio draudimo fondo valdyba

  • Valstybinė akreditavimo sveikatos priežiūros veiklai tarnyba

  • Valstybinė kultūros paveldo komisija

  • Valstybinė ligonių kasa

  • Valstybinė maisto ir veterinarijos tarnyba

  • Valstybinė miškų tarnyba

  • Valstybinė mokesčių inspekcija

  • Valstybinė saugomų teritorijų tarnyba

  • Valstybės garantuojamos teisinės pagalbos tarnyba

  • Valstybės kontrolė

  • Valstybės tarnybos departamentas

  • Vilniaus universiteto ligoninė Santaros klinikos

  • Vyriausioji rinkimų komisija

  • Ryšių reguliavimo tarnyba

  • Socialinės apsaugos ir darbo ministerija

  • Užsienio reikalų ministerija

  • Valstybinis patentų biuras

  • Vidaus reikalų ministerija

Manau sutiksite, kad sąrašas yra pakankamai solidus.

Atvirų duomenų komanda

Komandoje atsakingoje už duomenų atvėrimo organizavimą dirba 5 žmonės. Projekto vadovas, trys žmonės atsakingi už projekto administravimo dalį ir vienas žmogus atsakingas už techninės dalies priežiūra.

IVPK atvirų duomenų komandos pagrindinė paskirtis, pačio projekto priežiūra, o ne duomenų atvėrimas. Duomenų atvėrimą darys pačios įstaigos arba įstaigoms duomenis atvers viešąjį pirkimą laimėję tiekėjai.

Kadangi pirkimas didelis, tai jis bus suskaidytas į dalis, dalių bus tiek kiek duomenis atveriančių įstaigų. Tai reiškia, kad kiekvieną dalį gali laimėti skirtingas tiekėjas, bet gali visas dalis laimėti ir vienas tiekėjas. Gali būti visaip.

Pirmame etape, atveriant 5 įstaigų duomenis, viešąjį pirkimą laimėjo 4 įmonių grupė iš kurių viena kūrė duomenų katalogą, kitos trys atvėrė duomenis.

Tiekėjai dažniausiai yra suinteresuoti už kuo didesnę sumą pinigų padaryti kuo mažiau darbo. Tai yra visai normalu, nes tiekėjai yra verslo įmonės siekiančios gauti pelną.

Todėl visos komandos pagrindinis tikslas padaryti atvirkščiai, kad tiekėjai už kuo mažesnę pinigų sumą padaryti kiek įmanoma daugiau darbo. Ką noriu pasakyti, kad paprasčiausias CSV failų eksportas nepraeis. Tiekėjams reikės įdėti daugiau pastangų.

Tikiuosi galutiniame rezultate gausis geras balansas.

Mano vizija

Į įvairias atvirų duomenų veiklas esu įsitraukęs kažkur nuo 2012 metų. Per tiek laiko teko pamatyti gan daug. Per visą šį laiką turiu pakankamai aiškų matymą, kaip organizuoti duomenų atvėrimą, kad su mažiausiomis sąnaudomis būtų pasiektas didžiausias rezultatas.

Bandžiau įvairius variantus. Kažkuriuo metu buvau labai susižavėjęs Linked Data, daug apie tai skaičiau, domėjausi ir galiausiai pradėjau advokatauti ir siūlyti įstaigoms, kad tai yra teisingiausias variantas atveriant duomenis. Bet šis variantas nepasiteisino, nes Linked Data yra gan sudėtingas ir mažai žinomas dalykas. Bandant apie tai kalbėti su ne techniniais žmonėmis, likdavau absoliučiai nesuprastas, bet net ir kalbant apie tai su techniniais žmonėmis sulaukdavau neigiamos reakcijos, nes paprasčiausiai mažai kas yra apie tai girdėję.

Toliau bandžiau kiek įmanoma supaprastinti Linked Data principus, išreiškiant juos per visiems gerai žinomą reliacinį duomenų modelį, tačiau išlaikant esminius metaduomenis, kad duomenys lengvai konvertuotųsi į Linked Data. Duomenų struktūroms aprašyti pasidariau nesudėtingą schemą, o patiems aprašams pasirinkau YAML formatą. Tačiau ir tai nepasiteisino, nes vis dar buvo per daug sudėtinga.

Galiausiai priėjau išvados, kad visi labai gerai supranta ir moka naudotis skaičiuoklėmis (Excel ir pan.). Tada visą tą duomenų struktūros aprašų idėją perkėliau iš YAML failų į vieną gan nedidelę lentelę. Ir taip pagaliau pavyko pasiekti, kad žmonės tai suprastu. Vis tik toje lentelėje yra užkoduota labai daug logikos, bet bent jau esminiai principai daugumai yra gan aiškūs.

Tokios duomenų struktūros aprašo lentelės idėja kilo kažkur prieš du metus, per tą laiką lentelė nemažai keitėsi, kol galiausiai pavyko ištobulinti gan gerai veikiantį variantą, kuris su gan nedideliu metaduomenų praradimu konvertuojasi atgal į YAML failus ir į Linked Data, leidžia aprašyti įvairių duomenų šaltinių struktūrą.

Tokia struktūros aprašo lentelė yra visos mano idėjos pagrindas. Per paskutinius du metus įgyvendinau atvirų duomenų automatizuoto atvėrimo priemonę, kurią praktiškai išbandžiau su VPT, LRS ir VRK duomenimis. Kurdamas tokią priemonę išbandžiau duomenų struktūros aprašų lentelę praktiškai su įvairiais duomenų šaltiniais.

Įstaigoms atveriančioms duomenis užtenka parengti tik duomenų struktūros aprašą (vieną Excel lentelę). O toliau visas duomenų atvėrimas pilnai automatizuojamas. Ne gana to, struktūros aprašas leidžia automatiškai generuoti API atvertiems duomenims, leidžia atvertus duomenis publikuoti įvairiais formatais įskaitant ir RDF, išlaikomi ryšiai tarp objektų, galimos įvairios duomenų modelio transformacijos, duomenų normalizacija ir pan.

Tokiu būdu atskiriamas pats duomenų atvėrimas, kuriam užtenka tik parengti šaltinio duomenų struktūros aprašą, nuo automatizuotos priemonės, kuri gali būti naudojama visose įstaigose atveriančiose duomenis. Tai turėtų maksimaliai optimizuoti duomenų atvėrimo darbus.

Kaip visa tai veikia esu gan išsamiai dokumentavęs. Analogiško duomenų struktūros aprašo specifikacija yra paskelbta IVPK atvirų duomenų kataloge.

Ir galiausiai viso to pagrindu rengiu techninę specifikaciją tiekėjams, kurie atvers duomenis.

Planuoju daryti keletą nuotolinių vaizdo dirbtuvių, kurių metu žodžiu bandysiu paaiškinti, kaip rengti duomenų struktūros aprašus, atsakysiu į iškilusius klausimus. Tikiuosi tokia komunikacija padės visoms duomenų atvėrime dalyvaujančioms šalims geriau susikalbėti.