Vem tog min namnteckning?

Det är hög tid att vi får tillbaka våra namnteckningar. Sen datoriserade system infördes i sjukvården har våra handteckningar förlorat betydelse, inte för att dom inte skulle behövas, men för att producenterna fortfarande inte fått grepp om hur dom ska implementeras. Och det egendomliga är att vi allihopa, inklusive tillsynsmyndigheterna, bara rycker på axlarna och låter det hända. De facto har vi gått tillbaka mer än hundra år i tiden på just detta oerhört viktiga område och det är OK?

Vi behöver digitala signaturer inom våra vårdapplikationer. Som det är nu kan vi signera journalnotat och remisser med ett musklick, likaså recept. T.o.m. recept på klasserade preparat som sömnmedel och narkotika kan skickas med ett musklick (eller tio, beroende på applikationen). Om man skriver för hand behövs speciella numrerade formulär och speciella etiketter förtryckta för var läkare individuellt, men om det går genom ett dataprogram görs allt med en klackspark.

Visserligen är jag lite fanatisk på området säkerhet, men jag tror dom flesta väl kan hålla med om att en läkares namnteckning bör krävas på de flesta dokument som remisser, journalanteckningar och recept. Inte minst för att läkaren ska kunna försvara sig om en åtgärd utförts utan hans eller hennes legitima uppdrag. Med våra nuvarande rutiner finns det inte en chans att ta reda på i efterhand om jag faktiskt avsiktligt skrivit ut ett recept eller dokument som visar sig vara felaktigt eller om någon t.ex. på landstingets IT avdelning petat in receptet via ett interaktivt SQL command och jag kan inte påstå att jag gillar det.

Som systemen ser ut nu förlitar vi oss helt på applikationen och driftpersonalen. Det är applikationen som ska autentisera oss genom att kolla om lösenordet vi ger är lösenorden vi ska ge vid inloggningen. Efter det utgår applikationen från att det är samma användare som fortfarande sitter framför maskinen. Vi som användare utgår ifrån att applikationen gör det här felfritt och endast med goda avsikter. Vi förlitar oss alltså helt på korrektheten och ärligheten i applikationen och därmed i dess utvecklare utan att ha gjort någonting för att verifiera något eller någon av dessa.

Applikationen i sin tur förlitar sig helt på korrektheten i databaslagret och operativsystemet. Den, och vi alla andra, förlitar oss helt på att ingen av alla personer som har tillgång till databasen skulle få för sig att manuellt tillfoga eller ändra i databasen, eller att det aldrig händer något som ändrar data oavsiktligt.

Missöden av alla ovannämnda slag har hänt flera gånger, en del med Lex Maria anmälningar som följd, och ändå fortsätter vi att förlita oss på att det inte kan eller kommer att hända. Den mänskliga tilliten är ett förunderligt fenomen.

Tekniskt finns idag bara en lösning som tillnärmelsevis kan försäkra att rätt person skapat en viss mängd data och att datamängden inte förändrats avsiktligt eller oavsiktligt och det är digitala signaturer baserade på assymetriska kryptosystem. Man kan fråga sig varför man inte sedan länge infört dessa system i vården och skälen verkar vara att man i allmänhet tror att det är svårare än det är. Vad som behövs är inte helt trivialt, men inte heller så svårt som många försöker göra det. Kraven på ett fungerande system är som följer.

Nyckelparet behöver skapas av användaren själv på ett bärbart medium och endast den publika delen av nyckeln lämnar någonsin användarens medium. Mediet kan vara en USB pinne eller ett “smart card” men andra möjligheter finns också. Idealiskt ska mediet själv innehålla kretsar som kan skapa nyckeln och som kan göra signering, men i början kan man tillåta att arbetsstationen utför dessa uppgifter. Att flytta den funktionen till mediet själv i ett senare stadium är inte en stor ändring i applikationerna, antaglingen ingen ändring alls eftersom stödet för detta finns i alla moderna operativsystem.

Signeringen ska tillämpas på den datastruktur som lagras eller skickas, samt på en mänskligt läsbar form av densamma. Vad jag menar med detta är att om jag sätter min signatur på ett recept så sätter jag signaturen på koder vars betydelse inte är inherent i datastrukturen. Jag skriver under ett varunummer på apoteket, men egentligen kan inte jag stå för vad det varunumret representerar i verkligheten. Just i fallet recept finns namnet på produkten också i data strukturen, men vid beställning av labb t.ex. skickas enbart koder vars tolkning helt är beroende av externa tabeller (så vitt jag vet). Det betyder att om dessa tabeller förändras i framtiden har man min giltiga digitala signatur på ett dokument som betyder något helt annat än det betydde när jag skrev under. En lösning är att man tillfogar ett rent textblock eller ännu hellre en bitmap som återger dokumenten i klassiskt form (som ett riktigt pappersrecept skulle ha sett ut) och på detta sätter jag min digitala signatur också och det är endast denna bild som jag som undertecknare egentligen står för i juridisk mening. Det är ju den enda representation av data som inte är beroende på applikationens tolkning eller föränderliga tabeller. Endast signaturen som jag satte på datastrukturen kommer att verifieras av datasystemen i normal drift, förstås.

Precis hur dessa digitala signaturer skapas och hanteras kallas en PKI infrastruktur och dess design spelar faktiskt mycket liten roll. Hela diskussionen om det ska göras av Posten eller Verisign eller landstingens IT tsar är helt oväsentlig. Inget av detta har en impakt på hur programvaran utvecklas eller knappast ens på hur media (smart cards e.dyl.) utformas. I de flesta fall inom sjukvården finns inget behov alls av en extern certification authority (CA), även om det är vissa avdelningars våta dröm att styra över en sådan.

Obstaklet är att utvecklarna behöver faktiskt sätta sig in i det här och börja bygga kod. Och framför allt behöver kravställarna ställa kraven, utan det händer ingenting.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.