Terveydenhuollon kehittämistä koodauksen keinoin

Ohjelmistokehitys tarjoaa huikean mahdollisuuden kehittää itselle merkityksellisiä aloja. Näin kävi myös Antti Kalliokoskelle, kun hän pääsi hyödyntämään kiinnostustaan lääketieteelliseen teknologiaan osallistuessaan FHIRcast-spesifikaation kehitykseen. FHIRcast on yksi FHIR-standardin alla käynnistetetyistä projekteista ja spesifikaatioista, jonka on julkaissut HL7.

Opiskeluaikana TTY:llä Anttia kiinnosti lääketieteen sekä teknologian yhdistäminen ja hän päätyikin valitsemaan pääaineekseen lääketieteellisen elektroniikan. Hän pääsi työskentelemään tutkijana ja apulaissairaalafyysikkona lääketieteellisen kuvantamisen ja kliinisen neurofysiologian parissa. Tältä pohjalta Antin ura johti ohjelmistokehitystehtäviin kuvantamiseen, potilasmonitorointiin ja laboratoriolaitteisiin liittyen.

FHIR-standardi määrittelee tiedonvaihtoa, FHIRcast synkronoi sovelluksia

Codeolla työskennellessään Antti on seurannut moderneihin web-standardeihin ja -teknologioihin pohjatuvan FHIR-standardia kehitystä. FHIR on suhteellisen uusi standardi ja se on ollut paljon esillä tärkeänä standardina tulevaisuuden terveydenhuollon ratkaisuihin. Monet terveydenhuollon järjestelmät jo tukevatkin FHIR:iä.
FHIR (Fast Healthcare Interoperability Resources) on suunniteltu mahdollistamaan terveydenhuoltoon liittyvien tietojen vaihto. Tämä sisältää kliinistä tietoa sekä terveydenhuoltoon liittyviä hallinnollisia, kansanterveyttä että tutkimustietoja. FHIR-spesifikaatio on suunnattu henkilöille ja organisaatioille, jotka kehittävät ohjelmistoja ja suunnittelevat yhteentoimivia ratkaisuja, jotka käyttävät FHIR:ää.

FHIRcast puolestaan on yksi projekti ja spesifikaatio FHIR-standardin alla. FHIRcast synkronoi terveydenhuollon sovellukset reaaliajassa näyttääkseen saman kliinisen sisällön käyttäjälle. Esimerkiksi radiologi työskentelee usein kolmessa eri sovelluksessa samanaikaisesti (radiologian tietojärjestelmä, PACS ja sanelujärjestelmä) ja hän haluaa nähdä jokaisesta näistä kolmesta järjestelmästä saman tutkimuksen tai potilaan tiedot.

Open source -projektien merkitys

Koska FHIR-standardinkin tarkoituksena on edistää yhteentoimivuutta eri järjestelmien välillä, on todella tärkeää, että myös standardin kehitys on läpinäkyvää ja pohjautuu koko yhteisön yhteistyöhön. Avoimessa lähdekoodissa nämä vaatimukset toteutuvat hienosti.

Antti halusi kontribuoida jollain tavalla FHIR-standardin kehitykseen. Hän selvitti standardin sisältöä, liittyi FHIR:n chattiin ja tutki FHIR:iin liittyviä open source -projekteja GitHubista ja löysi tekeillä olleen FHIRcast-spesifikaation. FHIRcastin GitHub-tililtä löytyi joitain POC:eja (Proof of Concept) ja eri teknologioilla toteutettuja referenssitoteutuksia.​

Mukaan kehittämään

Antti havaitsi, ettei FHIRcastin WebSocketteihin liittyvästä speksin ehdotuksesta vielä löytynyt esimerkkejä moderneilla teknologioilla tehtynä, ja päätti tehdä POC:in (Proof of Concept). WebSocketeilla pystyy ratkaisemaan käyttötapauksen, jossa selaimessa pyörivälle web-sovellukselle halutaan ilmoittaa muutoksista aina,kun potilaan tai tutkimuksen tiedot avataan, tai suljetaan toisissa sovelluksissa. Standardin toinen tapa perustuu Webhook:eihin, jotka mahdollistavat kommunikoinnin vain servereiden välillä. WebSocketit ja Webhookit ovat yleisesti käytössä olevia teknologioita toteuttaa publisher-subscriber (PubSub) -toiminnallisuutta.

Antti toteutti POC:in parin viikon aikana ja vei sitten toteutuksen omalle GitHub-tililleen sekä testiympäristön Azureen. Työhön liittyi myös paljon tutkimista ja kokeilemista. Toteutetussa POC:ssa kaksi eri selaimissa pyörivää web-sovellusta kommunikoi toistensa kanssa ajavan sovelluksen (driving application) välityksellä WebSocketteja hyödyntäen. POC:issa ajavana sovelluksena käytettiin FHIRcastin hub-referenssitoteutusta, mutta käytännössä ajava sovellus voi olla esimerkiksi potilastietojärjestelmä tai PACS.

Ideasta osaksi FHIRcast-projektia

Antti kertoi POC:sta FHIR:n chatissa, minkä seurauksena häneltä kysyttiin halukkuutta siirtää repository FHIRcast:n GitHub-tilin alle. Näin Antin ideoima ja toteuttama WebSocket -POC tuli osaksi FHIRcast-projektia. Websocket-osa otettiin mukaan FHIRcast-speksiin STU2-versiossa (Standard for Trial User 2), joka julkaistiin syksyllä 2020. Koko speksi on GitHubissa ja sen kehitykseen voi osallistua kuten muihinkin avoimen lähdekoodin projekteihin.

​Antin mieleen projekti jäi erityisesti onnistuneen ja merkityksellisen lopputuloksen ansiosta. Hänelle tärkeää oli päästä edistämään alan kehitystä ja FHIR-standardiin ja sen projekteihin tutustuminen oli erittäin kiinnostavaa. Lisäksi kynnys osallistua jatkossa muihinkin avoimen lähdekoodin projekteihin madaltui. FHIR-standardi on todella laaja, ja sen projektien kehitys jatkuu edelleen, joten mielenkiintoista tutkittavaa ja opeteltavaa riittää jatkossakin.

http://hl7.org/fhir/
https://fhircast.org/
https://github.com/fhircast
https://github.com/fhircast/reactclient.js
https://fhircast.org/specification/STU2/