Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Jobbet startes via et HTTP GET kald til <serverurl>/batch-service/scan-citizens-job/start

Jobbet foretager et kald til PersonInformation, som returnerer borgere med den relevante fødselsdatoJobbets overordnede virkemåde er, at der hentes en liste med borgere med en relevant fødselsdato fra PersonInformation. For hver identificeret borger oprettes en record bor borgeen for borgeren i databasen med status NO_DENTIST (hvis ikke der allerede findes data for borgeren) samt dpStatus READY,som signalerer klar til afsendelse af digital post.

Særligt omkring dette job gælder dog, at da PersonInformation-metoden personsByBirthday kun tager én bestemt dato som parameter, er det vigtigt at jobbet ved hvor langt det er kommet, så der er mulighed for at indhente det forsømte ved at afvikle jobbet for en række datoer. Dette kunne f.eks. være relevant, hvis jobbet skulle have været sat på pause i en periode.  Til dette formål benyttes en BATCH_JOB_STATUS tabel i  databasen, som indeholder hvilken dato jobbet næste gang skal tage udgangspunkt i. 

I praksis gennemfører jobbet følgende trin:

  1. Næste dato for afvikling indlæses fra BATCH_JOB_STATUS tabellen. Hvis dette er en fremtidig dato springes afviklingen over.
  2. Ud fra dato, beregn den fødselsdato, der skal sendes til PersonInformation. Dette er 22 år før, justeret med 7 dage (konfigurerbart)
  3. Brug PersonInformation-servicens personsByBirthday-metode for at hente cprnumre for alle personer født på denne dato.
  4. Opret en DentistChoice record i databasen med status NO_DENTIST og digital post status ready (med mindre data for borgeren allerede findes). Dette signalerer at Digital Post jobbet skal sende informationsbrev til borgeren.
  5. Afslut med at opdatere BATCH_JOB_STATUS tabellen til næste dato. Normalsituationen er, at dette bliver dato for i morgen, hvis jobbet er færdig med at afvikle for dags dato.

Bemærk: Såfremt det besluttes at starte jobbet fra en fortidig dato når servicen startes første gang, er dette muligt ved på forhånd at indsætte en dato i BATCH_JOB_STATUS tabellen. Eksempel: Såfremt der ønskes initialiseret med dem, der er fyldt 22 indenfor den sidste måned, så kan der oprettes en record med JOB_NAME=ScanCitizens og NEXT_DATE=dags dato - 1 måned.

Job til afsendelse af digital post

...