Servicen udbydes af Sundhedsdatastyrelsen, Afdelingen for Sammenhængende Digital Sundhed (DIS), Sektion National Infrastruktur.
*Dokumentationen af NSP services og komponenter på NSPOP omfatter udelukkende NSP produktionsmiljøet og ikke NSP’s øvrige miljøer. Det er muligt at få information og indblik i tilstanden på et af de øvrige miljøer via de gængse kommunikationsveje.
2. Figur overblik over Service og sammenhænge
HTML
<iframe src="https://archi.nspop.dk/NSP/570928ca/views/id-03b4ed93-9dfb-4572-8e74-3c7fba4c15db.html" name="test" height="585" width="800">You need a Frames Capable browser to view this content.</iframe>
* Hver kasse i ovenstående diagram har en kort forklaring, som kommer frem i et nyt browservindue, når der klikkes på kassen.
3. Kort introduktion til service
Behandlingstestamenteregistret (BTR) er én applikation men udadtil to services, der håndterer data for henholdsvis livstestamenteregistreringer og behandlingstestamenteregistreringer. Begge services har operationer til registrering og udstilling af borgerens oplysninger i disse registre.
Det er kun muligt for en borger at have enten ét livstestamente eller ét behandlingstestamente, eller ingen af delene. Livstestamenteregistret er lukket for oprettelser og opdateringer pr. 1. januar 2019, og nu er kun udstilling og sletning af data muligt.
Brugerne tilgårservicen indirekte via Sundhed.dk , patientjournalsystemer, lægepraksissystemer osv. som integrerer til systemet. Herudover er det muligt at foretage opslag i BTR via Dokumentdelingsservicen (DDS), som videre anvender Fælles Stamkort (FSK). Opslaget via FSK returnerer alene information om, hvorvidt der findes data i BTR for en given person eller ej.
Scheduleringen af både DeleteLivingWillJob og DeleteTreatmentWillJob kan styres vha. en property, men applikationen kigger efter et forkert property-navn, hvilket medfører, at standardværdien (0 0 12 * * ?) altid anvendes.
Livstestamente til Behandlingstestamente-migreringskoden er ikke transaktionel, men da koden fjernes i næste release, er dette ikke aktuelt.
Migreringsfunktionaliteten til migrering af data fra det gamle register er ikke fuldt implementeret.
Servicens webservicer ("/ltr" og "/btr") virker ikke på Wildfly 8.2.1, men kun på Wildfly 8.2.0. Det skyldes at url-mapningen fejlagtigt er lavet på "/ltr/*" og "/btr/*", hvilket af uvisse årsager alligevel fungerer i Wildfly 8.2.0.
Valideringsfejl bliver fejlagtigt delt mellem requests.
Opgraderingsvejledning
N/A
Release 1.0.2
Ændringer
Ændring i intern logik: Migreringsfunktionalitet er fjernet fra Behandlingstestamenteregistret. I stedet skal CRUD metoder anvendes ved migrering som beskrevet i guiden til anvendere, og dette er også understøttet i forrige version.
Tilføjet validering: Der returneres nu en fejl, hvis der eksisterer et Livstestamente, når der oprettes et Behandlingstestamente og omvendt.
Ændring i XSD-schema: I TreatmentWill.xsd er alle 4 svar-elementer nu påkrævet, hvorimod kun 2 var før.
Properties omdøbt: flere konfigurations-properties er blevet omdøbt for at sikre korrekt og konsistent navngivning.
Fejlrettelse: Servicens webservicer ("/ltr" og "/btr") bliver nu mappet korrekt og virker således også på Wildfly 8.2.1 (virkede før kun på Wildfly 8.2.0).
Tilføjet integrationstest: tester om forward-only-filtret virker (der bliver tjekket at direkte kald på servicen returnerer HTTP 403).
Fejlrettelse: Valideringsfejl bliver ikke længere delt mellem requests.
Ændring i intern logik: Kald til servicen returnerer nu en fejl, hvis det interne kald til MinLog fejler.
Opgraderingsvejledning
Konfigurationsfilen application.properties skal opdateres.
Release 1.0.3
Ændringer
Endpoints er nu ændret fra /ltr-btr/... til /btr
Logfiler hedder nu btr_audit.log, btr_proxy.log, btr_service.log samt nsputil-sla-btr.log, så "ltr" ikke indgår
Konfigurationsfiler i etc-biblioteket er opdateret med ovennævnte ændringer
Opgraderingsvejledning
Følgende ændres:
application.properties skal opdateres
log4j2-wsproxy-ltr-btr.xml, proxyconfig-ltr-btr.xml samt wsproxy-ltr-btr.properties erstattes med log4j2-wsproxy-btr.xml, proxyconfig-btr.xml samt wsproxy-btr.properties
Proxy for btr-service deployes som btr.war i stedet for ltr-btr.war
Service deployes som btr-service.war i stedet for ltr-btr-service.war (for god ordens skyld, dog ikke strengt nødvendigt
Såfremt DCC og isAlive overvågning allerede er etableret med /lt-btr/ url'er, skal konfigurationen ændres til /btr/
Release 1.0.4
Ændringer
FSK-33 - Kompatibilitet med MySQL Connector/J
FSK-35 - Fejlrettelse til IDWS integrationstests
Release 1.0.5
Ændringer
Rettettelse til URL'er til XSD-filer i WSDL-filer
Opdateret cprsubscriber dependency til version 1.7 (indeholder performance fix af langsom SQL query)
Release 1.0.6
Ændringer
FSK-47: Ændringer i BTR: Tilføjet "noForcedTreatmentIfIncapable" spørgsmål til snitfladen, servicen og databasen.
FSK-48: Ændringer i BTR: Fjernet "relativeAcceptanceRequired"-elementet og tilføjet "acceptanceNeeded" som en attribut til alle 4 spørgsmål i snitfladen. Denne kan være "unset" eller indeholde 3 svarmuligheder; se Guide til anvendere. I eksisterende data hvor "RelativeAcceptanceRequired" er "true" bliver alle 4 "acceptanceNeeded" sat til "relativeAcceptanceRequired", når database-opgraderingen køres.
Der anvendes nu SoapAction i stedet for PayloadRoot til at mappe requests. Requests gennem DCC anvender allerede SoapAction, og denne ændring formodes derfor ikke at have nogen konsekvenser.
Opgraderingsvejledning
Database
Ændringer i BTR's database-schema medfører at databasen skal opgraderes vha. følgende SQL-scripter:
Se afsnittet "Oprettelse af database og tabeller" i Installationsvejledningen for yderligere information om servicens SQL-scripter.
Release 1.0.7
Ændringer
Tilføjet Admin UserType og endpoint
Ændret dependency scope for jaxb-impl til provided, så den ikke er bundled i war-filen, da den i stedet er tilgængelig i web-containeren. Dette fikser et memory leak i MinLog-klienten.
Opgraderingsvejledning
DGWS/IDWS Proxy-komponentens konfiguration af endpoint-mappings skal opdateres med nye admin-endpoints. Releasen indeholder derfor én opdateret konfigurationsfil:
Datetime-kolonner i databasen indeholder lokal tid i stedet for UTC. Problemet har eksisteret siden version 1.0.4 og skyldes at den anvendte version af MySQL-connector'en som standard, automatisk konverterer tid ud fra JVM'ens tidszone, før det anvendes i database-queries. Dette vil blive adresseret i en fremtidig release, hvor datetime-kolonner migreres til timestamp.
Release 1.0.8
Ændringer
Der tillades nu at livstestamenteregistreringer kan opdateres efter lukkedatoen er passeret. Kommentarer i konfigurationsfilen application.properties er opdateret, men ingen konfigurationsændring er nødvendig.
Tilføjet is-alive-tjek til Wildfly datasources (for at ensrette dem med ODR og SKR), men da disse kun er inkluderet som eksempler, er ingen konfigurationsændring nødvendig.
Fejlrettelser og forbedringer til migreringskomponenten.
Opgraderingsvejledning
Ændret konfigurationsfil for migreringskomponenten: log4j2.xml
Release 1.0.9
Ændringer
Opdateret DGWS/IDWS Proxy dependency version til 1.7.12 (denne indeholder et nyt testbruger certifikat)
Release 1.0.10
Ændringer
Opdateret DGWS/IDWS Proxy dependency version til 1.7.13 (omfatter SDS-3315 omkring indlæsning af konfiguration)
Release 1.0.11a
Ændringer
SDS-3116: Tilføjet et datagenerator program til brug ifm. performancetest.
Release 1.0.12
Ændringer
Opdateret wsproxy til 1.7.14.
SDS-3460: Rettet i wsproxy således at der ikke længere logges keystore password ved opstart. Desuden loggede SKR-komponenten også selv et password, hvilket også er også rettet.
SDS-3484: Rettet i wsproxy således at datetime i Timestamp elementet i Security-headeren overholder DGWS 1.0.1.
SDS-3649: MinLog initialiseres nu når applikationen startes i stedet for i en "synchronized" blok, hvilket løser et performanceproblem ved flertrådede forsøg på at tilgå MinLog.
Rettet danske bogstaver (æ, ø å) til unicode-værdier i default-værdier for MinLog-aktivitetstekst-properties eftersom ".properties"-filer normalt ikke gemmes i UTF-8.
SDS-3160: Som MinLog SessionId blev MessageID defineret af anvender anvendt. Der er nu rettet således, at hvis SessionId er længere end 46 tegn (det maksimalt tilladte i MinLog-servicen) anvendes i stedet SHA-1 værdien (altid 40 tegn).
SDS-3262: Tilføjet SQL index på PersonIdentifier-kolonner.
Opgraderingsvejledning
Der er tilføjet to nye inkrementelle SQL-scripter:
På Livstestamenteregister-databasen køres: ltr/V8__add_PersonIdentifier_index.sql
På Behandlingstestamenteregister-databasen køres: btr/V9__add_PersonIdentifier_index.sql
Release 1.0.14
Ændringer
Omstruktureret projektet til at blive bygget som Docker image for at understøtte NSP CI-miljø.
Rettet brugen af database-transaktioner. Da der anvendes to forskellige datasources, der begge kræver transaktioner, er der nu eksplicit defineret to forskellige Spring PlatformTransactionManager.
Opgraderingsvejledning
Komponenten skal idriftsættes vha. det nytilkomne Docker image og dertilhørende Compose-fil, der angiver mapning af konfigurationsfiler.
Der er ikke ændret på property-navne eller database-schemas. Dog er der tilføjet et "use <db-name>;"-statement øverst i alle SQL-scripter.
Maven kan stadig anvendes til at køre integrationstest mod den idriftsatte (i test) komponent.