Avpersonifiering

Introduktion

Den information som SALA bearbetar, skapar och sammanställer beskriver förhållanden mellan vårdgivare och patient och är därför av känslig natur. Den här datan ska helst vara tillgänglig endast för de användare som måste se delar av den för att kunna genomföra sin uppgift i SALA. Avsaknaden av testdata från journalsystemet har resulterat i att man av nödvändighet jobbar med produktionsdata i olika sammanhang. Till exempel finns produktionsdata i SALAs verifieringsmiljö för att kunna verifiera systemet mot data som skapats av journalsystemet.

SALA hanterar känslig data i två scenarion: vid import av data från Intelligence-databasen och i analysfasen. I dagsläget är det möjligt att konfigurera importen så att den bara importerar data ifrån ett antal fördefinierade testenheter, men datan kommer fortfarande ifrån en produktionsmiljö med riktiga användare och (förhoppningsvis test-)patienter. Lösningen som ska göra det omöjligt att urskilja patienter och användare i informationen som genereras av analysen kallas för avpersonifiering. I korta drag ser avpersonifieringen till att den data som genereras i analysfasen inte innehåller användares eller patienters personuppgifter.

Allmänt

Avpersonifieringen innebär att:

  •  Analysen kan ersätta användares och patienters personnummer helt eller delvis
  •  Analysen kan hoppa över namnuppslaget
  •  Analysen kan ge patienter ett slumpmässigt genererat namn
  •  Webbgränssnittet kan presentera användare med ett namn som väljs utifrån en fördefinierad lista med användarnamn
  •  Webbgränssnittet kan presentera körningarnas avpersonifieringsstatus (avpersonifierad/inte avpersonifierad)
  •  Användare kan avpersonifiera en körning i efterhand

Exakt hur användares och patienters personnummer påverkas beror på konfiguration och dokumenteras i en tabell längre fram i det här avsnittet.

Standardinställningen för analystjänsten är att avpersonifiera körningar. Enda gången som en körning inte avpersonifieras är när schemaläggaren säger åt analysen att hoppa över avpersonifieringssteget. Vill man att en körning inte ska avpersonifieras måste man alltså explicit instruera schemaläggaren att schemalägga en analys utan avpersonifiering. Resonemanget bakom att man måste flagga analysen att hoppa över avpersonifieringen är att det då krävs ett medvetet beslut att sammanställa känslig data, till skillnad från om det var standardinställningen.

Beroende på situation vill man ha möjlighet att hoppa över avpersonifieringen helt och hållet och ibland är det önskvärt att endast delar av personnumren ersätts för att kunna verifiera systemets riktighet utan att avslöja användare och patienter. Avpersonifieringen implementerar de här olika scenariona med hjälp av konfigurationsinställningar. Det som är gemensamt för avpersonifieringen oavsett konfiguration är:

  •  Varje patient får ett slumpmässigt genererat namn istället för att namnuppslaget görs
  •  I gränssnittet får användare ett namn ur en fast lista med användarnamn istället för att det riktiga namnet hämtas från Salas Intelligence-kopia

Varje miljö (test, produktion, etc.) har en egen konfiguration. Vilken konfiguration som gäller för respektive miljö beskrivs i tabellen nedan.

MiljöAvpersonifierasPatienter och användares personnummerAvpersonifieraknappen och avpersonifieringsstatus (avpersonifierad/inte avpersonifierad)
ProduktionAvpersonifieras aldrign/aPresenteras inte
UtbildningAvpersonifieras alltidHela personnumret slumpasPresenteras inte
VerifieringKan hoppas över vid behovDe fyra sista siffrorna i personnumret slumpasPresenteras i gränssnittet Körningar
UtvecklingAvpersonifiera alltidHela personnumret slumpasPresenteras inte

I miljöer där avpersonifieringsstatus presenteras är det möjligt att i gränssnittet Körningar se om en körning är avpersonifierad eller inte. Om en körning inte är avpersonifierad är det också möjligt att avpersonifiera den genom att klicka på knappen Avpersonifiera. En körning som avpersonifieras via gränssnittet avpersonifieras enligt den miljöns konfiguration. Det är inte möjligt att göra namnuppslaget i efterhand om körningen är avpersonifierad. Om enstaka enheter schemaläggs i efterhand kommer också de att avpersonifieras om körningen redan är avpersonifierad.

Tekniskt

  •  Kolumnen Sala.dbo.ScheduleAnalysisBatch.SkipDepersonalize berättar om körningen schemalades med eller utan avpersonifiering.
  •  Kolumnen Sala.dbo.AnalysisBatch.IsDepersonalized berättar om körningen är avpersonifierad eller inte.
  •  ScheduleBot har ett argument -skipDepersonalize som berättar för analysen att körningen inte ska avpersonifiera.
  •  Om man försöker att hoppa över avpersonifieringen i en miljö där det inte är tillåtet kastar AnalyzerManager.BeginAnalysis ArgumentException.