Näytetään tekstit, joissa on tunniste tietojärjestelmä. Näytä kaikki tekstit
Näytetään tekstit, joissa on tunniste tietojärjestelmä. Näytä kaikki tekstit

maanantai 29. syyskuuta 2014

VR:n lipunmyyntijärjestelmässä käsittämätön bugi

Yritin ostaa junalipun Jyväskylään. VR:n netissä toimiva lippupalvelu ei kuitenkaan hyväksynyt paluun kellonaikaa, vaan antoi siitä itsepintaisesti virheilmoituksen. Lippu jäi ostamatta.

Paluuaika väärin kirjoitettu -- mitä ihmettä?
Monen kokeilun ja turhan yrityksen jälkeen paljastui, että vika olikin lähtöajassa. Kun lähtöä siirsi riittävästi eteenpäin, paluun kellonaika kelpasi:

No nyt kelpasi!
Lopulta ongelman syy selvisi: lipunmyyntijärjestelmä vertaa lähtö- ja tuloaikoja merkkijonoina, ei numeroina. Tällä logiikalla kello 6 aamulla on myöhempi aika kuin kello 22 illalla (koska "6" > "22"). Lähtövaraus esim. 1:15 onnistuu, kunhan paluu on 20 jälkeen, koska merkkijonoina "1:15"<"20". Aamukymmenestä eteenpäin varaus toimii oikein, koska nelinumeroisissa luvuissa käsittely merkkijonoina tuottaa saman tuloksen kuin numeerinen vertailu.

On siinä asiakkaalla ihmettelemistä, mitä hän oikein tekee väärin. Ei mitään, kyse on ohjelmoijan mokasta.

Tämä ei ole mikään tavallinen bugi. Matkalippujen myynti on VR:n ydinliiketoimintaa. Yhä suurempi osa lipunmyynnistä tapahtuu netissä. Lipunmyyntijärjestelmä on siten VR:n operatiivinen tietojärjestelmä. Siinä ei voi olla tällaista bugia. Ei vain voi.

Ikään kuin tässä ei vielä olisi tarpeeksi, muistin törmänneeni samankaltaiseen vikaan kaksi vuotta aiemmin. Silloinkin liian varhainen lähtöaika (kolme numeroa) antoi virheilmoituksen, mutta sentään oikeaan kenttään.

Elokuu 2012: VR-lipunmyynti ei hyväksy numeroa 9, pitäisi olla 09.

Valitukseni jälkeen tämä bugi sentään korjattiin. Nyt samassa kohdassa on uusi, entistä kummallisempi vika, joka on Twitter-vastauksesta päätellen ollut VR:n tiedossa. Sitä ei vain ole korjattu. Eikö VR ole kuunnellut lainkaan asiakaspalautetta? Eikö sen IT-toimittaja ole testannut järjestelmää lainkaan?

Numeroiden vertaaminen merkkijonoina on alkeellisin mahdollinen virhe, jollaisia yleensä tekevät peruskoululaiset ensimmäisissä ohjelmointiharjoituksissaan. Sen pitäisi paljastua vähäisessäkin testauksessa, Äkkiseltään ei tule mieleen toista näin alkeellista IT-ongelmaa. Tekisi mieli puhua suorastaan törkeästä osaamattomuudesta yhdistettynä täydelliseen piittaamattomuuteen. Onko muulla kuin monopoliyhtiöllä varaa tällaiseen?

Kenelle me, jotka olemme kärsineet tästä ongelmasta ja tuhlanneet sen vuoksi aikaamme -- tehden lopulta testauksen, joka kuuluisi IT-yritykselle -- voimme lähettää laskun?

Muokattu klo 16:10: vian taustalla ei näytäkään olevan lähtöajan numeromäärä vaan väärien tietotyyppien vertailu, kiitos @mvarti (Mikko Vartiainen).

Lisäys 19:50: VR ei ilmeisesti pidä kiirettä bugin korjauksella, kun ei ole pitänyt tähänkään asti. Vähintään sen pitäisi lisätä varaussivulle varoitusteksti, joka kertoo miten ongelman voi kiertää. Nyt monelta jää lippu ostamatta tämän vuoksi. Ironista on, että palvelun oma avusteteksti antaa ymmärtää kellonajan kelpaavan monessa eri muodossa.

Kellonaika kelpaa eri muodoissa... NOT.
Lisäys 2.10.2014 klo 15: Bugi näyttää tulleen korjatuksi. Ilmeisesti julkinen kohu sai VR:n laittamaan vauhtia rattaisiin.

maanantai 15. huhtikuuta 2013

Päihitin IBM:n supertietokoneen

