Versions Compared

Key

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

...

URL

Funktionalitet

<server>/odr/status

Status-side for servicen. Viser om servicen fungerer korrekt, se afsnittet Overvågning.

<server>/odr/alarm

Alarm-side for servicen. Viser om der er valideringsfejl i servicen, se afsnittet Overvågning.

<server>/odr/odr
Webservice-endpoint
<server>/odr/odrAdmin
Webservice admin-endpoint (til brug for brugerflade)
<server>/odr/dksconfig
DCC auto-konfigurations API. Anvendes til konfiguration af NSP'ens DCC.
<server>/odr/wsdl
HTML-side med links til download af WSDL-filer i hhv. DGWS- og IDWS-udgave.
<server>/odr/wsdl/dgws
DGWS WSDL
<server>/odr/wsdl/idws

IDWS WSDL

<server>/odr/wsdl/idws/standard

Standard IDWS WSDL. Samme som IDWS WSDL dog uden IDWS Fault.

<server>/odr-operations/odr-slettejob/deceased/start
Baggrundsjob til sletning af døde startes ved kald af denne url. Returnerer altid http status kode 200. Eventuelle fejl skrives i loggen.
<server>/odr-operations/odr-slettejob/emigrated/start
Baggrundsjob til oprydning ift. udrejste startes ved kald af denne url. Hvis person har en aktiv registrering, så tjekkes dem om denne person er udrejst. Hvis dette er tilfældet, så sættes VALIDTO-datoen til afviklingstidspunktet.
Returnerer altid http status kode 200. Eventuelle fejl skrives i loggen.
<server>/odr-operations/odr-slettejob/status

Dette kald rapportere om slettejobbets er klar til at modtage kald. Se detaljer i senere afsnit.

<server>/odr-operations/odr-slettejob/alarm

Dette kald rapportere om slettejobbet er i en tilstand, der kræver indgriben fra driften.


<server>/odr-operations/odr-send-digitalpost-notificationnotifikation/start

Baggrundsjob til at sende notifikationer til personer, som skal have en påmindelse om organ donation. Se detaljer i senere afsnit.

<server>/odr-operations/odr-send-digitalpost-notificationnotifikation/status

Dette kald rapportere om notifiationsjobbets er klar til at modtage kald. Se detaljer i senere afsnit.

<server>/odr-operations/odr-send-digitalpost-notificationnotifikation/alarm

Dette kald rapportere om notifikationsjobbet er i en tilstand, der kræver indgriben fra driften.

...

Der er i ODR fire kategorier af audit logs; cpr, organdonor registrering, aktør, aktør og  cpr validering, organdonor operations og digital post

Følgende tabel viser hvilke kategorier der audit logges for hver operation i ODR.

...

KomponentKontekstTypeNøgleInformation
ODRvalidateCprFølsommecpr-does-not-existMedsendt CPR nummer (hvis det ikke findes i CPR register)
ODRvalidateCprFølsommecpr-inactiveMedsendt CPR nummer (hvis det er inaktivt)

Minlog

digial post

KomponentKontekstTypeNøgleInformation
ODRdigitalPostSentFølsommedigital-post-requestMedsendt CPR nummer og den skabelon der ønskes sendt.
ODRdigitalPostSentIkke Personligdigital-post-responseRetursvar fra kald til Digital Post Adapter

Minlog

Der er i ODR fire brugertyper: Borger, sundhedsfaglig, system bruger og Der er i ODR fire brugertyper: Borger, sundhedsfaglig, system bruger og admin bruger. 

Følgende tabel viser for hvilke operationer og brugertype kombinationer, der logges til minlog (x=der logges).

Operation / brugertypeBorgerSundhedsfagligSystem brugerAdmin bruger
CreateOrganDonorRegistrationxx
x
UpdateOrganDonorRegistrationxx
x
DeleteOrganDonorRegistrationxx
x
GetOrganDonorRegistration
x
x
HasOrganDonorRegistration



Baggrundsjob (Slettejob/Oprydningsjob/

...

Notifikationsjob)

Servicens baggrundsjobs bliver afviklet vha. en udstillede RestControllere, som kaldes vha. simpelt HTTP GET kald.
Dette gøres for at sikre afviklingen af baggrundsjobs i flere-node drift, hvor en loadbalancer sørger for fordeling af kald til bagvedliggende servere.

