Länkningar mellan personidentiteter
Inera Personuppgiftstjänst (PU-tjänsten) har en egen datastruktur för länkningar mellan personidentiteter, som visar vilka personidentiteter som hör till en och samma person. För varje person med länkade personidentiteter kommer även en huvudidentitet att utses. Denna sida beskriver hur dessa länkningar och huvudidentiteter fungerar.
Datakällor
Länkningarna byggs upp utifrån två datakällor:
De så kallade hänvisningar mellan personidentiteter som finns i Skatteverkets folkbokföringsuppgifter, vilka PU-tjänsten läser in från Navet. Dessa hänvisningar kopplar ihop personnummer och samordningsnummer, i varianterna PNR↔PNR, PNR↔SNR, SNR↔SNR. I Skatteverkets Navet-dokumentation heter huvudgruppen för hänvisningar Hanvisningar med termkod 01400.
De manuella kopplingar av reservidentiteter som gjorts av PU-tjänstens anslutna användare. Dessa kopplingar finns i varianterna LRID↔NRID, LRID↔SNR, LRID↔PNR, NRID↔NRID, NRID↔SNR, NRID↔PNR. I PU-tjänstens dokumentation beskrivs dessa kopplingar i dokumentet Tjänstekontraktbeskrivning (TKB), under avsnittet om tjänstekontraktet LinkPersonIdentity.
Algoritm för Huvudidentitet
För varje kedja med länkningar, det vill säga att en person har flera länkade personidentiteter, så kommer PU-tjänsten att utse en huvudidentitet bland dessa. Definitionen av huvudidentitet görs tydligast på följande verksamhetscentrerade sätt:
"Om jag i min verksamhetsutövning ska registrera ny information på en person, vilken av dennes personidentiteter skall jag då i normala fall registrera informationen på?"
Inera Personuppgiftstjänst försöker via en algoritm att så nära som möjligt uppnå definitionen genom i förväg bestämda regler för hur huvudidentiteten utses i olika fall. Varje verksamhetsutövare behöver dock göra en egen bedömning om huruvida det skulle finnas anledning att registrera information på en annan personidentitet än huvudidentiteten som anges av PU-tjänsten.
Definitioner för algoritmen
Följande definitioner används för att beskriva algoritmen som vid skapandet av länkningar utser huvudidentitet. I definitionerna hänvisas till attribut som beskrivs i Personuppgiftstjänstens Tjänstekontraktbeskrivning (TKB).
Definition av Aktualitet
Personposter kommer att klassificeras som antingen aktuella eller inaktuella enligt tabell nedan.
Identitetstyp | Aktuellt om | Inaktuellt om |
---|---|---|
PNR | Attributet deregistration:deregistrationReasonCode saknar värde/är null | Attributet deregistration:deregistrationReasonCode har ett värde/är ej null |
SNR | Attributet personalIdentityStatus:identityStatus har värdet "AKTIVT" | Attributet personalIdentityStatus:identityStatus har annat värde än "AKTIVT" |
NRID | Attributet deregistration:deregistrationReasonCode saknar värde/är null | Attributet deregistration:deregistrationReasonCode har ett värde/är ej null |
LRID | Attributet deregistration:deregistrationReasonCode saknar värde/är null | Attributet deregistration:deregistrationReasonCode har ett värde/är ej null |
Definition av Aktualitetsdatum
Aktuella personposter kan jämföras med varandra utifrån deras "aktualitetsdatum", för att avgöra vilken av identiteterna som är mest aktuell. Den personpost som har det senaste aktualitetsdatumet är mest aktuell. Vilket attribut som skall anses vara aktualitetsdatum beror på identitetstypen, enligt tabell nedan.
Identitetstyp | Aktualitetsdatum |
---|---|
PNR | Folkbokföringsdatum (attribut populationRegistrationLocality:populationRegistrationDate) |
SNR | Det senaste datumet av allokeringsdatum eller förnyelsedatum (attribut coOrdinationNumberData:allocationDate eller renewalDate) |
NRID | Versionsdatum (attribut version) |
LRID | Versionsdatum (attribut version) |
Definition av Avregistreringsdatum
En inaktuell personpost kommer att ha ett "avregistreringsdatum". Vilket attribut som räknas som avregistreringsdatum beror på identitetstypen, enligt tabell nedan.
Identitetstyp | Avregistreringsdatum (attribut) |
---|---|
PNR | deregistration:deregistrationDate |
SNR | personalIdentityStatus:identityStatusDate |
NRID | deregistration:deregistrationDate |
LRID | deregistration:deregistrationDate |
Definition av Avregistreringskod
En inaktuell personpost kommer att ha en "avregistreringskod". Vilket attribut som räknas som avregistreringskod beror på identitetstypen, enligt tabell nedan.
Identitetstyp | Avregistreringskod (attribut) |
---|---|
PNR | deregistration:deregistrationReasonCode |
SNR | personalIdentityStatus:identityStatus |
NRID | deregistration:deregistrationReasonCode |
LRID | deregistration:deregistrationReasonCode |
Länknings-fall
Tre huvudsakliga fall finns när länkningar skapas och en huvudidentitet skall utses:
Endast en av de ingående personposterna är aktuell
Fler än en av personposterna är aktuell
Ingen av personposterna är aktuell
I följande delavsnitt beskrivs hur huvudidentiteten utses vid vart och ett av dessa tre fall.
Endast en av de ingående personposterna är aktuell
Om endast en av de länkade personposterna är aktuell så utses den som huvudidentitet.
Fler än en av personposterna är aktuell
Om fler än en av de länkade personposterna är aktuell så utses huvudidentiteten enligt följande hierarki och hantering.
Hierarki:
PNR
SNR
NRID
LRID
Personidentiteten som är först i hierarkin (lägst siffra) blir huvudidentitet. Finns flera på samma nivå så utses den med senaste aktualitetsdatum.
Hantering av specialfall:
Om PNR har aktualitetsdatum noll eller null så kommer det hanteras så att PNR med aktualitetsdatum noll/null blir lägst prioriterade bland länkade PNR. Om alla PNR i samma länkkedja har aktualitetsdatum noll/null, och de är fler än ett PNR, så kommer algoritmen att utse det PNR som har högst värde på sin personidentitet (personRecord:personalIdentitynumber (extension)).
Om SNR har coOrdinationNumberData som är null, dvs inga värden för aktualitetsdatum kommer att finnas, så hanteras det så att dessa SNR blir lägst prioriterade bland länkade SNR. Om alla SNR i samma länkkedja saknar coOrdinationNumberData, och de är fler än ett SNR, så kommer algoritmen att utse det SNR som har högst värde på sin personidentitet (personRecord:personalIdentitynumber (extension)).
Ingen av personposterna är aktuell
Om ingen av de länkade personposterna är aktuell så utses huvudidentiteten enligt följande hierarki och hantering.
Hierarki:
PNR med Avregistreringskod: AV
PNR med Avregistreringskod: UV, OB, AN
PNR med Avregistreringskod: GN, TA
SNR med Avregistreringskod: AVREGISTRERAT
SNR med Avregistreringskod: VILANDEFORKLARAT
SNR med Avregistreringskod: VILANDEFORKLARAT_STANGT
PNR eller SNR med andra (ej förväntade) avregistreringskoder.
NRID
LRID
PNR med Avregistreringskod: FI
Personidentiteten som är först i hierarkin (lägst siffra) blir huvudidentitet. Finns flera på samma nivå så utses den med senaste avregistreringsdatum.
Hantering av specialfall:
Om PNR eller SNR har avregistreringsdatum noll eller null så kommer det hanteras så att dessa id blir lägst prioriterade bland länkade PNR/SNR på samma hierarki-nivå. Om alla PNR/SNR i samma hierarki-nivå har avregistreringsdatum noll/null, och de är fler än ett PNR/SNR, så kommer algoritmen att utse det PNR/SNR som har högst värde på sin personidentitet (personRecord:personalIdentitynumber (extension)).
Undantagsfall
Här listas undantagsfall som kan förekomma då huvudidentiteten utses.
En personpost som ingår i en länkning saknas i Navet
En personidentitet A har en länkning till sig från en annan personidentitet B, men personidentitet A visar sig saknas i Navet trots att den är av typ PNR eller SNR. Länkningen till personidentitet A kommer då att bibehållas i PU-tjänsten, men personidentitet A kan aldrig utses till huvudidentitet. En huvudidentitet utses istället bland övriga länkade personidentiteter, utifrån ovan angivna länknings-fall.
Loggning
Vid specifika händelser som sker när tjänsten försöker skapa länkningar så kommer information skrivas till tjänstens logg.
Följande information skrivs ut till logg vid respektive loggningshändelse:
Händelse | Logginnehåll |
---|---|
Flera personposter är aktuella eller Inga personposter är aktuella | Timestamp; Händelsetyp (beskriver varför loggning skett); Länkens Databas-id; OID-nr personidentiet A + Avregkod personidentitet A; OID-nr personidentiet B + Avregkod personidentitet B; OID-nr personidentiet C + Avregkod personidentitet C; ... |
Personposten hittas ej i Navet | Timestamp; Händelsetyp (beskriver varför loggning skett); Länkens Databas-id; OID-nr personidentiet A; OID-nr personidentiet B; |