Pari vuotta sitten IBM:n supertietokone päihitti television tietokilpailuohjelmassa kaksi ihmiskilpailijaa. Jeopardy-ohjelma on tosin enemmänkin Trivial pursuit -tyyppinen visa kuin varsinainen tietokilpailu, mutta silti tapahtuma herätti melkoisesti huomiota.

Ei ihme, sillä video on vaikuttavaa katsottavaa. Watsonin vastaukset tulevat kuin apteekin hyllyltä ja niin nopeasti, etteivät ihmiskilpailijat ehdi edes reagoida.

Mutta onko Watson oikeasti älykäs? Ei tietenkään. Sen muistiin (nimenomaan keskusmuistiin, ei siis levylle) oli ladattu mm. kokonainen Wikipedia sekä tuhansia uutisia, artikkeleita ja muita lähteitä. Tästä tietomassasta se seuloi eri algoritmeilla todennäköisimmän vastauksen.

Algoritmien kehittyneisyyttä kuvastaa se, miten suurella todennäköisyydellä se kulloinkin arvioi vastauksensa oikeaksi. Yleensä luku oli yli 90 prosenttia.

Viimeisenä oli kysymys, jossa etsittiin USA:n kaupunkia. Vihjeenä kerrottiin, että sen suurin lentokenttä on nimetty sotasankarin mukaan ja toiseksi suurin on saanut nimensä toisen maailmansodan taistelusta. Molemmat ihmiskilpailijat tiesivät vastauksen, samoin minä. Oli joskus tullut selvitettyä, miksi lentokentän nimi oli O'Hara -- ja se toinen kenttä oli Midway. Tuttuja paikkoja kaikille vanhoilla MS Flight Simulator -ohjelmilla lentäneille.

Watson meni tässä vipuun. Se ehdotti kaupungiksi Torontoa, mutta tiesi olevansa hyvin epävarma. Se ei selvästikään ollut lentänyt simulaattoria eikä käynyt Chicagossa.

Ylipäätään Watson osoittautui hyväksi silloin, kun kysymys oli riittävän spesifinen. Lyhyet tai epämääräiset kysymykset, joiden ymmärtämiseen tarvittiin inhimillistä kokemusta, olivat Watsonille liikaa.

Voisikin sanoa, että näyttävästä demosta huolimatta Watson oli todellakin vain kone: hyvä etsimään neulaa heinäsuovasta, mutta kyvytön ymmärtämään, mikä neula oli tai miksi se ylipäätään haluttiin löytää.

Ihmisen valta-asema ei ole uhattuna, ei edes tietokilpailuissa. Sen sijaan Watson sopii loistavasti lääkärin apulaiseksi. Se selaa hetkessä tuhansia tieteellisiä tutkimuksia, potilaskertomuksia ja muuta materiaalia, joiden perusteella se tekee lääkärille oman diagnoosinsa. Lopullinen päätös jää lääkärille, kuten pitääkin.

Watsonin rajaton muisti ja tarkkuus täydentävät ihmisälyä. Juuri sellaiseen käyttöön tietojärjestelmät sopivat parhaiten.

Ehkä Apottiin tulee joskus vastaava toiminnallisuus. Senkin vuoksi olisi tärkeää, että potilaskertomukset olisivat samassa tietojärjestelmässä ja koodattu yhdenmukaisella tavalla. Yhteinen Apotti säästäisi ihmishenkiä. Sen rinnalla keskustelu pelkästä it-projektin hinnasta tuntuu marginaaliselta.

perjantai 14. syyskuuta 2012

Epäonnistuvatko tietojärjestelmäprojektit aina?

Viimeisen vuoden ajalta ei tule mieleen toista aihetta, joka olisi herättänyt yhtä rajua ja närkästynyttä kommentointia kuin potilastietojärjestelmän uudistus. Myönnän toki itsekin hieman provosoineeni viittaamalla ilmaiseen Linuxiin ja Pirate Bayhin. Mutta silti.

Tässä tapauksessa viides valtiomahti (ts. sosiaalinen media) osoitti hyvät ja huonot puolensa. Tiukimmat kommentit tulevat aina ihmisiltä, joilla ei ole omakohtaisia kokemuksia asiasta. Jyrkimmät mielipiteet perustuvat netistä luettuihin väitteisiin, joita pidetään tosina siksi, että ne ovat netissä ("Viro teki saman 10 miljoonalla", "Avaruussukkulakin lentää halvemmalla ohjelmalla", "1,8 miljardia vuodessa on täysin kohtuuton hinta").

Toisaalta netissä on myös erittäin asiantuntevaa keskustelua aiheesta, kuten Facebookin Terveydenhuollon tietojärjestelmät korjattava -ryhmä. Jos HUSilta puuttuu tietoa järkevien päätösten pohjaksi, kannattaisi konsultoida tämän ryhmän kirjoittajia. Myös Jyrki Kasvi kirjoitti aiheesta monipuolisen asiallisesti blogissaan.

