Dette dokument dækker FGVHR-servicen. Der udstilles et enkelt komponent af typen SOAP Webservice og en af typen REST-service.
Type: SOAP Webservice
Filnavn: fgvhr.war
Url: <serverurl>/fgvhr
Status-url: <serverurl>/fgvhr/status
Status-url: <serverurl>/fgvhr-operations/status
Version-url: <serverurl>/fgvhr-operations/version
Grundlæggende konfiguration foregår ved redigering i filen fgvhr.properties. Den skal placeres i WildFly modul:
/pack/wildfly8/modules/dk/nsp/fgvhr/main/
Moduldefinitionen findes i kildekoden under:
/fgvhr-war/etc/modules/dk/nsp/fgvhr/configuration/main/module.xml
I fgvhr.properties kan følgende properties defineres:
Property | Beskrivelse | Påkrævet | Default værdi |
|---|---|---|---|
| dk.nsp.fgvhr.national.rolle | National rolle bruger skal have når der kaldes på admin-service. | Ja | |
| dk.nsp.fgvhr.datasource.jndi | Navn på jboss datasource (defineret i fgvhr-ds.xml) | Ja | |
| dk.nsp.fgvhr.validfrom.period.days | Hvornår er registrering af fravalg gyldig fra (antal dage) | Nej | 7 |
| dk.nsp.fgvhr.minimum.age | Minimumssalderen (år) for hvornår man kan registrere fravalg | Nej | 60 |
| personinformation.url | URL til PersonInformation servicen | Ja | |
| personinformation.errorcount.duration | Specificering af hvor lang tid tilbage der skal tælles fejl fra PersonInformation servicen (ifm. /status endpointet). Angives som duration i ISO-8601 formattet. | Nej | PT10M (10 minutter) |
| personinformation.error.tolerance | Antal fejl der tolereres fra PersonInformation servicen før /status endpointet angiver servicen som ikke tilgængelig. | Nej | 0 |
| dcc.endpoint.citizen | Angiver det endpoint, som DCC'en skal kalde for at ramme citizen-service. Dette kommer til at fremgå af den XML, der returneres i /dksconfig. | Ja | |
| minlog.get-activity-text | Tekst i Minlog ved læsning af fravalg | Ja | Læsning af Fravalg af genoplivning ved hjertestop register |
| minlog.register-activity-text | Tekst i Minlog ved oprettelse af fravalg | Ja | Oprettelse af Fravalg af genoplivning ved hjertestop register |
| minlog.delete-activity-text | Tekst i Minlog ved sletning af fravalg | Ja | Sletning af Fravalg af genoplivning ved hjertestop register |
| minlog.update-activity-text | Tekst i Minlog ved opdatering af fravalg | Ja | Opdatering af Fravalg af genoplivning ved hjertestop register |
| fgvhr.nas.notification.job.max.duration | Den tilladte varighed af jobbet. Angives som duration i ISO-8601 formattet; dog bør kun sekunder angives. | Nej | PT15S |
| fgvhr.nas.notification.job.batch.size | Antal rækker der behandles per kørsel af jobbet. | Nej | 500 |
| fgvhr.nas.notification.job.nas.bundle.size | Antal adviseringer der sendes til NAS af gangen per request. | Nej | 50 |
FGVHR anvender MinLogProvider til at registrere logninger i MinLog, og i den forbindelse skal Kafka properties for MinLog konfigureres.
| Property | Beskrivelse | Default værdi |
|---|---|---|
| kafka.producer.bootstrap.servers | Url til Kafka bootstrap-server. | kafka:9092 |
| kafka.producer.client.id | Id der anvendes af Kafka producere i løsningen. | FGVHRMinLog2-producer |
| kafka.producer.key.serializer | Serializer key for Kafka producer | org.apache.kafka.common.serialization.StringSerializer |
| kafka.producer.value.serializer | Serializer value for Kafka producer | org.apache.kafka.common.serialization.StringSerializer |
| kafka.topic | Navn på Kafka topic | FGVHR_TOPIC |
Log4j konfiguration for begge services findes i samme wildfly modul som servicekonfigurationen
Se yderligere opsætning i installationsvejledningen.
Der udstilles statussider, som kan tilgås fra adresserne i afsnittet Komponenter
Statussiderne returnerer enten:
Hvert servicekald medfører en ny indgang i auditloggen, som kan være udfyldt med følgende komponenter, afhængig af konteksten:
Komponent | Kontekst | Type | Nøgle | Information |
|---|---|---|---|---|
| FGVHR | registerConsent | Personlig | patient-id | Borgerens id |
| FGVHR | registerConsent | Personlig | patient-id-source | Id'ens kilde, fx "CPR" |
| FGVHR | registerConsent | Ikke personlig | actor-role | Aktørens rolle |
| FGVHR | registerConsent | Ikke personlig | actor-id | Aktørens id. Vil i praksis være det samme some patient-id. |
| FGVHR | registerConsent | Ikke personlig | actor-id-source | Id'ens kilde, fx "CPR" |
| FGVHR | registerConsent | Følsom | consent-status | Status på samtykke. Kan være "ACTIVE", "INACTIVE" eller "ENTERED-IN-ERROR". |
| FGVHR | registerConsent | Personlig | valid-from | Antal dage til hvornår samtykke træder i kraft |
| FGVHR | deleteConsent | Personlig | patient-id | Borgerens id |
| FGVHR | deleteConsent | Personlig | patient-id-source | Id'ens kilde, fx "CPR" |
| FGVHR | deleteConsent | Ikke personlig | actor-role | Aktørens rolle |
| FGVHR | deleteConsent | Ikke personlig | actor-id | Aktørens id. Vil i praksis være det samme some patient-id. |
| FGVHR | deleteConsent | Ikke personlig | actor-id-source | Id'ens kilde, fx "CPR" |
| FGVHR | deleteConsent | Følsom | consent-status | Status på samtykke. Kan være "ACTIVE", "INACTIVE" eller "ENTERED-IN-ERROR". |
| FGVHR | getConsent | Personlig | patient-id | Borgerens id |
| FGVHR | getConsent | Personlig | patient-id-source | Id'ens kilde, fx "CPR" |
| FGVHR | updateConsent | Personlig | patient-id | Borgerens id |
| FGVHR | updateConsent | Personlig | patient-id-source | Id'ens kilde, fx "CPR" |
| FGVHR | updateConsent | Ikke personlig | actor-role | Aktørens rolle |
| FGVHR | updateConsent | Ikke personlig | actor-id | Aktørens id. Vil i praksis være det samme some patient-id. |
| FGVHR | updateConsent | Ikke personlig | actor-id-source | Id'ens kilde, fx "CPR" |
| FGVHR | updateConsent | Følsom | consent-status | Status på samtykke. Kan være "ACTIVE", "INACTIVE" eller "ENTERED-IN-ERROR". |
| FGVHR | updateConsent | Personlig | valid-from | Antal dage til hvornår samtykke træder i kraft |
| FGVHR | updateConsent | Personlig | citizen-created-date | Hvornår borgeren har underskrevet blanketten |
{
"time": "2023-09-07T07:32:59.492Z",
"category": "dk.sds.nsp.audit.log.fgvhr",
"audit": {
"timestamp": "2023-09-07T09:32:59.429+02:00",
"components": [
{
"component": "FGVHR",
"contexts": [
{
"context": "getConsent",
"information": [
{
"key": "patient-id",
"type": "RPI",
"value": "0108501234"
},
{
"key": "patient-id-source",
"type": "RPI",
"value": "CPR"
}
]
}
]
}
]
},
"access": {
"code": 200,
"duration": 17,
"httpHeaders": {
"Content-Type": "text/xml;charset=UTF-8",
"SOAPAction": "GetConsent"
},
"httpHost": "localhost",
"idCardAttributes": {
"X509Subject": "CN=NSP Test Service Consumer,SERIALNUMBER=UI:DK-O:G:8d3fa047-c77e-47e4-bdd2-e91488610ce6,O=Sundhedsdatastyrelsen,2.5.4.97=NTRDK-33257872,C=DK",
"dk:gov:saml:attribute:AssuranceLevel": "3",
"dk:gov:saml:attribute:CprNumberIdentifier": "0511804817",
"dk:gov:saml:attribute:SpecVer": "DK-SAML-2.0"
},
"method": "POST",
"path": "/fgvhr/20230601/service",
"query": "",
"port": 8080,
"protocol": "http",
"reqSize": 12257,
"resSize": 642,
"soapHeaders": {
"Audience": "https://fsk",
"Issuer": "TEST1-NSP-STS",
"NameID": "dk:gov:saml:attribute:CprNumberIdentifier:0511804817",
"w3Action": "GetConsent",
"w3MessageID": "a0952bbd-40c2-46e4-835f-614843f48dbd"
},
"threadId": "default task-1",
"time": "2023-09-07T09:32:59.429+02:00",
"stats": {
"handlerDuration": 44,
"RequestContentDuration": 0,
"ResponseContentDuration": 0,
"SecurityProtocolRequestDuration": 8,
"SecurityProtocolResponseDuration": 34,
"bufferAllocated": false,
"usedBuffers": 2,
"activeBuffersInPool": 2,
"idleBuffersInPool": 0
}
}
} |
Baggrundsjobbet har til formål at sende alle ikke-afsendte NAS-adviseringer, der er oprettet på baggrund af ændring i borgeres fravalg. Adviseringer lagres i tabellen "unsent_notifications".
Baggrundsjobbet startes med et HTTP GET kald til
<serverurl>/fgvhr-operations/nas-notification-job
Jobbet konfigureres med parametrene beskrevet i afsnittet "Servicekonfiguration". Her er det muligt både at styre, hvor mange adviseringer der håndteres per "iteration", og hvor mange adviseringer der bundles af gangen til NAS2 per SOAP request. Derudover kan man indstille en max for varigheden for jobbets kørsel.
Jobbets seneste status kan aflæses på komponentens statusside. Detaljer om de enkelte kørsler (antal rækker behandlet mm.) skrives direkte til komponentens log-fil.