Page History
...
URL | Funktionalitet |
|---|---|
<server>/btr/isAlivestatus | Status-side for servicen. Viser om servicen fungerer korrekt, se afsnittet Overvågning. |
<server>/btr/isAlive | Samme som kald til <server>/btr/status. Se afsnittet Overvågning. |
<server>/btr/alarm | Alarm-side for servicen. Viser om der er valideringsfejl i servicen, se afsnittet Overvågning. |
<server>/btr/dksconfig/ltr | Livstestamenteregistret: DCC auto-konfigurations API. Anvendes til konfiguration af NSP'ens DCC. |
<server>/btr/ltr | Livstestamenteregistret: Webservice-endpoint |
<server>/btr/btr | Behandlingstestamenteregistret: Webservice-endpoint |
<server>/btr/ltrAdmin | Livstestamenteregistret: Webservice admin-endpoint (til brug for brugerflade) |
<server>/btr/btrAdmin | Behandlingstestamenteregistret: Webservice admin-endpoint (til brug for brugerflade) |
<server>/btr/dksconfig/btr | Behandlingstestamenteregistret: DCC auto-konfigurations API. Anvendes til konfiguration af NSP'ens DCC. |
<server>/btr/wsdl | HTML-side med links til download af WSDL-filer i hhv. DGWS- og IDWS-udgave. |
<server>/btr/wsdl/ltr/dgws | Livstestamenteregistret: DGWS WSDL |
<server>/btr/wsdl/ltr/idws | Livstestamenteregistret: IDWS WSDL |
<server>/btr/wsdl/btr/dgws | Behandlingstestamenteregistret: DGWS WSDL |
<server>/btr/wsdl/btr/idws | Behandlingstestamenteregistret: IDWS WSDL |
<server>/btr/wsdl/btrV2/dgws | Behandlingstestamenteregistret version 2: DGWS WSDL |
<server>/btr/wsdl/btrV2/idws | Behandlingstestamenteregistret version 2: IDWS WSDL |
<server>/ltr-btr-operations/ltr-slettejobtreatment-will-deceased-cleanup/start | Slettejob for LTR BTR startes ved kald af denne url, og personer, som har været døde i et år eller mere, slettes fra LivingWill mindst 2 år (kan konfigureres med "deletion.save.deceased") vil blive slettes fra TreatmentWill tabellen. Returnerer altid http status kode 200. Eventuelle fejl skrives i loggen. |
<server>/btr/ltrtreatment-btrwill-operations/ltrdeceased-slettejobcleanup/status | Oplysninger om slettejob på den pågældende server. Oplysningerne gemmes i hukommelsen på serveren og forsvinder ved genstart. Der kan returneres følgende fra statussnitfladen: 200: Komponenten fungerer og kan anvendes. Der returneres desuden følgende oplysninger i JSON format:
|
<server>/ltr-btr-operations/btr-slettejob/start | Slettejob for BTR startes ved kald af denne url, og personer, som har været døde i et år eller mere, slettes fra TreatmentWill tabellen. Returnerer altid http status kode 200. Eventuelle fejl skrives i loggen. |
<server>/ltr-btr-operations/btr-slettejob/status | Oplysninger om slettejob på den pågældende server. Oplysningerne gemmes i hukommelsen på serveren og forsvinder ved genstart. Der kan returneres følgende fra statussnitfladen: 200: Komponenten fungerer og kan anvendes. Der returneres desuden følgende oplysninger i JSON format:
|
Daglig drift
Servicen kræver ingen daglig vedligeholdelse udover sædvanlig systemovervågning.
Alt data (inkl. historiske data) for en borger fjernes 1 år efter borgerens død ved hjælp af to slettejobs.
Overvågning
Servicen udstiller en status-side (isAlive). På denne side fremgår servicens version, opstartstidspunkt mm. samt status for slettejob.
Eksempel på et response fra status-siden:
| Returnerer statuskoden for den seneste kørsel af TreatmentWill slettejobbet. | |
<server>/btr/living-will-deceased-cleanup/start | Slettejob for BTR startes ved kald af denne url, og personer, som har været døde mindst 2 år (kan konfigureres med "deletion.save.deceased") vil blive slettes fra LivingWill tabellen. Returnerer altid http status kode 200. Eventuelle fejl skrives i loggen. |
<server>/btr/living-will-deceased-cleanup/status | Returnerer statuskoden for den seneste kørsel af LivingWill slettejobbet. |
Daglig drift
Servicen kræver ingen daglig vedligeholdelse udover sædvanlig systemovervågning.
Alt data (inkl. historiske data) for en borger fjernes 1 år efter borgerens død ved hjælp af to slettejobs.
Overvågning
Servicen udstiller nu en status-side og en alarm-side, hvor den tidligere kun har udstillet en isAlive-side.
Kald til den gamle isAlive-side vil nu blive håndteret på samme måde, som kald til status-siden.
I den nye udgave vil status-siden kun melde fejl, hvis servicen ikke kan nå de bagved liggende databaser. Status siden vil stadig indholde informationer om version, opstartstidspunkt m.m.
Eksempel på et response fra status-siden:
| 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, 2 Dec 2024 01:01:01 GMT
200 OK
Title: ltr-btr-service-wildfly
Deployed: 2024-12-02T01:00:00.00Z
Build-Date: 2024-12-12T00:00:00Z
Build-Version: 1.1.1
Builder: A Robot
Display time: 2024-12-02T01:01:01.001Z |
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, 2 Dec 2024 01:01:01 GMT
203 Non-Authoritative Information from: PersonInformationServiceClient
Antal fejl: 25
2024-12-02T01:00:00.001: Fejl i retursvar fra PersonInformation | ||||
| Code Block | ||||
200 OK
Title: ltr-btr-service-wildfly
Deployed: 2018-08-10T10:55:17.777Z
Build-Date: 2018-08-10T10:52:22Z
Build-Version: 1.0.1-SNAPSHOT
Builder: A robot
Display time: 2018-08-10T12:57:43.577Z
Delete job: Enabled, Last successful deletion: 1900-01-01T00:00:00Z, Error count: 0 |
Status for baggrundsjobbet LTR fremgår af denne url:
...
Eksempel på denne statusside hvor et af jobbene er fejlet (det vil se ud på samme måde for begge jobs):
| Code Block |
|---|
{"lastException":"An error occurred querying v2_Person_Simplified between 2022-09-26T11:06:47Z and 2022-09-26T11:11:29Z","timeOfLastExecution":"2023-09-26 13:11:29","lastExecutionSucceeded":"false"} |
HTTP statuskode
Status-siden returnerer følgende HTTP statuskoder afhængig af servicens status:
- 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:
- Hvis btr eller stm databaserne ikke er tilgængelige. Der overvåges databaseadgang ved et simpelt "SELECT 1" statement. Denne query køres på alle datasources.
- Andre ukendte årsager.
Hvis status-siden giver HTTP 500 bør man checke den servicens log, som burde indeholde en detaljeret fejlmeddelelse med stacktrace.
Logning
Følgende beskrivelse af logning i servicen tager udgangspunkt i standard-opsætningen. Logning konfigureres vha. konfigurationsfilerne beskrevet i installationsvejledningen.
Alle logfiler placeres i standalone/log i Wildfly.
Alle logs benytter en rolling file appender, og indeholder derfor et postfix i filnavnet, der ikke er præsenteret i nedenstående.
Følgende tabel over logfiler beskriver, hvilke komponenter der skriver til dem:
...
Logfilnavn
...
Indhold
...
audit.log
...
btr_service.log
...
Applikationslog for servicen, som indeholder de vigtigste systemhændelser.
Root: WARN
org.springframework.core: INFO
dk.sundhedsdatastyrelsen.livstestamente: INFO
...
på samme måde for begge jobs):
| Code Block |
|---|
{"lastException":"An error occurred querying v2_Person_Simplified between 2022-09-26T11:06:47Z and 2022-09-26T11:11:29Z","timeOfLastExecution":"2023-09-26 13:11:29","lastExecutionSucceeded":"false"} |
HTTP statuskode
Status og alarm-siderne returnerer følgende HTTP statuskoder afhængig af servicens status:
- 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 btr eller stm 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.
Alle logfiler placeres i standalone/log i Wildfly.
Alle logs benytter en rolling file appender, og indeholder derfor et postfix i filnavnet, der ikke er præsenteret i nedenstående.
Følgende tabel over logfiler beskriver, hvilke komponenter der skriver til dem:
Logfilnavn | Indhold |
|---|---|
| accesshandler.log | Log for accesshandler-biblioteket. |
| access.log | Access-log. |
audit.log | Auditlog. Indeholder logning af, hvem der har kaldt, hvilken SOAP-action der blev kaldt, hvilken person der blev kaldt for, hvordan der blev kaldt (DGWS/IDWS) og hvornår der blev kaldt. |
btr_service.log | Applikationslog for servicen, som indeholder de vigtigste systemhændelser. Root: WARN |
| nsp-kafka.log | Log for kafka-produceren, som står for skrivning til MinLog. |
| nsputil-sla-btr.log | SLA-log. Indeholder SLA-logninger for alle kald på servicen. Indeholder desuden SLA-logninger for servicens kald til MinLog. |
| server.log | Log for Wildfly-serveren. |
Auditlog
Der er i BTR fem kategorier af audit logs; cpr, livstestamente, behandlingstestamente, aktør og cpr validering
Følgende tabeller viser hvilke kategorier der audit logges for hver operation i BTR.
Livstestamenteregistret
| Operation | Kontekst | Kategorier |
|---|---|---|
| UpdateLivingWill | updateLivingWill | livstestamente, aktør, cpr validering |
| DeleteLivingWill | deleteLivingWill | cpr, aktør, cpr validering |
| GetLivingWill | getLivingWill | livstestamente, aktør, cpr validering |
| HasLivingWill | hasLivingWill | cpr, aktør, cpr validering |
Behandlingstestamenteregistret
| Operation | Kontekst | Kategorier |
|---|---|---|
| CreateTreatmentWill | createTreatmentWill | behandlingstestamente, aktør, cpr validering |
| UpdateTreatmentWill | updateTreatmentWill | behandlingstestamente, aktør, cpr validering |
| DeleteTreatmentWill | deleteTreatmentWill |
Auditlog
Der er i BTR fem kategorier af audit logs; cpr, livstestamente, behandlingstestamente, aktør og cpr validering
Følgende tabeller viser hvilke kategorier der audit logges for hver operation i BTR.
Livstestamenteregistret
| cpr, aktør, cpr validering |
| GetTreatmentWill |
| getTreatmentWill |
| behandlingstestamente, aktør, cpr validering |
| HasTreatmentWill |
| hasTreatmentWill | cpr, aktør, cpr validering |
Behandlingstestamenteregistret version 2
| Operation | Kontekst | Kategorier |
|---|---|---|
| CreateTreatmentWill | createTreatmentWill | behandlingstestamente, aktør, cpr validering |
| UpdateTreatmentWill | updateTreatmentWill | behandlingstestamente, aktør, cpr validering |
| DeleteTreatmentWill | deleteTreatmentWill | cpr, aktør, cpr validering |
| GetTreatmentWill | getTreatmentWill | behandlingstestamente, aktør, cpr validering |
| HasTreatmentWill | hasTreatmentWill | cpr, aktør, cpr validering |
...
| UpgradeToTreatmentWill | ||
| Operation | Kontekst | Kategorier |
|---|---|---|
| CreateTreatmentWill | createTreatmentWill | behandlingstestamente, aktør, cpr validering |
| UpdateTreatmentWill | updateTreatmentWill | behandlingstestamente, aktør, cpr validering |
| DeleteTreatmentWill | deleteTreatmentWill | cpr, aktør, cpr validering |
| GetTreatmentWill | getTreatmentWill | behandlingstestamente, aktør, cpr validering |
| HasTreatmentWill | hasTreatmentWill | cpr, aktør, cpr validering |
| UpgradeToTreatmentWill | upgradeToTreatmentWill | behandlingstestamente, aktør, cpr validering |
| GetTreatmentWillWithOnlyForcedTreatment | getTreatmentWillWithOnlyForcedTreatment | behandlingstestamente, aktør, cpr validering |
Følgende tabeller viser hvad der audit logges for hver af de fem kategorier.
cpr
| upgradeToTreatmentWill | behandlingstestamente, aktør, cpr validering | |
| GetTreatmentWillWithOnlyForcedTreatment | getTreatmentWillWithOnlyForcedTreatment | behandlingstestamente, aktør, cpr validering |
Følgende tabeller viser hvad der audit logges for hver af de fem kategorier.
cpr
| Komponent | Kontekst | Type | Nøgle | Information |
|---|---|---|---|---|
| BTR | (afhængig af operation) | Personlig | cpr | CPR på borgeren |
livstestamente
| Komponent | Kontekst | Type | Nøgle | Information |
|---|---|---|---|---|
| BTR | (afhængig af operation) | Ikke Personlig | pid | ID på livstestamente |
| BTR | (afhængig af operation) | Personlig | cpr | CPR på borgeren |
| BTR | (afhængig af operation) | Følsomme | no-life-prolonging-if-dying | noLifeProlongingIfDying feltet på livstestamente |
| BTR | (afhængig af operation) |
...
| Følsomme | no-life-prolonging-if-severely-degraded | noLifeProlongingIfSeverelyDegraded feltet på livstestamente |
behandlingstestamente
| Komponent | Kontekst | Type | Nøgle | Information |
|---|---|---|---|---|
| BTR | (afhængig af operation) | Ikke Personlig | pid |
| ID på behandlingstestamente | ||||
| BTR | (afhængig af operation) | Personlig | cpr | CPR på borgeren |
| BTR | (afhængig af operation) |
| Følsomme | no-life-prolonging-if-dying | noLifeProlongingIfDying feltet på behandlingstestamente | ||
| BTR | (afhængig af operation) | Følsomme | no-life-prolonging-if-dying-acceptance-needed | noLifeProlongingIfDying.acceptanceNeeded feltet på |
| behandlingstestamente | ||||
| BTR | (afhængig af operation) | Følsomme | no-life-prolonging-if-severely-degraded | noLifeProlongingIfSeverelyDegraded feltet på |
| behandlingstestamente |
behandlingstestamente
| BTR | (afhængig af operation) | Følsomme | no-life-prolonging-if-severely-degraded-acceptance-needed | noLifeProlongingIfSeverelyDegraded.acceptanceNeeded feltet på behandlingstestamente | Komponent | Kontekst | Type | Nøgle | Information|
|---|---|---|---|---|---|---|---|---|---|
| BTR | (afhængig af operation) | Ikke Personlig | pid | Følsomme | no-life-prolonging-if-severe-pain | noLifeProlongingIfSeverePain feltet ID på behandlingstestamente | |||
| BTR | (afhængig af operation) | Personlig | cpr | Følsomme | no-life-prolonging-if-severe-pain-acceptance-needed | noLifeProlongingIfSeverePain.acceptanceNeeded feltet på behandlingstestamenteCPR på borgeren | |||
| BTR | (afhængig af operation) | Følsomme | no-lifeforced-prolongingtreatment-if-dyingincapable | noLifeProlongingIfDying noForcedTreatmentIfIncapable feltet på behandlingstestamente | |||||
| BTR | (afhængig af operation) | Følsomme | no-lifeforced-prolongingtreatment-if-dyingincapable-acceptance-needed | noLifeProlongingIfDyingnoForcedTreatmentIfIncapable.acceptanceNeeded feltet på behandlingstestamente |
aktør
| Komponent | Kontekst | Type | Nøgle | Information |
|---|---|---|---|---|
| BTR | (afhængig af operation) |
| Personlig |
| actor-cpr | CPR på aktør |
| BTR | (afhængig af operation) |
| Personlig | actor-firstname | Fornavn på aktør | |
| BTR | (afhængig af operation) |
| Personlig |
| actor-lastname | Efternavn på aktør |
| BTR | (afhængig af operation) |
| Personlig |
| actor-usertype | Typen af aktør |
| BTR | (afhængig af operation) |
| Personlig |
| actor- |
| authorisation-number | Autorisationsnummer på aktør |
| BTR | (afhængig af operation) |
| Personlig |
| actor- |
aktør
| education-code | Uddannelseskode på aktør | ||||||||
| BTR | (afhængig af operation) | Personlig | actor-organisation-id | Organisations ID på aktør | Komponent | Kontekst | Type | Nøgle | Information|
|---|---|---|---|---|---|---|---|---|---|
| BTR | (afhængig af operation) | Personlig | actor-organisation-id-cprsource | Typen af organisations IDCPR på aktør | |||||
| BTR | (afhængig af operation) | Personlig | actor-firstname | Fornavn på aktør | |||||
| BTR | (afhængig af operation) | Personlig | actor-lastname | Efternavn på aktør | |||||
| BTR | (afhængig af operation) | Personlig | actor-usertype | Typen af aktør | |||||
| BTR | (afhængig af operation) | Personlig | actor-authorisation-number | Autorisationsnummer på aktør | |||||
| BTR | (afhængig af operation) | Personlig | actor-education-code | Uddannelseskode på aktør | |||||
| BTR | (afhængig af operation) | Personlig | actor-organisation-id | Organisations ID på aktør | |||||
| BTR | (afhængig af operation) | Personlig | actor-organisation-id-source | Typen af organisations ID | |||||
| BTR | (afhængig af operation) | Personlig | actor-organisation-name | Organisationsnavn på aktør |
cpr validering
Følgende logges kun hvis validerings mode er sat til WARNING.
| actor-organisation-name | Organisationsnavn på aktør |
cpr validering
Følgende logges kun hvis validerings mode er sat til WARNING.
| Komponent | Kontekst | Type | Nøgle | Information |
|---|---|---|---|---|
| BTR | validateCpr | Personlig | cpr-does-not-exist | Medsendt CPR nummer (hvis det ikke findes i CPR register) |
| BTR | validateCpr | Personlig | cpr-inactive | Medsendt CPR nummer (hvis det er inaktivt) |
Minlog
Der er i BTR 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).
Livstestamenteregistret
| Operation / Brugertype | Borger | Sundhedsfaglig | System bruger | Admin bruger |
|---|---|---|---|---|
| UpdateLivingWill | x | x | x | |
| DeleteLivingWill | x | x | x | |
| GetLivingWill | x | x | x | |
| HasLivingWill |
Behandlingstestamenteregistret
| Operation / Brugertype | Borger | Sundhedsfaglig | System bruger | Admin bruger |
|---|---|---|---|---|
| CreateTreatmentWill | x | x | x | |
| UpdateTreatmentWill | x | x | x | |
| DeleteTreatmentWill | x | x | x | |
| GetTreatmentWill | x | x | x | |
| HasTreatmentWill |
Slettejob
Servicens slettejob bliver afviklet vha. en udstillet RestController, som kaldes vha. simpelt HTTP GET kald.
Dette gøres for at sikre afviklingen af slettejob i flere-node drift, hvor en loadbalancer sørger for fordeling af kald til bagvedliggende servere.
...
curl <server>/ltr-btr-operations/ltr-slettejob/start
og BTR:
curl <server>/ltr-btr-operations/btr-slettejob/start
Slettejobbet skal for LTR aktiveres hver dag, hvert 15. minut mellem 8.05-16.05 - startende kl. 8.05
Slettejobbet skal for BTR aktiveres hver dag, hvert 15. minut mellem 8.10-16.10 - startende kl. 8.10
...