Page History
...
Projektet bygges med Maven og kræver Java 8 samt en MariaDB-installation for at kunne afvikle unit-tests.Udover normalt tilgængelige Maven dependencies, afhænger projektet også af interne artefakter. Hvis disse artefakter ikke er udgivet (released) i den påkrævede version i NSP's Nexus repository, skal man selv udtjekke og bygge dem fra
| Info |
|---|
Alle filer der refereres til ligger sammen med projektets kildekode i NSP's Subversion |
...
. Referencer til stier er relative med udgangspunkt i projektets rodmappe. |
Ændringslog
- cpr-subscriber (Maven identifier: dk.sds:cprsubscriber)
For at bygge disse interne artefakter, henvises der til artefakternes dokumentation.
| Info |
|---|
Alle filer der refereres til ligger sammen med projektets kildekode i NSP's Subversion. Referencer til stier er relative med udgangspunkt i projektets rodmappe. |
Ændringslog
Version
Dato
Ændring
Ansvarlig
Version | Dato | Ændring | Ansvarlig |
|---|
1.0.1 | 2018-08-15 | Initialt dokument | Trifork |
| 1.0.2 | 2018-08-31 | Ny release | Trifork |
| 1.0.3 | 2018-09-06 | Endpoints ændret fra /ltr-btr til /btr | Trifork |
| 1.0.4 | 2018-09-11 | Ændret databasedriver til MySQL | Trifork |
| 1.0.6 | 2018-10-15 | Tilføjelse af tre SQL-scripter | Trifork |
| 1.0.12 | 2019-08-19 | Opdateret default value for property "minlog.read-activity-text.ltr" og "minlog.read-activity-text.btr". Tilføjet to SQL-scripter. | Trifork |
| 1.0.14 | 2019-25-09 | Ajourført | Trifork |
| 1.1.3 | 2020-05-26 | Opdateret properties til slettejob | KvalitetsIT |
| 1.1.7 | 2021-09-06 | Opdateret ifm. udfasning af dgws/idws-proxy. | KvalitetsIT |
| 1.1.8 | 2021-10-12 | Opdateret ifm. udfasning af btr-snitflade med accept fra pårørende, værge eller fremtidsfuldmægtig for uafvendeligt døende | KvalitetsIT |
| 1.1.9 | 2021-10-25 | Opdateret ifm inaktive cpr numre afvises | KvalitetsIT |
| 1.1.10 | 2022-10-18 | Tilføjet minlog.read-activity-text-with-only-forced-treatment.btr | KvalitetsIT |
| 1.1.11 | 2022-10-25 | TIlføjet cprexists.minage | KvalitetsIT |
Byggevejledning
For at bygge projektet og dets deployables (war-filer) uden at køre unit-tests og integrationstests, anvendes følgende Maven kommando:
mvn clean install -DskipTestsProjektets deployables ender i target-mappen under de respektive moduler.
Afvikling af unit-tests
| 1.1.33 | 2023-11-09 | SDS-6387: omlægning af slettejob | KvalitetsIT |
| GIT | 2024-07-21 | SDS-7326: BTR - oprydningsjob skal tilpasses (cprexists er omdøbt til personInformation) | KvalitetsIT |
Byggevejledning
For at bygge projektet og dets deployables (war-filer) uden at køre unit-tests og integrationstests, anvendes følgende Maven kommando:
mvn clean install -DskipTestsProjektets deployables ender i target-mappen under de respektive moduler.
Afvikling af unit-tests
For at afvikle projektets unit-tests, skal For at afvikle projektets unit-tests, skal en MariaDB-database-server være tilgængelig.
...
Herunder beskrives servicens tilgang til database samt oprettelse af tabeller og views.
Tilgang til database
Servicen består af en database, der både indeholder data for Livstestamenteregistret og for Behandlingstestamenteregistret. Derudover afhænger den af adgang til et view i en (replikeret) stamdata-database.og for Behandlingstestamenteregistret.
Servicen konfigureres med 1 datasource, som tilgår databasen vha. separat specificerede brugere.
En bruger skal give adgang til databasen, og den skal være tildelt følgende rettigheder på databasen:
- Ved normal drift i produktion: SELECT, INSERT, UPDATE, DELETE
- Yderligere nødvendige rettigheder ved databaseoprettelse og migreringer: CREATE, DROP, ALTER
brugere.
En bruger skal give adgang til databasen, og den Databasebrugeren, der tilgår stamdata-view'et, skal være tildelt følgende rettigheder på databasen:
- Ved normal drift i produktion: SELECT, INSERT, UPDATE, DELETE
- Yderligere nødvendige rettigheder ved databaseoprettelse og migreringer: CREATE VIEW, DROP, ALTER
Oprettelse af database og tabeller
Datamodellen styres vha. inkrementelle SQL-scripter, der kan findes under compose/database/db/migration. De er inddelt i 2 undermapper:
- btr: indeholder scripts til at køre på servicens Livstestamenteregister-database og Behandlingstestamenteregister-databasestm: indeholder scripts til at køre på en (replikeret) stamdata-database.-database og Behandlingstestamenteregister-database
| Info |
|---|
Scripts er udformet til at blive kørt med databasemigreringsværktøjet Flyway, men dette er kun aktiveret under afvikling af unit-tests, da dette ikke ønskes anvendt i produktion. |
I produktion anvendes scripterne manuelt og skal køres på databasen i inkrementel rækkefølge baseret på versionsnummeret i filnavnet (først V1__(...).sql, dernæst V2__(...).sql, osv.). Hvert script må aldrig køres mere end én gang; der gælder dog en undtagelse for ikke-versionerede scripter, hvis filnavne begynder med R, som står for Repeatable. Disse Repeatable scripter skal køres hver gang deres indhold (checksum) er blevet ændret, men de må først køres efter alle versionerede scripter er blevet kørt.
Ved initial installation af servicen vil det således være følgende scripter, der skal køres i den nedenstående rækkefølge:
...
- btr/V1__create_LivingWill.sql
- btr/V2__create_PropertiesLivingWill.sql
- btr/V3__create_TreatmentWill.sql
- btr/V4__create_PropertiesTreatmentWill.sql
- btr/V5__alter_add_NoForcedTreatmentIfIncapable.sql
- btr/V6__migrate_RelativeAcceptanceRequired_to_AcceptanceNeeded.sql
- btr/V7__add_AcceptanceNeeded_for_all.sql
- btr/V8__add_PersonIdentifier_index.sql
- btr/V9__add_PersonIdentifier_index.sql
(Replikeret) Stamdata-database
- stm/R__create_v2_Person_Simplified_view.sql
...
- _
...
- _
...
- add_PersonIdentifier_index.sql
- btr/V9__add_PersonIdentifier_index.sql
Deployment
Komponenten deployes vha. NSP's platform Docker image og konfigurationsfiler mountes i containeren som angivet i projektets Compose-filer.
...
Herunder beskrives properties i ltr-btr-service-wildfly komponentens konfigurationsfiler.
application.properties
-btr-service-wildfly komponentens konfigurationsfiler.
application.properties
| Property | Beskrivelse | Default |
|---|---|---|
| datasource.btr.jndi-name | Angiver navnet på en JNDI datasource til Behandlingstestamenteregister-databasen | java:jboss/datasources/BTR-DS |
| dcc.endpoint.ltr |
| Angiver det endpoint, som DCC'en skal kalde for |
| Livstestamenteregistret. Dette kommer til at fremgå af den XML, der returneres i /dksconfig. Bør ændres før produktion. | http://test1.fsk.netic.dk:8080/btr/ |
| ltr |
| dcc.endpoint |
| .btr | Angiver |
| det endpoint, som DCC'en skal kalde for Behandlingstestamenteregistret. Dette kommer til at fremgå af den XML, der returneres i /dksconfig . Bør ændres før produktion. | http://test1.fsk.netic.dk:8080/btr/btr |
| minlog.read |
| -activity-text.ltr | Angiver den tekst der registreres i MinLog, når der bliver |
| læst Livstestamente-data for et CPR-nummer. |
| L\u00e6sning af Livstestamente |
| minlog. |
| read-activity-text.btr | Angiver den tekst der registreres i MinLog, når der bliver |
minlog.delete-activity-text.ltr
| læst Behandlingstestamente-data for et CPR-nummer. |
| L\u00e6sning af Behandlingstestamente |
| minlog. |
| read-activity-text-with-only-forced-treatment.btr | Angiver den tekst der registreres i MinLog, når der bliver |
| læst Behandlingstestamente-data som kun indeholder tvang ved somatisk behandling for et CPR-nummer. |
minlog. |
create-activity-text. |
btr | Angiver den tekst der registreres i MinLog, når der bliver |
| oprettet Behandlingstestamente-data for et CPR-nummer. |
| Oprettelse af |
| Behandlingstestamente |
minlog. |
delete-activity-text. |
ltr | Angiver den tekst der registreres i MinLog, når der bliver |
| slettet Livstestamente-data for et CPR-nummer. |
| Sletning af |
Angiver det præcise tidspunkt (ISO 8601) fra hvornår mulighed for oprettelser aktiveres for Behandlingstestamenteregistret. Hvis denne er null eller ikke er mulig at parse som et tidspunkt, vil mulighed for oprettelse alligevel være muligt, og en advarsel vil blive logget ved opstart.
Hvis oprettelser og opdateringer deaktiveres for Behandlingstestamenteregistret, vil integrationstestene fejle.
2
Valideringsniveau for CPR validering
Eksempel: WARNING, REJECT, OFF
URL for CPR exist service
Eksempel: http://test1-cnsp.ekstern-test.nspop.dk:8080/stamdata-cprexists
Konfiguration af client pool til kald af CPRExists service
Konfiguration af client pool til kald af CPRExists service
| Livstestamente | ||
minlog.delete-activity-text.btr | Angiver den tekst der registreres i MinLog, når der bliver slettet Behandlingstestamente-data for et CPR-nummer. | Sletning af Behandlingstestamente |
minlog.update-activity-text.ltr | Angiver den tekst der registreres i MinLog, når der bliver opdateret Livstestamente-data for et CPR-nummer. | Opdatering af Livstestamente |
minlog.update-activity-text.btr | Angiver den tekst der registreres i MinLog, når der bliver opdateret Behandlingstestamente-data for et CPR-nummer. | Opdatering af Behandlingstestamente |
minlog.citizen.user.title | Værdi der registreres som Role i MinLog, når en borger opretter, opdaterer, læser eller sletter egne data. | borger |
minlog.healthcareprofessional.unknown.user.title | Værdi der registreres som Role i MinLog, hvis en sundhedsfagligs rolle ikke kan bestemmes ud fra Uddannelseskode eller National Rolle | unverified role |
| btr.open-date | Angiver det præcise tidspunkt (ISO 8601) fra hvornår mulighed for oprettelser aktiveres for Behandlingstestamenteregistret. Hvis denne er null eller ikke er mulig at parse som et tidspunkt, vil mulighed for oprettelse alligevel være muligt, og en advarsel vil blive logget ved opstart. Hvis oprettelser og opdateringer deaktiveres for Behandlingstestamenteregistret, vil integrationstestene fejle. | 2018-06-01T00:00:00+01:00 |
| personInformation.validationlevel | Valideringsniveau for CPR validering Eksempel: WARNING, REJECT, OFF | |
| personInformation.url | URL for CPR exist service Eksempel: http://test1-cnsp.ekstern-test.nspop.dk:8080/stamdata-personInformation | null |
| personinformation.error.tolerance | Antal fejl der tolereres fra PersonInformation servicen før /health endpointet for slettejobbet angiver servicen som ikke tilgængelig. Default værdi er 0. | 50 |
| whitelisted.level3.cvrs | Komma separeret liste af cvr numre, der må kalde servicen med niveau 3 id kort | |
| allowed.idws.audience | Det tilladte audience på indkommende idws requests | https://fsk |
| nas.app.name | Applikationsnavn til sla-logning ved NAS-kald | treatmentwillregister |
| nas.app.shortname | Kort applikationsnavn til sla-logning ved NAS-kald. | btr |
| nas.fail.theshold | Grænse for hvor mange gange NAS-kald må fejle i træk, før NAS opfattes som usund. | 1 |
| nas.connect.timeout.millis | Grænse for hvor lang tid det må tage at oprette forbindelse til NAS (i ms.). | 10000 |
| nas.read.timeout.millis | Grænse for hvor lang tid det må tage at modtage svar fra NAS (i ms.). | 10000 |
| nas.max.total.connections | Maksimalt antal samtidige NAS-forbindelser. | 200 |
| nas.default.max.connections.per.route | Maksimalt antal NAS-forbindelser per rute. | 20 |
| nas.service.url | NAS Endpoint | http://test1.ekstern-test.nspop.dk:8080/nas2/notificationbroker/service |
| nas.topic.livingwillnotification | NAS topic ved opdateringer af livstestamente | http://sundhedsdatastyrelsen.dk/LivingWill/2022/05/05:LivingWillUpdated |
| nas.topic.treatmentwillnotification | NAS topic ved opdateringer af behandlingstestamente | http://sundhedsdatastyrelsen.dk/TreatmentWill/2022/05/05 |
| :TreatmentWillUpdated | ||
| nas.idcard.subject.id.type | Subjecttype for IDKort til NAS-kald. | medcom:cvrnumber |
| nas.idcard.subject.id |
| SubjectId for IDKort til NAS-kald. |
| 46837428 |
| nas.idcard.subject |
| .name | Subjectname for IDKort til NAS-kald. | Funktionssignatur til testmiljø (funktionscertifikat) |
| nas.idcard.level | Sikkerhedsniveau for IDKort til NAS-kald. | 3 |
| nas.idcard.system.name | Systemnavn i |
| IDKort til NAS-kald. |
| itsystem |
| nas. |
| sts.endpoint | Endpointet, hvor Minspærring skal trække sit SOSI IDkort på baggrund af sts.keystore | http://test2.ekstern-test.nspop.dk:8080/sts/services/NewSecurityTokenService |
| nas.sts.test.mode | Boolsk værdi, der angiver om der anvendes test- eller produktions SOSIFederation | true |
| nas.sts.keystore | sti til keystore, der indeholder certifikat til at trække Idkort |
| til NAS-kald. |
| Statens_Serum_Institut_FOCES.jks |
| nas.sts. |
| keystore.password | Password til sts.keystore |
| n/a | ||
| jobs.delete.max.duration | Angiver den maksimale udførelsestid for baggrundsjobbet. Angives som Duration i ISO-8601 formattet. Default værdien er på 20 sekunder. | PT20S |
| desired.execution.duration | ||
| deletion.save.deceased | Angiver period på, hvor længe en person minimum skal være død for at blive slettet af slettet jobbet. | P12M |
| deletion.jobs.batchSize | Angiver den maksimale antal cpr numre, som behandles per gang | 500 |
log4j.xml
Konfigurerer logning for servicen.
...
Filnavn når deployet | Beskrivelse | Kilde |
|---|---|---|
btr-service.war | LTR-BTR servicen | ltr-btr-service-wildfly-<version>.war |
ltr-btr-operations.war | LTR-BTR baggrundsjob | ltr-btr-operations.war |
Se driftsvejledningen for yderligere information.
...