Page History
...
Version | Dato | Ændring | Ansvarlig |
|---|---|---|---|
1.0.1 | 2018-08-17 | Initialt dokument | Trifork |
| 1.0.2 | 2018-08-31 | Ny release | Trifork |
| 1.0.3 | 2018-11-23 | Tilføjet admin endpoints | Trifork |
| 1.0.13 | 2019-25-09 | Ajourført | Trifork |
| 1.0.16 | 2020-05-25 | Opdateret slettejob | KIT |
| 1.0.17 | 2021-12-07 | Opdateret ifm inaktive cpr numre afvises | KvalitetsIT |
| 1.0.18 | 2023-09-26 | SDS-6386: ODR - oprydningsjob genbesøg | KvalitetsIT |
Funktionalitet
Servicen udstiller en række data som beskrevet i anvenderguiden. Komponenten kaldes af anvendere gennem NSP'ens DCC (afkoblingskomponenten), som viderestiller kaldet til servicens webservice-endpoint. Servicen udstiller derudover en række administrative og konfigurationsrelaterede funktionaliter.
...
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-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 verificerer databaseadgang. Der kan returneres følgende fra statussnitfladen: 200: Der er adgang til databasen og jobbet kan anvendes.
| |||||
<server>/odr-operations/odr-slettejob/alarm | Dette kald verificerer services, eksterne kald og databaseadgange. Denne service indeholder kun data, hvis der er alarmer. 200: Komponenten fungerer og der er ingen alarmer. Følgende er et ekempel på et svar, hvor personinformationservice ikke er tilgængelig.
|
...
| Code Block | ||||
|---|---|---|---|---|
| ||||
HTTP/1.1 200 OK Connection: keep-alive X-Powered-By: Undertow/1 Server: WildFly/8 Transfer-Encoding: chunked Content-Type: text/plain;charset=ISO-8859-1 Date: Mon, 3 Dec 2024 03:13:23 GMT 200 OK Title: odr-service-wildfly Deployed: 2024-12-03T02:02:02.002Z Build-Date: 2024-12-03T01:01:01Z Build-Version: 1.0.x Builder: A Robot Display time: 2024-12-03T03:13:23.345Z |
Den nye alarm-side vil kun melde fejl og indeholde information, hvis bagved liggende tjeks melder fejl.
| Code Block | ||||
|---|---|---|---|---|
| ||||
HTTP/1.1 500 Internal Server Error Connection: keep-alive X-Powered-By: Undertow/1 Server: WildFly/8 Transfer-Encoding: chunked Content-Type: text/plain;charset=ISO-8859-1 Date: Mon, 4 Dec 2024 16:32:48 GMT 203 Non-Authoritative Information from: CprExistsServiceClient Antal fejl: 56 2024-12-04T16:24:32.480: Fejl i retursvar fra CPRExist |
...
- 200: Applikationen kører i øjeblikket fint.
- 500: Der er opstået en fejl, der kræver indgriben.
Fejlfinding
Følgende årsager kan resultere i en statuskode 500 på status-siden:
- Hvis mindst én databaserne ikke er tilgængelige. Der overvåges databaseadgang ved et simpelt "SELECT 1" statement. Denne query køres på alle datasources.
Hvis status-siden giver HTTP 500 bør man checke den servicens log, som burde indeholde en detaljeret fejlmeddelelse med stacktrace.
Følgende årsager kan resultere i en statuskode 500 på alarm-siden:
- Hvis der opstår fejl ved kald til PersonInformation-servicen.
Hvis alarm-siden giver HTTP 500, så vil den også sende informativ tekst med omkring fejl. Derudover bør man tjekke servicelog.
Logning
Følgende beskrivelse af logning i servicen tager udgangspunkt i standard-opsætningen. Logning konfigureres vha. konfigurationsfilerne beskrevet i installationsvejledningen.
...
Der er i ODR fire kategorier af audit logs; cpr, organdonor registrering, aktør og cpr validering
Følgende tabel viser hvilke kategorier der audit logges for hver operation i ODR.
...
| 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/Notificationsjob)
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.
...
ODR har følgende baggrundsjobs:
OrganDonorDeceasedCleanup - Slettejob til sletning af afdødes registreringer
OrganDonorEmigratedCleanup - Oprydningsjov til invalidering af udrejstes registreringer
- OrganDonorNotification - Afsendelse af notificationer vha. digital post
PersonInformation
Følgende parametre bruges til styringen af forbindelsen til PersonInformation servicen, som bruges på tværs af baggrundsjobs. De kan ændres i cleanupoperations.properties for ODR:
| Nøgle | Default værdi | Beskrivelse |
|---|---|---|
| personinformation.url | http://test1-cnsp.ekstern-test.nspop.dk:8080/stamdata-personinformation/2024/08/01 | Den url som jobbet skal bruge, når den skal kalde servicen stamdata-personinformation. |
| personinformation.maxTotalConnections | 200 | Max antal forbindelser som HTTP Connection Manager må lave. |
personinformation.defaultMaxConnectionsPerRoute | 20 | Max antal forbindelser som HTTP Connection Manager må lave pr. rute.personinformationpr. rute. |
personinformation.defaultConnectionTimeoutMs | 20000 | Konfiguration af connection timeout (angives millisekunder) |
personinformation.error.tolerance | 0 | Tolerance for hvor mange fejl PersonInformation servicen må have inden den melder tilbage at den ikke virker i alarm indikatoren |
personinformation.errorcount.duration | PT10M | Angiver, hvor lang en periode, der skal kigges i efter antallet af fejl for PersonInformations alarm indikator |
Digital Post
Følgende parametre bruges til styringen af forbindelsen til Digital post servicen. De kan ændres i operations.properties for ODR:
| Nøgle | Default værdi | Beskrivelse |
|---|---|---|
| digitalpost.service.url | http://test1-cnsp.ekstern-test.nspop.dk:8080/digitalpost/2024/05/29/send | Den url som jobbet skal bruge, når den skal kalde servicen digital post |
| digitalpost.max.total.connections | 200 | Max antal forbindelser som HTTP Connection Manager må lave. |
| digitalpost.default.max.connections.per.route | 20 | Max antal forbindelser som HTTP Connection Manager må lave pr. rute. |
| digitalpost.default.connection.timeout.ms | 20000 | Konfiguration af connection timeout (angives millisekunder) |
| digitalpost.error.tolerance | 0 | Tolerance for hvor mange |
| fejligital post servicen må have inden den melder tilbage at den ikke virker i alarm indikatoren | ||
| digitalpost.errorcount.duration | PT10M | Angiver, hvor lang en periode, der skal kigges i efter antallet af fejl forigital post alarm indikator |
OrganDonorDeceasedCleanup
Baggrundsjobbet kaldes når der skal slettes registreringer for personer der har været erklæret døde de sidste 60 dage (deletion.save.deceased)
Kommando til kald af slettejob:
...
Følgende parametre til styring af OrganDonorDeceasedCleanup kan ændres i cleanup operations.properties for ODR:
| Nøgle | Default værdi | Beskrivelse |
|---|---|---|
deletion.desired.execution.duration.deceased | PT20S | Den tid vi ønsker at bruge på sletning ved hvert request. Tiden er ikke garanteret, da vi kun tjekker mod den efter hver StackOperation er udført. Default værdien er 20 sekunder. |
deletion.save.deceased | P12M | Den tid som skal gå før vi sletter data for en afdød person. Dette gøres så vi ikke sletter data, hvis personens status ændres til afdød og derefter tilbage til levende. |
deletion.batchsize.deceased | 1000 | Max. antal entries (f.eks. CPR) vi behandler pr. batch |
personinformation.batchsize.deceased | 100 | Max. antal CPR vi forespørger på i en enkelt request til personinformation |
...
Parameteren angives som en Duration i ISO-8601 format. Dvs. eksemplet viser 20 sekunder.
OrganDonorEmigratedCleanup
Baggrundsjobbet kaldes når der skal ryddes op registreringer for person der er udrejste.
Kommando til kald af slettejob:
...
Følgende parametre til styring af OrganDonorEmigratedCleanup kan ændres i cleanupi operations.properties for ODR:
| Nøgle | Default værdi | Beskrivelse |
|---|---|---|
deletion.desired.execution.duration.emigrated | PT20S | Den tid vi ønsker at bruge på sletning ved hvert request. Tiden er ikke garanteret, da vi kun tjekker mod den efter hver StackOperation er udført. Default værdien er 20 sekunder. |
deletion.batchsize.emigrated | 1000 | Max. antal entries (f.eks. CPR) vi behandler pr. batch |
personinformation.batchsize.emigrated | 1000 | Max. antal CPR vi forespørger på i en enkelt request til personinformation |
...
Parameteren angives som en Duration i ISO-8601 format. Dvs. eksemplet viser 20 sekunder.
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.