Går systemet ned, kan tusenvis av pasienter stå uten medisiner

Vi har møtt utviklerne hos Norges største apotek-kjede: Apotek 1.

Håkon Nykvist er leder for utviklingsavdelingen hos norges største Apotek-kjede, Apotek 1. 📸: Jørgen Jacobsen
Håkon Nykvist er leder for utviklingsavdelingen hos norges største Apotek-kjede, Apotek 1. 📸: Jørgen Jacobsen Vis mer

For ekte lørenskauinger er bygg som kjøpesenteret Triaden og sportsanlegget på Rolvsrud kjente syn i bybildet. Men klemt mellom dem ligger et landemerke som er minst like iøynefallende.

I et litt snedig bygg i 90-tallsstil holder nemlig Norges største apotekkjede Apotek 1 til. Kjeden har over 370 butikker rundt omkring i hele Norge og over 3.500 ansatte.

Blant dem; en gruppe utviklere. Vi var nysgjerrige på hva de egentlig bygger bak veggene i Apotek 1 sine Lørenskog-lokaler.

Lokalene til Apotek 1 er velkjente for beboere på Nedre Romerike. 📸: Jørgen Jacobsen
Lokalene til Apotek 1 er velkjente for beboere på Nedre Romerike. 📸: Jørgen Jacobsen Vis mer

Ingen frontend-utviklere

Svenske Håkan Nykvist, avdelingsleder for systemutvikling møter oss i døra.

- Vi er faktisk over 400 som jobber i bygget her. Alt fra helpdesk, til pakking av piller til kunder og utkjøring til butikk gjøres fra Lørenskog, forteller Nykvist.

Liv Hoffman Hartold har arkitektansvar for Javaplatformen hos Apotek 1. 📸: Jørgen Jacobsen
Liv Hoffman Hartold har arkitektansvar for Javaplatformen hos Apotek 1.
📸: Jørgen Jacobsen Vis mer

Alle utviklerne sitter også i Lørenskog; 15 stykker totalt i en egen avdeling. Der går det i klassiske celle-kontorer og enkelte grupperom.

- Det bærer nok litt preg av at det er et eldre bygg, forteller Nykvist.

- Vi har et integrasjonsteam og et Java-team, skyter Java-arkitekt Liv Hoffman Hartold inn.

- Så dere har ingen frontendutvikler, altså?

- Nei, vi har ikke det, forteller Hartold og ler.

- Vi bruker blant annet Vaadin, som er en løsning for Java til JavaScript. Det er Java vi driver med.

- Hva med Java-versjon, da?

- Det går i 8, ja, forteller hun.

En Java-versjon som forøvrig ikke er uvanlig blant våre lesere. Hartold forteller at den XML-baserte datautveksling-protokollen SOAP også er i bruk.

- Men det blir mer og mer REST, skyter Nykvist inn.

Satt bort nettbutikk

De fleste tenker umiddelbart på butikkene, og ikke minst nettbutikken, når Apotek 1-navnet nevnes. Men selve nettbutikken har de satt bort, forteller Nykvist. Bortsett fra backend-løsningen, som blir håndtert internt.

- Vi prøver å skaffe hyllevare, men det vi ikke kan skaffe utvikler vi selv. Det er mye integrasjoner og støttesystemer for områder av forretningen, forteller Java-arkitekt Hartold.

Ett av disse selvutviklede systemene sikrer at nettbutikk-bestillinger rutes til riktig apotek. Det gjør at man i de fleste tilfeller kan hente resepter innen én time.

«Vi prøver å skaffe hyllevare.»

Avdelingssjef Nykvist forteller at de også utvikler systemer for hjemmesykepleien, abonnement på medisiner og produktkataloger til butikkene.

- Hvordan er det egentlig å utvikle med så mye konfidensiell persondata?

- Det stemmer at dataene i systemene er strengt konfidensielle. Vi får testpasienter fra Direktoratet for e-helse. Da får man fødselsnummer som man vet ingen bruker, forteller Hartold.

Kritiske systemer

Når man sitter med ansvar for utkjøring av så store mengder medisiner, kan det fort bli problemer om et system går ned.

- Det er et krav om at medisiner skal leveres ut innen 24 timer, så det er ikke stor feilmargin, forteller Nykvist.

- De gangene det koker her, er det problemer med Astra og Nagara, forteller Java-arkitekt Hartold.

Nagara er et system for å håndtere multidose som Apotek 1 har utviklet selv forteller Hartold. Det er visstnok et av de beste i bransjen.

Multidose er en løsning for pasienter som bruker faste medisiner. En robot tar imot en bestilling på dosering, og når i uken pillene skal tas. Så lager den en lang remse av små poser med tabletter i. Én dose per dag.

- Det er en del som ikke får medisinen sin hvis disse systemene går ned, forteller Harthold.

Slik ser en remse fra multidose-systemet til Apotek 1 ut. 📸: Apotek 1
Slik ser en remse fra multidose-systemet til Apotek 1 ut. 📸: Apotek 1 Vis mer

.NET i framtida

I de fysiske butikkene er historien en litt annen. Der er det systemet FarmaPro de fleste som snakker med kundene bruker, inkludert Apotek 1. Men FarmaPro er «end of life», forteller Nykvist.

- Vi holder på med en ERP-løsning med Microsoft Dynamics 365. Sammen med det bygger vi blant annet et system for å ekspedere resepter i .NET med React-frontend, tjent fra Azure-cloud, forteller Nykvist.

- Det er høye oppetidskrav på denne løsningen, og da landet vi på at Azure Cloud passet best, forklarer han.

Men om det blir skroting av Java til fordel for .NET er seniorarkitekt Hartold litt mer skeptisk til.

- Jeg vet ikke om det blir så mye mer .NET framover, akkurat, forteller hun.

Det går stort sett i celle-kontorer hos Apotek 1. 📸: Jørgen Jacobsen
Det går stort sett i celle-kontorer hos Apotek 1. 📸: Jørgen Jacobsen Vis mer

Motiverende bransje

En skulle tro det var høye krav til spesialkompetanse for å jobbe som utvikler innen apotekbransjen, men det avviser Nykvist.

«Arbeidet her føles litt mer meningsfullt.»

- Folk med bransjekunnskap er nesten umulig å få tak i. Men det hjelper å ha en viss interesse, og ville jobbe med apotekbransjen, sier han.

- Der jeg jobbet før var det mange brukere som klaget på trivielle ting. Som små CSS-feil, eller ting som «den fonten er dritstygg», forteller Hartold.

- Arbeidet her føles litt mer meningsfullt. Man får jobbe med å gi livsviktige medisiner, til rett tid, i rett mengde. Man er med å passe på at folk får et bra liv. Du føler du har en litt annen motivasjon til å gjøre en bra jobb.