1 Inledning
Biobank Sverige IT är en utvecklingsenhet som organiserats i regional samverkan mellan sjukvårdens huvudmän och med syfte att utveckla och förvalta ett gemensamt IT-system för funktioner inom verksamhetsområdet biobanker.
Denna säkerhetsbilaga redovisar för hur Biobank Sverige IT arbetar för att uppnå god säkerhet för den information som hanteras i de system som avses.
Frågor gällande Biobank Sverige ITs arbete för god informationssäkerhet kan ställas till desomjobbarmeddata@biobanksverige.se.
Biobank Sverige IT strukturerar skyddsåtgärderna utifrån säkerhetsaspekter och konsekvensnivåer i KLASSA (https://klassa.skr.se) En genomgång och dokumentation av system har gjorts i samband med ursprungligt driftsättning och denna underhålls som en del av förvaltningsplanen för systemens vidare utveckling och drift. I detta dokument ges av utrymmesskäl endast en övergripande presentation av resultat och bedömningar från klassificeringsarbetet. Av praktiska skäl delas dokumentationen även upp mellan organisatoriska- och tekniska skyddsåtgärder.
Säkerhetsaspekter
Det övergripande system som utvecklas av Biobank Sverige IT benämns Svenska BiobanksRegistret (SBR) och är ett system vars syfte är att tillhandahålla funktioner som stödjer regionernas förvaltning av biobanker och provsamlingar och i de processer som formulerats gemensamt inom Biobank Sverige.
Förvaltning av biobanker är en mycket avgränsad del av en vårdgivares stora verksamhet. Den höga graden av specialisering är en av de drivande faktorerna till varför det funnits skäl att samverka gemensamt för att ta fram stödjande system. En sak som kännetecknar det aktuella systemet är således en relativt sett liten grupp användare men med en hög grad av specialisering. Av det skälet har systemet till största del byggts av egna utvecklare snarare än genom tredjepartsprodukter eller standardkomponenter.
I och med att de system som förvaltas används av alla deltagande huvudmän och för information som relaterar till deras vårdverksamhet kan det relativt trivialt konstateras att systemet kommer att hantera stora mängder av personuppgifter som täcks av starka krav på skydd utifrån ett integritetsperspektiv för berörda vårdtagare.
Därtill finns samarbeten med andra myndigheter, främst då Läkemedelsverket och Etikprövningsmyndigheten och där systemintegrationer ställer krav på skydd och riktighet för de uppgifter som hanteras.
Konsekvensnivåer
Förvaltningen av biobanker innehåller flera olika processer med skilda mål och syften. Därför finns även olika komponenter, eller moduler i SBR och som har information som i varierande grad är kritisk att skydda. Grovt kan systemets funktioner klassificeras enligt följande:
Katalogtjänst
Systemet innehåller uppgifter om alla de biobanker och provsamlingar som deltagande regioners verksamheter har ansvar för. Det rör sig dels om information som även är registrerad hos Inspektionen för Vård och Omsorg (IVO) men även en större grad av detaljer om innehållet i olika provsamlingar.
Processtöd medborgarärenden
Den som är ansvarig för en biobank har även ett ansvar att säkerställa att provgivares vilja avseende lämnade prov respekteras. Därmed är hanteringen av samtycken och ändringar av dessa en viktig del av de processer som en vårdgivare måste kunna hantera. SBR innehåller funktioner för att registrera samtyckesbeslut och för att följa upp deras utfall.
Processtöd ansökningsförfaranden
De biobanker som vården har utgör även en viktig resurs för klinisk forskning och inom ramen för samtycke och etisk prövning finns möjlighet för forskare att både samla in och använda prov för olika studier. Prövningen av ansökningar om detta är ofta komplex och funktioner utvecklas i systemet för att stödja processen.
I systemets katalogfunktioner hanteras uppgifter som till största del behöver skyddas för att garantera korrekthet. Informationen utgör arbetsmaterial för vården och innehåller personuppgifter relaterade till ansvar och funktioner i vården samt till användarnas egen användning av systemet, men där finns ingen information som är kopplad till enskild provgivare. Incidenter rörande dessa funktioner bedöms i första hand riskera anseende för den egna organisationen och inte direkt kunna skada tredje part.
Processtödet för ärenden avseende medborgare (samtycken) hanterar information som kan röja uppgifter om provgivarens hälsa och som därmed är att betrakta som känslig personuppgift enligt GDPR. Processtödet för tillståndsgivning visavi biobanker innehåller uppgifter om forskningsorganisationer samt om planerade och pågående studier. Dessa kan omfattas av affärssekretess och det kan därmed vara till skada för tredje parts intressen om de röjs. Dessa delar av systemet riskerar således i händelse av en incident att medföra en allvarlig påverkan för de huvudmän vars uppgifter skulle röjas samt givetvis för de parter som uppgifterna berör.
2 Omfattning och avgränsningar
Informationen i denna bilaga syftar till att beskriva det skyddsarbete som Biobank Sverige IT genomför i med avseende på de system man utvecklar och förvaltar inom uppdraget i samverkansöverenskommelsen. En avgränsning behöver göras för de system som används internt av Biobank Sverige IT som en del av den administrativa funktionen hos Region Uppsala. I och med att linjeorganisationen finns inom Region Uppsala hanteras en del information kopplad till avtal, anställningar och liknande av system där regionens ordinarie IT förvaltning är ansvarig.
Det ska även göras en avgränsning för slutanvändares användning av de system som utvecklas. Respektive huvudman i samverkan ansvarar för att upprätthålla ett gott säkerhetsarbete och som inkluderar hur de system som här avses används. Ansvaret att besluta om vem som använder systemen och på vilket sätt kvarstår hos den organisation som ansvarar för hantering av personuppgifter.
3 Organisatoriska skyddsåtgärder
Biobank Sverige IT är som organisation betraktad skapad endast för uppgiften att utveckla och förvalta de verktyg som vården gemensamt behöver för sin förvaltning av biobanker. Med målsättningen att bygga ett system som löser ett antal specifika problem för en mindre grupp användare, men som representerar en stor mängd organisationer och som hanterar viktiga processer och känsliga personuppgifter har det funnits anledning att bygga en utvecklingsorganisation som kan möta de specifika förutsättningar som råder.
Ett regionalt samverkansavtal har därför träffats mellan huvudmän i vården och som formulerar ett gemensamt uppdrag för att skapa ett nationellt biobanksregister med efterfrågad funktionalitet och där kravställning för sagda system utgår direkt från representanter för samverkans alla deltagare.
Organisation
Biobank Sverige är en infrastruktur med representation från myndigheter, företag och organisationer som på olika sätt berörs av området biobankning. Inom ramen för infrastrukturen har deltagande huvudmän utsett en styrgrupp som ansvarar för styrande beslut för Biobank Sverige IT:s mål och verksamhet. I och med att alla i samverkan deltagande huvudmän är direkt representerade i den verksamhetens styrande organisation finns en fullständig insyn om de beslut som styr verksamheten och vilka regler och policys som ska tillämpas i organisationen.
Region
Region är i detta sammanhang de sjukvårdshuvudmän som ingår i samverkansöverenskommelsen och är därmed de intressenter för vilka systemet byggs. Genom sin representation i Biobank Sverige IT:s styrgrupp ansvarar de för beslut om vilken typ av funktionalitet och vilken användning systemet skall byggas för. Vidare har de ansvar för den hantering av uppgifter som utförs av användare i systemen (dvs för de användare som auktoriserats inom deras respektive organisation).
Regionalt Biobankscentrum
Inom de så kallade Sjukvårdsregionerna finns Regionala BiobanksCentrum (RBC) inrättade. Det är gemensamma kompetensorganisationer som delegerats uppgifter från huvudmännen inom respektive sjukvårdsregion och inom biobanksområdet. Personer som arbetar inom dessa organisationer kommer att ha uppgifter där de blir användare av de system som Biobank Sverige IT utvecklar. Det är viktigt att nämna att ansvaret för personuppgiftshantering i systemen följer delegationsordningen. Det är således den respektive region för vilken en uppgift utförs som ansvarar för utförandet oavsett om den delegerats till personal i en gemensam organisation.
För berörda systems räkning innebär det att behörigheter alltid utgår från personuppgiftsansvariga huvudmän och att loggning sker i kontext av dessa. En tillhörighet till ett RBC kan således användas för att bekvämt gruppera behörighetstilldelning men användning utförs baserat på underliggande och ansvarig organisation.
Biobank Sverige har beslutat att organisera användarstöd som en funktion utgående från RBC organisationerna. Det innebär att de har en utsedd grupp som ansvarar för att utforma dokumentation till användare samt svara på frågor från användare när de kommer.
Personal
I samverkansöverenskommelsen beslutas att Region Uppsala uppdras att bemanna utvecklingsorganisationen samt att hantera upphandlingar av nödvändiga anskaffningar. För att det inte skall uppstå intressekonflikter i förhållande till linjeorganisationen är det viktigt att arbetet organiseras fristående från verksamhet inom Region Uppsala. Verksamheten är därför i sin helhet uppdragsfinansierad och styrd av ovan nämnda styrgrupp.
Rekrytering av personal sker med placering i Region Uppsala. Vi strävar efter att rekrytera medarbetare med god samarbetsförmåga och med erforderlig kompetens och erfarenhet. I de fall tjänster eller uppdrag bemannas med externt anställd personal (konsulter eller andra samarbeten) upphandlas dessa genom Region Uppsalas ordinarie rutiner och ramavtal. All personal omfattas av sekretess enligt samma principer som gäller för personal i regionen i övrigt.
Ledning
I Biobank Sverige IT:s uppdrag finns två huvudsakliga uppgifter, dels att utveckla de funktioner som regionens handläggare behöver i systemen dels att förvalta de funktioner som har utvekltas så att de fortsatt kan fungera över tid.
Utvecklingsarbetet leds i stor utsträckning av utvecklarna själva genom att tillämpa en agil utvecklingsmetodik. Vad som ska utvecklas prioriteras kontinuerligt av utsedd produktägare med god förankring i biobankernas verksamhet och utvecklad funktionalitet demonstreras och levereras iterativt i korta intervall. I samband med dessa hålls retrospektiv där eventuella förändringar av metoder eller arbetssätt diskuteras och beslutas. De arbetsformer vi arbetar efter finns i större detalj beskrivna här: Biobank Sverige ITs arbetssätt
Förvaltningsledning är organiserad inom Biobank Sverige IT och utgör en styrande funktion för det kontinuerliga förvaltningsarbetet. Regelbundna förvaltningsmöten är schemalagda och där system gås igenom med avseende på behov av uppdateringar, planerad utveckling och eventuella incidenter. Dessa är dokumenterade och beslut leder till ärenden som hanteras integrerat inom utvecklingsarbetet. Även resurstilldelning och förvaltningsstyrning utvärderas inom ramen för förvaltningsarbetet.
Samverkan
Etikprövningsmyndigheten (EPM) - I och med att klinisk forskning är ett prioriterat användningsområde för biobankernas samlingar finns en naturlig anledning till samverkan med EPM som principiellt prövar lämpligheten i studier som föreslås få tillgång till prov. Där finns en systemintegration utvecklad med syfte att lämna synpunkter kring provhantering inför vissa prövningar (läkemedel). Det är en relativt begränsad integration men likväl finns ett samarbete för att förvalta denna.
Läkemedelsverket (LV) - På samma sätt som i relation till EPM utgör frågeställningar kring hantering av biologiskt material en av de aspekter som behöver utredas i samband med tillstånd för läkemedelsprövningar. En systemintegration finns utvecklad där RBC organisationerna tar del av och kommenterar föreslagna läkemedelsprövningar som LV granskar. LV ansvarar för att hålla gemensamma förvaltningsmöten för uppföljning och inför planerat arbete med integrationen.
Arbetsmetodiker och principer
Agil utvecklingsmetodik har anammats av i stort sett alla organisationer med aktiv IT utveckling de senaste decennierna. Men det har också inneburit att begreppet kommit att tolkas på så många olika att det inte längre har en klar betydelse. För vår verksamhet innebär agil utveckling värnandet om ett antal kvaliteter och som utgör grunden för det säkerhetsarbete vi tillämpar. I avsnitt 4 om Tekniska Skyddsåtgärder presenteras i större detalj hur dessa principer konkretiseras praktiskt.
Kvalitet i första hand
Den princip om iterativa leveranser som är en förutsättning för agil utveckling medför även att det som utvecklas med nödvändighet måste hålla en tillräcklig kvalitet. Det innebär att i den generella motsättningen mellan kvalitet-tid-kostnad alltigenom finns en prioritering av kvalitet som aspekt. Det kan givetvis inte kvantifieras i några meningsfulla tal men rent allmänt kan man säga att det inte finns någon situation där Biobank Sverige IT genomför en leverans utan att vi är övertygade om att den håller en kvalitet som går att bygga vidare på. Säkerhetsaspekter utgör en avgörande del av de kvalitetskontroller som görs innan leverans och därigenom minskar vi de risker som leverans av ny funktionalitet alltid innebär.
Det finns andra aspekter av prioriteringen som också leder till en sund kultur i systemförvaltningen. Vi har reserverad tid och återkommande tillfällen där vi arbetar med att sköta uppgraderingar av använda ramverk och system, och det finns även tid avsatt för att vid behov refaktorera lösningar vars implementation behöver förbättras.
Kontinuerlig utveckling
En viktig aspekt av det agila arbetssättet är principen om ständig utvärdering och utveckling. I syfte att utveckla en lärande organisation tillämpar vi regelbundet retrospektiv där problem och utvecklingsmöjligheter bedöms och prioriteras. På detta sätt utvecklas både utvecklingsarbetet och det operativa handhavandet kontinuerligt för att ge bästa möjliga leverans.
Incidenter som inträffar hanteras direkt av utvecklingsorganisationen och utan dröjsmål. Uppföljning av inträffade incidenter genmförs i en separat process av förvaltningsledningen med syfte att identifiera och implementera preventiva åtgärder.
Utveckling och förvaltning
Utveckling sker utifrån formulerade ärenden enligt en överenskommen process. Organisationen är så liten att utvecklare kan ha direkt kontakt med produktägare eller andra intressenter för det bakomliggande behovet under hela utvecklingsarbetet. Problemformuleringar och lösningsförslag kan vid behov vidareutvecklas som en del av insikter som görs under utveckling och det är ytterst produktägare (eller motsvarande) som avgör om en föreslagen lösning är lämplig.
Normalt är en eller två utvecklare involverade i att utveckla en specifik funktion. Viss kvalitetskontroll är automatiserad genom ramverk som används för att analysera producerad kod och där gemensamma normer formulerats utifrån känd “best practice”. All utvecklad kod granskas av minst en annan utvecklare innan den accepteras, vilket görs genom en manuell granskning. Funktionaliteten som utvecklats testas av produktägare innan release planeras.
Resultatet av all utveckling presenteras för användare och intressenter i regelbundna demo som hålles innan kod tas i aktiv drift. För större förändringar eller större ny funktionalitet tillhandahålls nya funktioner i demomiljö för att verifieras av referensgrupp innan release. Demo-miljön är tekniskt identisk med produktion men saknar möjlighet att registrera uppgifter om existerande personer.
De arbetsuppgifter som relaterar till systemets förvaltning har delats upp mellan användarstöd och systemförvaltning. Användarstöd berör till största delen frågeställnigar som rör biobanksormådet snarare än frågor om teknik. Av den anledningen svarar RBC-organisationerna för det som rör instruktioner, utbildningar och första nivån av användarstöd.
Systemförvaltning gällande tekniska frågor tas om hand av Biobank Sverige IT för en utredning och åtgärd. Skulle utredning visa att problem som uppstått är kopplade till drift kontaktas vår driftpart Region Örebro för vidare felsökning.
Drift
Driftmiljö levereras av Proact Sweden.
För att samarbete skall fungera finns medarbetare som har uppdrag att sköta samverkan med oss och svara på frågor rörande sådant som ligger utanför utvecklingsteamets möjlighet att hantera.
Praktiska frågor om sekretess och eventuell hantering av personuppgifter finns reglerat i underbiträdesavtal.
Incidenthantering
Incidenthantering gällande GDPR följer de rutiner som PUB-avtalen (som undertecknades i samband med att samverkansavtalet fastställdes) med respektive region stipulerar.
Uppföljning
Med uppföljning avses här hur verksamheten följer upp resultatet av informationssäkerhetsarbetet.
Självgranskning
Självgranskning tillämpas som en återkommande och schemalagd aktivitet i förvaltningsprocessen. Kvartalsvis görs en genomgång som granskar och hanterar uppföljning av inträffade incidenter, påverkan utifrån utveckling av nya eller ändrade systemfunktioner samt planerad utveckling och väntade ändringar i förutsättningar. Dessa förvaltningsgenomgångar dokumenteras och är tillgängliga för styrgrupp. De åtgärder som identifieras formuleras som ärenden och hanteras på samma sätt som alla ärenden inom organisationen.
Årsvis genomförs en uppdatering av de bakomliggande riskbedömningar som gjorts. Detta för att säkerställa att nya funktioner som utvecklats inte påverkat de bakomliggande utgångspunkterna för informationssäkerhetsarbetet.
Kravet på regelbunden självgranskning har formulerats till underleverantör som ansvarar för att motsvarande görs inom deras organsiation.
Extern granskning
I september 2023 genomfördes en säkerhetsanalys av en extern part i syfte att upptäcka potentiella brister och åtgärda dessa.
4 Tekniska skyddsåtgärder
Inledning
Med målet att uppnå självständighet och oberoende har utvecklingsorganisationen valt att arbeta med system som till hög grad utvecklas själva men som baserar sig på verktyg och ramverk vars källkod finns öppet publicerad. Alla verktyg skall tillämpa öppna och allmänt vedertagna standarder.
Vi väljer ramverk som förutom att passa våra behov har en dokumenterad och aktiv utveckling och där vi uppfattar att det finns en kritisk volym av användning bakom produkten. Principiellt försöker vi att använda senaste stabila version och att uppdatera med måttlig eftersläpning när nya versioner kommer.
CI/CD
Driftmiljö för våra system bygger på så kallad lättvikts-virtualisering eller container-teknik och baserar sig på Docker. Vi använder ett kluster som förvaltas av Proact Sweden. Installationen förvaltas av Proact Sweden och Biobank Sverige IT ansvarar för alla konfigurationer som rör applikationer och deras resurstilldelning i klustret (inom Biobank Sveriges namnrymd).
Biobank Sverige IT hyr samverkansverktyg för utvecklingsorganisationer av Atlassian. Det inkluderar ärendehanteringssystem för utvecklingsärnden (Jira), dokumentationsverktyg (Confluence) samt repository för kod-förvaring (BitBucket). Dessa är molntjänster där utvecklare har konton. Rent principiellt innebär det att vi inte hanterar någon information kopplad till enskilld region eller provgivare i dessa system. De får bara användas för information som inte har kritiskt skyddsbehov. Källkod betraktas som allmänt tillgänglig även om vi inte aktivt publicerar den på allmänt tillgänglig plats.
En byggserver har installerats i den miljö vi hyr av Proact Sweden. Denna kompilerar kontinuerligt nyligen incehkad kod från repositoryt och kör de testsviter som satts upp för dem. Vid lyckade byggen konstrueras även en Docker-image med det byggda systemet och som publiseras i ett privat repository på DockerHub. Även DockerHub är en molntjänst som används som infrastruktur för att förvara körbara och numrerade instanser av de system som utvecklats. Release görs sedan manuellt genom att peka ut ID och version för önskad image i klustrets konfiguration för körbara applikationer. På detta sätt kan versioner byggas och testas i olika miljöer innan de tas till produktion.
Kommunikationen mellan dessa system sker krypterat och med stark åtkomstkontroll i form av certifikat och motsvarande. De “hemligheter” som med nödvändighet måste hanteras för att ge apllikationerna lösenord, kryptonycklar, och konfigurationer hanteras genom en i OpenShift inbygd programvara för hantering av hemligheter.
Konfidentialitet
Den mest fundamentala egenskapen som måste känneteckna ett fungerande dataskydd är konfidentialitet, alltså att endast de som behöver ta del av känslig information är de som kan göra det. Det är intuitivt självklart men därmed inte helt trivialt att uppnå i och med att förvaltningen av ett system innefattar många personer med olika funktion visavi de aktuella uppgifterna och systemen.
Behörighetkontroll
Med behörighetskontroll avses den mekanism som säkerställer att system verifierar att den användare verkligen är den som den utger sig för att vara (autentisering) samt att denna person skall ha behörighet för vad den avser att göra (auktorisering).
Biobank Sverige IT tillämpar principen att åtkomster som görs till system som direkt eller indirekt kan ge åtkomst till känsliga personuppgifter eller av andra skäl sekretessklassad information skall föregås av två-faktors autentisering, så kallad stark autentisering. För användare av systemen implementeras det genom att vi, för vårdens personal tillämpar autentisering via sjukvårdens SITHS system, och för privatpersoner genom BankID. Inloggningsmekanismer och sessionshantering bygger på standarden OAuth2 samt SAML 2.0 för SITHS.
För teknisk och adminstrativ personal finns anledning att ha åtkomst till tekniska systemfunktioner och delsystem på en mer fundamental nivå än genom det tänkta användargränssnittet. Vid felsökningar och olika former av analyser kan det vara nödvändigt att logga in till de bakomliggande systemen. A
För personalen hos Proact Sweden som hanterar kluster och annan infrasturktur finns i princip inte någon arbetsuppgift som motiverar att man tar åtkomst till det innehåll som systemen hanterar. Det kan i undantagsfall finnas anledning att undersöka hur applikationer hanterar resurser som minne och CPU, men aldrig att läsa information databaser eller filsystem. Detta regleras i underbiträdesvtal.
Systemintegrationer tillämpar autentisering av maskiner baserad på certifikat som antingen är egenutställda och manuellt hanterade eller utställda av sjukvårdens egna certifikatskedja SITHS.
Insynsskydd
Konfidentialitet innefattar även skydd för uppgifter när de överförs mellan system. För att garantera att kommunikation inte avlyssnas krypteras all kommunikation med standarder som anses säkra. Webbapplikationer anävnder i allmänhet HTTPS med protokollnivå TLS 1.2 eller 1.3. Systeminloggningar sker med hjälp av SSH över VPN.
Loggning
Loggning av åtkomster till känsliga personuppgifter görs för att kunna följa upp hur personal hanterar uppgifter i systemen. Systemen har funktioner för att både riktat och slumpmässigt granska de åtkomster som gjorts i systemet. Detta är en funktion som personuppgiftsansvariga i de regioner som använder systemet kan använda i sin regelbundna uppföljning av personuppgiftshantering eller som en del av specifika granskningar vid misstanke om överträdelse.
För Biobank Sverige ITs egen personal, och som har inloggning till de bakomliggande systemen, finns ingen praktisk möjlighet att implementera åtkomstloggning på samma sätt som i systemets användargränssnitt. Tekniska loggar kan berätta vem som loggat in när och i någon utsträckning vad denne gjort, men det ligger i sakens natur att med den nivån av behörighet som krävs för administrativ personal så kan även loggar manipuleras. Därmed måste med nödvändighet åtkomstloggning göras manuellt.
En rutin finns upprättad för att reglera hur personal skall göra när de ska utföra uppgifter som innebär att de tar del av personuppgifter. Typiskt kan det röra sig om felsökningar, verifikationer eller arbeta med data i volym (konverteringar eller “tvättning” av källdata). Dessa uppgifter skall ha en väl formulerad uppgiftsbeskrivning i ärendesystemet (Jira) och efter utförd uppgift noterar personen i en separat logg att åtkomst gjorts och med en referens till utpekat ärende. All personal omfattas häri givetvis av sekretess enligt HSL.
Alla fel som loggas skickas automatiskt ut till samtliga i Biobank Sverige IT samt produktägare. Detta gör att behovet att rutinmässigt kontrollera loggarna inte finns då vi direkt blir uppmärksammade på eventuella fel. Larmfunktionen följs upp löpande så att den fungerar som tänkt.
Riktighet
Med riktighet avses här att de uppgifter som finns i systemet verkligen är de som har registrerats där av autentiserade användare. Indirekt är därmed detta med åtkomstkontroll en antagen förtustättning för riktighet och i princip blir allt kvalitetsarbete sammantaget vad som ger användare förtroende för att ett system fungerar som det är tänkt. Likväl finns det mekanismer som byggs för att underlätta utredning och identifiering av fel.
Spårbarhet
Alla åtkomster i systemet loggas med avseende på vilken användare som registrerat, uppdaterat eller tagit del av känsliga uppgifter i systemet. För information som är del i ärenden som utgör myndighetsutövning är informationen historiserad, d.v.s alla verisoner av informationen bevaras så att ändringar kan spåras till tid och källa. Det ska dämed alltid vara möjligt att förstå vilken information som funnits i systemet och vi vilken tidpunkt.
Inmatningsstöd
I syfte att minska risken för manuella fel i samband med inmatning av uppgifter har systemet byggts med en hög grad av stöd för den som matar in uppgifter. Genom att definiera och modellera explicita processer för typiska ärenden uppstår en möjlighet att också automatisera en del verifikationer i samband med att användarna registrerar uppgifter. Det kan röra sig om så enkla saker som att format är korrekta eller att information görs obligatorisk till att informationen tolkas och verifieras så att exempelvis tider blir logiskt korrekta eller liknande.
Tillgänglighet
För att fylla den funktion systemen utvecklats för är det självklart en förutsättning att de är tillgängliga för användare och integrerade system när de behövs. Det finns inga uppgifter associerade med systemet som skapar krav på helt kontinuerlig tillgänglighet på det sätt som exempelvis vårdstödjande system har. Vi strävar efter så hög tillgänglighet som är möjligt att nå under de förutsättnignar som råder men det ska i sammanhanget sägas att det inte är någon som riskerar att bli utan kritisk vård eller liknande kopplad till en eventuell driftsstörning i dessa system. Nedan beskrivs de åtgärder vi vidtagit för att minimera systemens tid ur drift.
Redundans
Systemens hårdvarumiljö är virtualiserad och fördelad över reduntanta maskiner så att maskiner kan uppgraderas eller utökas utan påverkan på drift. Redundans tillämpas även på underliggande lagring för att skydda mot konsekvenser av tekniska fel på enskilda enheter.
Därtill är applikationernas exekveringsmiljö virtualiserad genom så kallad container-teknik så att varje applikation får en logiskt avskild exekveringsmiljö med en konfigurerad mängd resurer. Alla system där så är möjligt körs i parallella containrar så att det alltid finns möjlighet att starta om en krånglande instans utan att ta ner hela applikationen. Orkestreringsmjukvara i klusteret konfigureras så att instanser tas upp vid behov när befintliga instanser krånglar eller helt enkelt inte räcker till. Applikationer utvecklas tillståndslöst så att sessioner kan flyttas över till nya noder när så behövs och utan påverkan på inloggade användare.
Övervakning
Verktyg i klustret övervakar applikationernas användnign av resurser och deras svarstider för anrop. Vid konfigurerade gränser kan instanser ersättas i förösk att avvärja tillfälliga problem. Detta görs helt transparent och i allmänhet utan mänsklig inblandning. Om en applikation upprepat får problem kan det tyda på ett underliggande problem som behöver åtgärdas i själva applikationen. Av den anledningen monitorerar personal från Proact Sweden loggarna från dessa system.
Applikationerna har i sig själva loggar som beskriver vad som händer. Vid all felhantering i systemet exporteras informationen om upptäckta systemavvikelser till de samverkansverktyg som utvecklingsteamet dagligen använder (slack). Därigenom minimeras tiden som krävs för att uppmärksamma utveklare om ett inträffat problem.