Versions Compared

Key

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

...

I produktion består Behandlingstestamenteregister-servicen af en komponente følgende to komponenter (war-arkiv), der er deployet på en Wildfly applikationsserver: 

  • ltr-btr-service-wildfly: Denne afhænger af adgang til 2 MariaDB datasources. Desuden afhænger den af at kunne kalde (skrive til) MinLog-servicen.
  • ltr-btr-operations: De to baggrundsjobs der hører til Behandlingstestamenteregister-servicen. Denne afhænger også af adgang til 2 MariaDB datasources.

Ændringslog

Version

Dato

Ændring

Ansvarlig

1.0.1

2018-08-17

Initialt dokument

Trifork

1.0.22018-08-31Ny releaseTrifork
1.0.32018-09-06Endpoints ændret fra /ltr-btr til /btrTrifork
1.0.42018-11-23Tilføjet admin endpointsTrifork
1.0.142019-25-09AjourførtTrifork
1.1.02020-03-24TreatmentWillV2 med noLifeProlongingIfDying uden angivelse af yderligere acceptKvalitetsIT
1.1.12020-03-30Afvisning af yderligere accept for uafvendeligt døende på TreatmentWill-snitfladeKvalitetsIT
1.1.32020-05-26Opdateret slettejobKvalitetsIT
1.1.72021-09-06Opdateret ifm. udfasning af dgws/idws-proxy.KvalitetsIT
1.1.82021-10-12Opdateret ifm. udfasning af btr-snitflade med accept fra pårørende, værge eller fremtidsfuldmægtig for uafvendeligt døendeKvalitetsIT
1.1.92021-10-26Opdateret ifm inaktive cpr numre afvisesKvalitetsIT
1.1.102022-03-19Genintroduceret btr-snitfladeKvalitetsIT
1.1.112023-12-13SDS-6387: BTR - oprydningsjob genbesøgKvalitetsIT

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>/btr/isAlive

Status-side for servicen. Viser om servicen fungerer korrekt, 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/syncjob/ltr-slettejob/start
Slettejob for LTR startes ved kald af denne url, og personer, som har været døde i et år eller mere, slettes fra LivingWill tabellen. Returnerer tidspunkt for modtaget request og altid http status kode 200. Eventuelle fejl skrives i loggen.
<server>/ltr-btr-operations/syncjob/ltr-slettejob/status

Oplysninger om slettejob

for LTR

på den pågældende server. Oplysningerne gemmes i hukommelsen på serveren og

fosvinder

forsvinder ved genstart.

Der

returneres http status kode 200 og følgende data: tidspunkt

kan returneres følgende fra statussnitfladen:

200: Komponenten fungerer og kan anvendes.
5xx: Komponenten melder at den ikke kan anvendes.

Der returneres desuden følgende oplysninger i JSON format:

  • Tidspunkt for sidste afvikling af slettejob på serveren (hvis værdien findes ellers tom værdi)
, status
  • Status for sidste afvikling på serveren (true=ingen fejl, false=fejl, tom tekst=ikke afviklet)
og
  •  
  • Evt. fejlbesked ved sidste afvikling (udeladt hvis
findes ellers er værdien udeladt
  • kørslen er gået godt)
<server>/ltr-btr-operations/syncjob/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 fra TreatmentWill tabellen. Returnerer tidspunkt for modtaget request og altid http status kode 200. Eventuelle fejl skrives i loggen.
<server>/ltr-btr-operations/syncjob/btr-slettejob/status

Oplysninger om slettejob

for BTR

på den pågældende server. Oplysningerne gemmes i hukommelsen på serveren og

fosvinder

forsvinder ved genstart.

Der

returneres http status kode 200 og følgende data: tidspunkt

kan returneres følgende fra statussnitfladen:

200: Komponenten fungerer og kan anvendes.
5xx: Komponenten melder at den ikke kan anvendes.

Der returneres desuden følgende oplysninger i JSON format:

  • Tidspunkt for sidste afvikling af slettejob på serveren (hvis værdien findes ellers tom værdi)
, status
  • Status for sidste afvikling på serveren (true=ingen fejl, false=fejl, tom tekst=ikke afviklet)
og
  •  
  • Evt. fejlbesked ved sidste afvikling (udeladt hvis
findes ellers er værdien udeladt
  • kørslen er gået godt)

Daglig drift

Servicen kræver ingen daglig vedligeholdelse udover sædvanlig systemovervågning.

...

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:

curl <server>/ltr-btr-operations/ltr-slettejob/status

og for BTR:

curl <server>/ltr-btr-operations/btr-slettejob/status

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:

...

Følgende tabeller viser hvad der audit logges for hver af de fem kategorier.

cpr

KomponentKontekstTypeNøgleInformation
BTR(afhængig af operation)PersonligcprCPR på borgeren

livstestamente

KomponentKontekstTypeNøgleInformation
BTR(afhængig af operation)Ikke PersonligpidID på livstestamente
BTR(afhængig af operation)PersonligcprCPR på borgeren
BTR(afhængig af operation)Følsommeno-life-prolonging-if-dyingnoLifeProlongingIfDying feltet på livstestamente
BTR(afhængig af operation)Følsommeno-life-prolonging-if-severely-degradednoLifeProlongingIfSeverelyDegraded feltet på livstestamente

...

KomponentKontekstTypeNøgleInformation
BTRvalidateCprPersonligcpr-does-not-existMedsendt CPR nummer (hvis det ikke findes i CPR register)
BTRvalidateCprPersonligcpr-inactiveMedsendt 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 / BrugertypeBorgerSundhedsfagligSystem brugerAdmin bruger
UpdateLivingWillxx
x
DeleteLivingWillxx
x
GetLivingWill
x
x
HasLivingWill



Behandlingstestamenteregistret

Operation / BrugertypeBorger

Slettejob

SundhedsfagligSystem brugerAdmin bruger
CreateTreatmentWillxx
x
UpdateTreatmentWillxx
x
DeleteTreatmentWillxx
x
GetTreatmentWill
x
x
HasTreatmentWill



Slettejob

Servicens slettejob Slettejob for hver service 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.

Driften vedligeholder en cron, som kalder slettejobbets url i et fast mønster vha. curl.

Følgende

...

parameter til styring af slettejobbet kan ændres i application.properties for LTR:

jobs.delete.

...

max

...

.

...

time=PT20S

og BTR:

jobs.delete.cpr-max-results.btrtime=25
jobs.delete.cpr-max-loops.btr=2

...

PT20S

Der er en max grænse for hvor lang tid jobbet må køre pr. gang og det kan angives her. Når jobbet har kørt den tid der er angivet, så stopper udførslen. Her efter kan jobbet kaldes igen og den vil fortsætte med processeringen hvor jobbet stoppede sidst.

Parameteren angives som en Duration i ISO-8601 format. Dvs. eksemplet viser 20 sekunder.

Kommando til kald af slettejob for LTR:

curl <server>/ltr-btr-serviceoperations/syncjob/ltr-slettejob/start

og BTR:

curl <server>/ltr-btr-service/syncjoboperations/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

Med mindre ovenstående parametre ændres, så vil slettejobbet behandle op til 1550 sletninger om dagen. (I gennemsnit er der 150 døde pr. døgn).

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.