(Sivumennen sanoen, en voi ymmärtää miten asiasta on tullut tällainen ongelma. Mikä pakko meidän on valita kallis järjestelmä, joka on tehty vanhalla tekniikalla? Miksei kukaan selvitä, miten Ruotsi, Norja, Tanska tai Keski-Euroopan maat ovat hoitaneet asian? Kopioidaan näistä paras ratkaisu Suomeen).

Hesarikaan ei täysin onnistunut asiassa, vaikka juttua koristi havainnollinen grafiikka. Sen mukaan 450 miljoonan summasta lisenssien ja ohjelmakustannusten osuus on 229,5 miljoonaa euroa. Toisaalla lehdessä kerrotaan kuitenkin että suurin osa kustannuksista syntyy henkilökunnan kouluttamisesta, tietojen siirrosta vanhoista järjestelmistä uuteen sekä ohjelman räätälöinnistä Suomen lakien ja tietoturva-asetusten mukaisiksi.  Molemmat eivät voi pitää paikkaansa. Missään ei myöskään kerrota, onko 450 miljoonaa vuosikustannus vai hinta koko elinkaaren ajalta (tämä siis vain HUS-kuntien osalta, koko maahan levitettynä kustannus olisi 1,8 miljardia).

Ota tästä sitten selvää! Harva jaksaa edes yrittää. Sen sijaan kaikki muistavat otsikot tietojärjestelmien ongelmista. Sopivasti juuri tänään 14.9. tulee tasan vuosi VR:n surullisenkuuluisasta lippujärjestelmäuudistuksesta.

Mutta epäonnistuvatko tietojärjestelmät tosiaan aina? Vai onko kyse siitä, että huonot uutiset ylittävät uutiskynnyksen? On varmasti vielä isompia it-projekteja, jotka ovat onnistuneet ja pysyneet aikatauluissaan, ja joista juuri sen vuoksi emme ole koskaan kuulleetkaan.

Media on tehnyt meistä yliherkkiä tietotekniikan ongelmille. Jos verotusta tai väestötietojärjestelmää alettaisiin suunnitella vasta nyt, hankkeesta varmaan luovuttaisiin. Kukaan ei uskoisi, että niin iso projekti voi onnistua.

Potilasjärjestelmä ei ole pelkkä kulu vaan investointi, jonka pitäisi tuottaa merkittäviä säästöjä (samaisen Hesarin mukaan 330 miljoonaa vuodessa). Jos järjestelmä toimii loogisesti, se säästää lääkärien aikaa ja pelastaa potilaiden henkiä. Hinta ei enää näytäkään niin suurelta. Vertailukohtana voi olla vaikka Suomen julkisen terveydenhuollon vuosikustannukset, jotka ovat 8,5 miljardia euroa.

Oletetaan, että 1,8 miljardia on kokonaiskustannus 10 vuoden ajalta. Se tekisi 36 euroa jokaista kansalaista kohti vuodessa. Se ei enää kuulosta kovin paljolta.

En tunne taustoja, joten itse en ota kantaa järjestelmän toimittajaan. Jos joku tekee järjestelmän 26 tai 16 eurolla, aina parempi. Tai jos Virosta saadaan valmis järjestelmä 0,16 eurolla, niin sehän on loistavaa!

Yksi asia on varma: pelkkä hinta on huono valintakriteeri. Tietojärjestelmät ovat uutisissa juuri siksi, etteivät niiden tilaajat ymmärtäneet katsoa muuta kuin hintaa.

keskiviikko 12. syyskuuta 2012

Marssi potilastietojärjestelmää vastaan

Nuoret osoittivat eilen mieltään terveydenhuollon tietojärjestelmäuudistusta vastaan. Vau, ajat ovat tosiaan muuttuneet! Ennen mieltä osoitettiin solidaarisuudesta vieraita kansoja kohtaan tai asevarustelua vastaan. Nyt nuoret kantavat huolta siitä, ettei yhteisiä verovaroja turhaan päädy ulkomaisille softafirmoille.

Päivän Hesari esittelee Apotti-nimistä hanketta tarkemmin. Kyse on pääkaupunkiseudun kuntien potilastietojärjestelmän uudistamisesta. Kuuden kunnan järjestelmässä ohjelmalisenssit olisivat noin 230 miljoonaa euroa. Testaus, räätälöinti, hallinto, koulutus ja kaikki muu tietojärjestelmäprojektiin kuuluva sälä nostavat kokonaisuuden arvon 350-400 miljoonaan euroon.

