Regne ut fødselsdato fra fødselsnummer med riktig århundre

Dette er ikke enkle saker å forholde seg til, ettersom man har to variabler å forholde seg til når århundret skal utregnes.

Ut fra skatteetatens side, kan vi se at det er funksjon av individnummer og årstall. Jeg har derfor satt meg ned og finpusset på et script jeg allerede har laget tidligere, som jeg innså ikke tok høyde for alle kombinasjoner. Nå mener jeg dette skal være helt riktig, men jeg utfordrer deg til å teste på egenhånd.

var Fodselsdato=Fnr_variabel_fra_skjema;
var dag=substr(Fodselsdato,0,2);  
var mnd=substr(Fodselsdato,2,2); 
var arstall=int(substr(Fodselsdato,4,2)); 
var individnr=substr(Fodselsdato,6,3);

var arhundre; 
var ar;

if(individnr>=500 && individnr<=749 && arstall>=54 && arstall<=99){arhundre=1800};
if(individnr>=0 && individnr<=499 && arstall>=0 && arstall<=99){arhundre=1900};
if(individnr>=900 && individnr<=999 && arstall>=40 && arstall<=99){arhundre=1900};
if(individnr>=500 && individnr<=999 && arstall>=0 && arstall<=30){arhundre=2000};

ar=(arhundre)+(arstall); 
return date(ar,mnd, dag);
3 Likes

Hei, jeg vet ikke om tallene hos skatteetaten er oppdatert etter du skrev denne, men nå ser det ut til at det står følgende.

    1. 2000-2039, brukes serien 999-500
      Da er formelen din litt feil.
      if(individnr>=500 && individnr<=999 && arstall>=0 && arstall<=30){arhundre=2000};
      bør vel være
      if(individnr>=500 && individnr<=999 && arstall>=0 && arstall<=39){arhundre=2000};