Se referencearkitekturens guide for stamdataindlæsere her for generelle fælles retningslinjer for udvikling af stamdataindlæsere.
Herunder beskrives specifikke forhold for Cpr Indlæseren.
På hver række af data foretages der følgende valideringer.
Hvis en data for en række fejler valideringen bliver denne række, og evt. indlejrede rækker, ikke indlæst, men resten af data i filen indlæses.
Disse valideringer er tilkommet i forbindelse med implementering af CprIndlæser
På et modtaget filsæt gennemføres der et antal valideringer før data parses og splittes til events for levering til modtagere af data.
De valideringer, der er implementeret, er:
Filnavnet skal overholde følgende:
D.{6}\\.L4311.*
D.*\\.L431101
Indholdet af filen for CprIndlæseren forventes at være encodet i ISO-8859-1.
Der foretages en validering af encoding ved at udføre en dekodning af fil-indholdet med ISO-8859-1.
Hvis valideringen fejler stoppes filen og den givne fejl logges til databasen og applikationsloggen med en relativ position i filen af det tegn som ikke er i den forventede encoding.
Indholdet af filen for CprIndlæseren forventes at være i følgende struktur:
<START RECORD>
<CPR RECORD 1 ...>
<CPR RECORD 2 ...>
<CPR RECORD 3 ...>
..
<CPR RECORD n ...>
<SLUT RECORD>
<FEJL RECORD 1>
<FEJL RECORD 2>
...
<FEJL RECORD m>
Hvor <START RECORD> starter med "000" og <SLUT RECORD> starter med "999". De enkelte <CPR RECORDS> starter med en recordtype der kan have værdier i intervallet "001" .. "030".
<FEJL RECORDS> starter med "910".
Inputfilen forventes at have denne struktur og det valideres inden indlæsningen påbegyndes.
Hvis valideringen fejler stoppes filen og den givne fejl logges til databasen og applikationsloggen.
Efter hver <CPR RECORD> forventes der at være et CprNr. Det skal være et tal med 10 cifre - og de første 4 cifre skal være en dato.