Indledning

Nærværende dokument udgør driftsvejledningen for KIDS indlæseren.

KIDS indlæsen har til opgave at indlæse en CSV fil med Covid-19 testresultater og gemme hvert testresultat i en database og notificere til NSP NAS at der er ankommet et testresultat til et givent CPR nummer.

Hvordan agerer KIDS indlæseren

KIDS indlæseren anvendes til at hente og vedligeholde data om Covid-19 test resultater.

Denne information bliver f.eks. anvendt til Corona-passet for at afgøre om der foreligger en positiv eller negativ test.

Monitoreringssnitflader

Alle indlæsere overvåges via en simpel statusservice. (Se evt. https://www.nspop.dk/display/public/web/Husregler+for+udvikling+til+NSP#HusreglerforudviklingtilNSP-Snitfladetilmonitorering(gl4.4)).

Statusservicen kan tilgås på URL http://<host>:<port>/kidsindlaeser/status hvor <host> og <port> peger på den aktuelle installation.

Denne statusservice returnerer en HTTP status kode, som enten er 200 (ok) eller 500 (internal server error). Ved 500 er det tegn på, at en NSP driftleverandøren skal i gang med at undersøge problemet.

Statusservicen giver udslag i følgende situationer, som vil sætte support i gang:

  • Afhængighedsproblemer (fx. ingen forbindelse til en database eller en SFTP server)

De mulige svar fra statusservicen er:

OK status

Ved normal drift vil statusservicen returnere http 200 med denne information

Ikke Ok status

Opstår som følge af HTTP 500 status kode og kræver NSP driftleverandørens umiddelbare opmærksomhed. De mulige situationer, hvor HTTP 500 status kode leveres er beskrevet herunder.

Fejl ved adgang til SFTP server

Fejl ved adgang til databasen

Fejl ved adgang til NSP NAS servicen

Generelle overvågningssnitflader

Ingen - ud over den beskrevne statusservice.


Service snitflader

Ingen.


Fejlhåndtering

Ingen - ud over hvad der rapporteres gennem statusservicen.


Logning

Under håndtering af en fil logges der til nsputil-sla.log, kidsAudit.log og kidsApplication.log:

nsputil-sla.log

10-05-2021 14:19:36,821 [Camel (camel-1) thread #1 - sftp://foo@localhost:32956/kids] INFO  dk.sdsd.nsp.slalogdata - LogPoint="LoggerBean" LogPointUniqId="LoggerBean" StartTime="2021-05-10 14:19:36.821" EndTime="2021-05-10 14:19:36.821" Duration="49 microseconds" MessageId="a00fe556-55c3-45a7-8ec8-9abd298444e2" RequestSize=0 ReplySize=0 Result=OK ClientIP="<empty>" SOAPOperation="DataSet fetched" SOAPEndpoint="<empty>" SOAPAction="<empty>" TargetSOAPOperation="<empty>" TargetSOAPEndpoint="<empty>" GenericCallParms(1)= { ("Input","kids.csv") }
10-05-2021 14:19:36,954 [Camel (camel-1) thread #2 - file:///tmp/kids/input] INFO  dk.sdsd.nsp.slalogdata - LogPoint="LoggerBean" LogPointUniqId="LoggerBean" StartTime="2021-05-10 14:19:36.821" EndTime="2021-05-10 14:19:36.821" Duration="49 microseconds" MessageId="9bdcb798-cdbf-43a0-a036-e224378f16bb" RequestSize=0 ReplySize=0 Result=OK ClientIP="<empty>" SOAPOperation="DataSet received" SOAPEndpoint="<empty>" SOAPAction="<empty>" TargetSOAPOperation="<empty>" TargetSOAPEndpoint="<empty>" GenericCallParms(1)= { ("Input","kids.csv") }
10-05-2021 14:19:46,034 [Camel (camel-1) thread #2 - file:///tmp/kids/input] INFO  dk.sdsd.nsp.slalogdata - LogPoint="LoggerBean" LogPointUniqId="LoggerBean" StartTime="2021-05-10 14:19:36.821" EndTime="2021-05-10 14:19:46.034" Duration="9213514 microseconds" MessageId="9bdcb798-cdbf-43a0-a036-e224378f16bb" RequestSize=0 ReplySize=0 Result=OK ClientIP="<empty>" SOAPOperation="DataSet completed" SOAPEndpoint="<empty>" SOAPAction="<empty>" TargetSOAPOperation="<empty>" TargetSOAPEndpoint="<empty>" GenericCallParms(1)= { ("Input","kids.csv") }

kidsAudit.log

timestamp="2021-05-10 14:19:36,956" priority="INFO" class="dk.nsi.sdm.kids.bean.LoggerBean" message="The file kids.csv has been preparsed"
timestamp="2021-05-10 14:19:41,942" priority="INFO" class="dk.nsi.sdm.kids.bean.LoggerBean" message="100 TestResults from kids.csv have been handled"
timestamp="2021-05-10 14:19:46,019" priority="INFO" class="dk.nsi.sdm.kids.bean.LoggerBean" message="86 TestResults from kids.csv have been handled"
timestamp="2021-05-10 14:19:46,035" priority="INFO" class="dk.nsi.sdm.kids.bean.LoggerBean" message="Handling of TestResults from kids.csv has been completed"

kidsApplication.log

timestamp="2021-05-10 14:19:36,824" priority="DEBUG" class="dk.nsi.sdm.kids.bean.LoggerBean" message="The file kids.csv has been fetched"
timestamp="2021-05-10 14:19:36,955" priority="DEBUG" class="dk.nsi.sdm.kids.bean.LoggerBean" message="The file kids.csv has been received"
timestamp="2021-05-10 14:19:36,956" priority="INFO" class="dk.nsi.sdm.kids.bean.LoggerBean" message="The file kids.csv has been preparsed"
timestamp="2021-05-10 14:19:41,942" priority="INFO" class="dk.nsi.sdm.kids.bean.LoggerBean" message="100 TestResults from kids.csv have been handled"
timestamp="2021-05-10 14:19:46,019" priority="INFO" class="dk.nsi.sdm.kids.bean.LoggerBean" message="86 TestResults from kids.csv have been handled"
timestamp="2021-05-10 14:19:46,035" priority="INFO" class="dk.nsi.sdm.kids.bean.LoggerBean" message="Handling of TestResults from kids.csv has been completed"
  • No labels