Duomenų atvėrimo vyriausiasis specialistas
Šią savaitę, nuo pirmadienio, pradėjau dirbti IVPK Skaitmeninės aplinkos skyriaus duomenų atvėrimo vyriausiuoju specialistu.
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.
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.
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.