...

Baggrundsjobbet kaldes når der skal sendes notificationer til personer omkring påmindelser om organdonation. For nuværende er det notifikationer til personer, der snart bliver 18 år.

Kommando til kald af notifikationer:

Code Block
languagebash
titleKommando
curl <server>/odr-operations/odr-send-digitalpost-notification/start

Parametre

notifikation/start

Et job arbejder sig gennem datoer. Fra en given start dato og maksimalt indtil dags dato for jobbets udførsel. Når jobbet startes, hentes de personer frem, som skal have tilsendt en notifikation for en given dag. Først når alle personer har fået tilsendt en notifikation fortsættes til næste dag.

Ved at kalde jobbets status endpoint kan det ses, hvilken dato, der senest er kørt færdig, ligesom man kan se en tæller for de enkelte status for de nuværende notifkationer, der arbejdes på.


Hvis der ligger notifikationer i NotificationPerson, med status Error, skal problemerne bag disse løses. Når de problemet er løst, sættes status i databasen tilbage til Pending og SentAtDateTime samt ErrorMessage nullstilles . Jobbet startet igen. 

Ligger der vedvarende de samme notifikationer i NotificationPerson med status InProgress eller Sent  skal disse også manuelt håndteres. Igen ved at sætte status status til Pending, så jobbet tager fra i dem på nu.

Eksempel på sql, der kan opdatere NotificationPerson:

  • find de relevante records: select NotificationPersonPID, ErrorMessage from NotificationPerson where status = "Error";
  • opdater med ny status: update NotificationPerson set Status = "Pending", SentAtDateTime = null, ErrorMessage = null where NotificationPersonPID = <id> and status = "Error";'
  • Tilsvarende kan de andre status findes. Anvend her InProgress og Sent.


Ligger der vedvarende den samme record i NotificationAge med status Locked tyder noget på at jobbet er gået i stå. Sørg for at ingen notifications job kører, og undersøg tilstanden i tabel NotificationPerson for at finde ud af, hvor langt kørslen er nået og ryd op tilsvarende.


For yderligere detaljer se design og arkitektur dokumentet. 

Parametre

Følgende parametre Følgende parametre til styring af OrganDonorNotification kan ændres i operations.properties for ODR:

.desired.execution.durationDen tid vi ønsker at bruge på hvert request. Tiden er ikke garanteret, da vi kun tjekker mod den efter hver StackOperation er udført. send.limitMax. antal entries (antal notifikationer) vi henter op fra dagens udtrukne personerlegalageperiodeyearP18Y

Det antal år personen skal være når notifikationen sendes ud

Parameteren angives som en Duration i ISO-8601 format i år
NøgleDefault værdiBeskrivelse

digitalpost.notification.odr.startdate


Den dato, hvor jobbet skal være aktivt første dag.

Hvis jobbet køres før denne dato, vil der ikke blive sendt nogle notifikationernogle notifikationer.

digitalpost.notification.odr.send.desired.execution.duration

PT20S

Den tid vi ønsker at bruge på hvert request. Tiden er ikke garanteret, da vi kun tjekker mod den efter hver StackOperation er udført.

Parameteren angives som en Duration i ISO-8601 format

Default værdien er 20 sekunder.

digitalpost.notification.odr.send

PT20S

.limit

1000

Max. antal entries (antal notifikationer) vi henter op fra dagens udtrukne personer

digitalpost.notification.odr.legalage.periode.year

P18Y

For udtræk af personer på deres fødselsdato.

Det antal år personen skal være når notifikationen sendes ud

Parameteren angives som en Duration

i ISO-8601 format i år

Default værdien er 20 sekunder.

digitalpost.notification.odr.

legalage.offset.days

P14D

For udtræk af personer på deres fødselsdato.

En buffer periode i dage, hvornår notifikationen sendes ud før personen har fødselsdag.

Parameteren angives som en Duration i ISO-8601 format i dage

1000

digitalpost.notification.odr.

template.

digital.

undecided

ODR/20250911/digital/18aarIkkeTagetStilling

For udtræk af personer på deres fødselsdato.

Den digitale brevskabelon, som anvendes for dem som ikke har taget stilling til organdonation

digitalpost.notification.odr.legalagetemplate.offset.days

P2D

digital.descided

ODR/20250911/digital/18aarHarTagetStilling

