Versions Compared

Key

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


Se den generelle guide for stamdataindlæsere herreferencearkitekturens guide for stamdataindlæsere her for generelle 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
    Der kan vel ikke forekomme erstatnings-cpr numre her?
  • 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ænseflade beskrivelsen (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 v05.pdf
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.
    allowableDiference værdien konfigureres eksternt.

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

Overvågning

Overvågningsservicen giver udslag på sin statusservice i følgende situationer, hvilke ville 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.

Da overvågningsservicen polles hvert 10 sekund er der et krav til at den er letvægts. I den nuværende overvågningsservice i yderindlæseren er det kun hvis databasen er nede at det kan tage et par sekunder, hvorfor yder indlæseren venter et par sekunder før den giver op.