Page History
...
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.
...
| Komponent | Kontekst | Type | Nøgle | Information |
|---|---|---|---|---|
| ODR | validateCpr | Følsomme | cpr-does-not-exist | Medsendt CPR nummer (hvis det ikke findes i CPR register) |
| ODR | validateCpr | Følsomme | cpr-inactive | Medsendt CPR nummer (hvis det er inaktivt) |
Minlog
digial post
| Komponent | Kontekst | Type | Nøgle | Information |
|---|---|---|---|---|
| ODR | digitalPostSent | Følsomme | digital-post-request | Medsendt CPR nummer og den skabelon der ønskes sendt. |
| ODR | digitalPostSent | Ikke Personlig | digital-post-response | Retursvar 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 / brugertype | Borger | Sundhedsfaglig | System bruger | Admin bruger |
|---|---|---|---|---|
| CreateOrganDonorRegistration | x | x | x | |
| UpdateOrganDonorRegistration | x | x | x | |
| DeleteOrganDonorRegistration | x | x | 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 | ||||
|---|---|---|---|---|
| ||||
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:
| Nøgle | Default værdi | Beskrivelse | ||
|---|---|---|---|---|
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 | Max. antal entries (antal notifikationer) vi henter op fra dagens udtrukne personer|
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 | ||||
|---|---|---|---|---|
| ||||
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
| Healthindicator | Udførsel/resultat | StatusIndicator tekst | AlarmIndicator tekst | Konfiguration (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.