For udtræk af personer på deres fødselsdato.

En buffer periode i dage, hvornår notifikationen sendes ud før personen har fødselsdag.

Parameteren angives som en Duration i ISO-8601 format i dageDen digitale brevskabelon, som anvendes for dem som har taget stilling til organdonation

digitalpost.notification.odr.template.physical.undecided

ODR/20250911/physical/18aarIkkeTagetStilling

For udtræk af personer på deres fødselsdato.

Den fysiske brevskabelon, som anvendes for dem som ikke har taget stilling til organdonation

digitalpost.notification.odr.template.physical.descided

ODR/20250911/physical/18aarHarTagetStilling

For udtræk af personer på deres fødselsdato.

Den fysiske brevskabelon, som anvendes for dem som har taget stilling til organdonation

digitalpost.notification.odr.alarm.date.period

P3D

Angiver hvor alarm jobbet skal begynde at rapportere fejl at noget ikke er sendt

Parameteren angives som en Duration i ISO-8601 format i dage

...

Code Block
languagebash
titleKommando
curl <server>/odr-operations/odr-send-digitalpost-notificationnotifikation/status
curl <server>/odr-operations/odr-send-digitalpost-notificationnotifikation/alarm


Der er følgende status og alarm check i notifikations jobbet

HealthindicatorUdførsel/resultatStatusIndicator tekstAlarmIndicator tekstKonfiguration (property)

DBHealthIndicator

Udførsel

Kalder databasen med "select 1"

Kalder databasen med "select 1"datasource.odr.jndi-name=java:jboss/datasources/ODR-DS

Status 200

{"Database":"OK"}


Status 500

{"Database":"Unavailable"}

Der er ingen forbindelse til databasen med JNDI navnet <jndi>
StackedOperationsService
(organDonorNotificationService)

Udførsel


Tjekker om den seneste kørsel af jobbet afsluttede med success

Status 200



Status 500


Baggrundsjobbet StackedOperationsService fejlede sidst det blev kørt. Problemet var: <exception>.
NewestNotificationHealthIndicator

Udførsel

Henter den nyeste record fra tabel NotificationDate med status Completed

Tjekker om den seneste Completed record i NotificationDate ligger tidligere end det er tilladt at komme bagud.digitalpost.notification.odr.alarm.date.period=P3D

Status 200

{"Nyeste færdigbehandlede dato":"Ingen"} eller

{"Nyeste færdigbehandlede dato":"<dato>"}



Status 500

na - svarer altid 200

Der er ikke færdigbehandlet en dato den: <dato>. Den er ældre end <dage> dage gammel.
StatusNotificationHealthIndicator

Udførsel

For hver status type hentes antal records fra tabel NotificationPerson

For hver status type (undtagen Completed) hentes antal records fra tabel NotificationPerson. Hvis dette antal  er større end 0 og den seneste Completed record i NotificationDate ligger tidligere end det er tilladt at komme bagud.

digitalpost.notification.odr.alarm.date.period=P3D

Status 200

{"Antal i NotificationPerson med status <status>":"<antal>"}


Status 500

na - svarer altid 200

Der ligger <antal> notifikationer fra den <dato> med status <status>.
ErrorNotificationHealthIndicator

Udførsel


Tjekker om der ligger records i tabel NotificationPerson, som har status Error.

Status 200


 

Status 500


Der ligger totalt <antal> notifikationer med status Error.
PersonInformationHealthIndicator

Udførsel


Tjekker antal fejl inden for en given periode ikke overstiger maks

personinformation.error.tolerance=0

personinformation.errorcount.duration=PT10M

Status 200



Status 500


Person Information servicen har fejlet flere gange end tilladt i en given periode.
DigitalPostHealthIndicator

Udførsel


Tjekker antal fejl inden for en given periode ikke overstiger maks

digitalpost.error.tolerance=0

digitalpost.errorcount.duration=PT10M

Status 200



Status 500


Digital Post Adapter servicen har fejlet flere gange end tilladt i en given periode.


Backup

Servicen indeholder ikke nogen backup-mekanismer, og dette skal derfor konfigureres på database-niveau. Der bør foretages backup af data på en forsvarlig måde, i tilfælde af behov for en genetablering af data. Disse data skal opbevares på en forsvarlig måde, jfr. regler om personhenførbare data.