Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Navitabs
rootweb:KIDS Indlæser - Leverancebeskrivelse
firsttabYder Indlæser - Leverancebeskrivelse
includeroottrue

Se referencearkitekturens guide for stamdataindlæsere her for generelle fælles retningslinjer for udvikling af stamdataindlæsere.

Herunder beskrives specifikke forhold for Yder Indlæseren.

Data validering

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.

As-is validering

Disse er valideringer, der er kopieret fra den eksisterende Yder indlæser.

  • YderPersoner hvis CPR nummer er null, tom-streng eller kun spaces skippes
  • Felterne i Yder og YderPerson er defineret som alfanumeriske - så der foretages ikke nogen validering af typen/udfaldsrum af værdier
  • Felterne i Yder og YderPerson er defineret med deres længder, og det valideres om alle værdier overholder den givne længde for feltet
  • Felterne i Yder og YderPerson er alle defineret som "mandatory" felter, og det tjekkes derfor om alle felter indeholder en værdi.

Nye valideringer

Disse valideringer er tilkommet i forbindelse med implementering af Yder indlæser

  • CPR numre er valide - dvs. 10 cifre hvor første 6 cifre er en gyldig dato - hvis et CPR nummer ikke er validt skippes den pågældende YderPerson
  • Yder numre er valide - dvs. 6 cifre - hvis et Yder nummer ikke er validt skippes den pågældende Yder samt dens YderPersoner
  • Der hvor der i grænsefladebeskrivelsen (vedhæftet) er angivet en type for data - f.eks. at TilDatoYder er på formen ÅÅÅÅMMDD - valideres det om data følger det angivne format.
  • En YderPerson der ligger under en Yder skal pege på samme Ydernummer som den omkringliggende Yder har. - hvis en YderPerson ikke peger korrekt på dens yder skippes YderPersonen
  • Angivne koder ligger inden for de tilladte værdier

De implementerede valideringer tager udgangspunkt i snitfladebeskrivelsen for de yderdata der leveres og som her beskrevet i dette dokument:

View file
nameA23 v09.pdf
pageKIDS Indlæser - Guide til udviklere
spaceweb
height250

Filsæt validering

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:

Validering af encoding

Indholdet af filen for yder indlæseren forventes at være encodet i UTF-8.

Der foretages en validering af encoding ved at udføre en dekodning af fil-indholdet med UTF-8.

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.

Validering af struktur

Indholdet af filen for yder indlæseren forventes at være i en given XML struktur.

Der foretages en validering af strukturen via en XML skema validering. Denne validering tjekker ikke for data indholdet, men sikrer udelukkende at strukturen af filen er som forventet.

Valideringen af strukturen fejler hvis

  • XML strukturen ikke er korrekt
  • Der er XML elementer som ikke passer med skemaet
  • Der er XML attributter som ikke passer med skemaet

Hvis valideringen fejler stoppes filen og den givne fejl logges til databasen og applikationsloggen.

Yderligere validering

Indholdet af filen valideres for yder-specifikke krav

  • Det tjekkes at værdien i AntPost-elementet matcher summen af elementer i filen
  • Det tjekkes at antallet af hhv. Ydere og YderPersoner ikke afviger mere end allowableDifference % fra det antal valide Ydere og YderPersoner der er i databasen.
    allowableDifference værdien konfigureres eksternt.

Hvis valideringen fejler stoppes filen og den givne fejl logges til databasen og applikationsloggen.

Validering af filnavn

Yderindlæseren modtager filer uden et løbenummer, så derfor er der ikke implementeret en validering af filnavnet iht. til sekvensen af filer.

Overvågning

Overvågningsservicen giver udslag på sin statusservice i følgende situationer, hvilket vil sætte supporter igang

  • En filsæt validering fejler - dvs. at den senest modtagne fil er afvist som helhed
  • En event-validering fejler - dvs. at enkelte events i en modtagen fil ikke opfylder validitets-regler.
  • Afhængighedsproblemer (fx. ingen forbindelse til databasen)
  • Der er gået uforholdsmæssigt lang tid siden vi har fået sidste fil (kan konfigureres)
  • Anden processeringsfejl

Registrering af fejl

De ovenstående fejlscenarier er knyttet til indlæsningerne, og da yder indlæseren godt kan slukkes og startes, bliver evt. fejltilstande holdt i databasen i tabellerne YDS_DataDet, YDS_DataSetLog, YDS_RegisterStatus og YDS_RegisterFejl.

Tabellerne YDS_DataSet og YDS_DataSetLog er i bund og grund en database log over fejl der er opstået under processering af en fil. Disse tabeller udtrykker derfor hvordan processering af den seneste fil er foregået.

Tabellerne YDS_RegisterStatus og YDS_RegisterFejl beskriver den akkumulerede status for et givent register (her yderregisteret) og holder derfor styr på, om f.eks. en fejl i en given event stadig er forekommende, selvom der er modtaget stamdata filer efter at fejlen optrådte første gang.

Det er tabellerne YDS_RegisterStatus og YDS_RegisterFejl der danner grundlaget for visningen i overvågningsservicen, da vi her ønsker at se den akkumulerede status for det pågældende register.

Bemærk, at for yder indlæseren, som kun indlæser fulde indlæsninger, vil den akkumulerede status altid svare til status for den senest modtagne fil.

...