Ja jos järjestelmä laajennetaan koko maahan, hintalappu on huimat 1,8 miljardia. Epäilemättä jollain vilisevät dollarinkuvat silmissä. Tämähän kuulostaa verrattomalta bisnekseltä. Lisäksi jäljet pelottavat: kuinka moni tietojärjestelmä on valmistunut ajallaan, pysynyt budjetissaan -- ja toiminut luvatulla tavalla? Lopullinen hinta voi olla paljon luvattua korkeampi.

Nuoret, jotka ovat tottuneet ilmaiseen Linuxiin ja lataamaan musiikin laittomasti Pirate Baystä, pitävät summaa mielenosoituksen arvoisena. Mutta paljonko on paljon?

Softalisenssien hinnat on usein sidottu käyttäjämääriin tai prosessoriytimiin. Alhainenkin yksikköhinta tekee kokonaisuudesta kalliin, kun tietojärjestelmän koko kasvaa. Perinteinen hinnoittelumalli on selvästi aikansa elänyt eikä sovellu nykyaikaan.

Hintaa tärkeämpää olisi keskustella siitä, mitä järjestelmän pitäisi tehdä ja mitä hyötyä siitä olisi. Kuuden kunnan Apotin hyödyiksi on laskettu 330 miljoonaa euroa. Suurin säästö on lääkärien tehostunut ajankäyttö, joka lisää potilaskäyntien määrää kymmenellä prosentilla. Jos järjestelmä säästää rahaa ja pelastaa vieläpä ihmishenkiä, hinta ei enää olekaan kovin tärkeä.

Sairaaloiden huonot ja päällekkäiset tietojärjestelmät tuhlaavat lääkärien aikaa ja vaarantavat potilasturvallisuutta. Siksi käytettävyys ja hyödyt ovat avainasemassa. Niistä pitäisi puhua.

Potilastietojärjestelmän pitää olla ehdottoman helppokäyttöinen, tietoturvallinen ja tehokas. Nykyinen kaaos on seurausta juuri siitä, että asiakkaat ovat aina valinneet halvimman vaihtoehdon.

Jos Apotin 1,8 miljardin kustannus jakautuu 10 vuodelle, se tekee 36 euroa henkeä kohti vuodessa. Se ei enää kuulosta pahalta. Aina parempi, jos joku tekee halvemmalla.

Yli 200 miljoonaa lisenssistä on paljon. On kysyttävä, saisimmeko paremman tuloksen tekemällä koko järjestelmän itse? Osaamista Suomesta varmasti löytyisi, mutta kustannussäästöt ovat arvoitus. Nörtti koodaa webbisoftan päivässä, mutta potilastietoja käsittelevän, tietoturvallisen ja lääkärien työhön sopivan tietojärjestelmän tekeminen on ihan toisen luokan juttu.

Itse tehtynä pitäisi perustaa organisaatio, joka tekisi työn avoimena lähdekoodina (ja sen jälkeen muut valtiot käyttäisivät Suomen tekemän työn hyväkseen). Lähtisikö jokin nykyisistä softayrityksistä tekemään näin valtavaa projektia? Vai olisiko riski niin suuri, että sitä varten pitäisi perustaa uusi Valtion tietokonekeskus (VTKK)?

Kiinnostava aihe houkuttelee epäasiallisiin vertauksiin. Yksi niistä on avaruussukkulan ohjausohjelmisto, jonka arvoksi nykyrahassa on laskettu pari miljardia. Ei kai ole tarkoitus lähettää Suomen sairaita avaruuteen softalla?

Itse asiassa sukkulaohjelmisto on hyvä vertailukohde. Kauan sitten luin, että sukkula lentää 1970-luvun lopun tekniikalla ja sen softa on 8-bittistä koodia. Jos tällaisen softan saaminen läpeensä luotettavaksi maksaa kaksi miljardia, potilasjärjestelmän vertailukelpoinen hinta olisi kymmeniä miljardeja.

Toinen vertailukohta on Viro, joka kuulemma toteutti vastaavan projektin 10 miljoonalla eurolla. Ensinnäkin virolaisia on viidesosa suomalaisista ja koodaajan keskipalkka lienee samaa tasoa (yhteensä siis 1/25). Mikä tärkeintä, Viro lähti puhtaalta pöydältä -- Suomen on siirrettävä tiedot tuhannesta erilaisesta järjestelmästä uuteen. On helppoa tehdä uutta, mutta vanhan siirtäminen on vaikeaa. Jos tämä on näin helppoa, miksei osteta virolaisilta valmista järjestelmää?

Oleellista on tarkastella avoimesti kaikkia vaihtoehtoja. Ensi sijassa pitää miettiä säästöjä ja hyötyjä. Hintalappu on lopulta sivuseikka terveydenhuollon kokonaisuudessa.