Indhold

Komponenter

Dette dokument dækker FGVHR-servicen. Der udstilles et enkelt komponent af typen SOAP Webservice og en af typen REST-service.

Konfiguration

Servicekonfiguration

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

fgvhr.go.live.dateDato for hvornår systemet går i produktion. Før denne dato, er det ikke muligt at oprette fravalg igennem snitfladerne.
Ja

dk.nsp.fgvhr.national.rolleNational rolle bruger skal have når der kaldes på admin-service.
Ja
dk.nsp.fgvhr.whitelisted.clientkeySerialnumber fra det certifikat der benyttes ved kald til FSK snitflade.Ja
dk.nsp.fgvhr.datasource.jndiNavn på jboss datasource (defineret i fgvhr-ds.xml)Ja
dk.nsp.fgvhr.validfrom.period.daysHvornår er registrering af fravalg gyldig fra (antal dage)Nej7
dk.nsp.fgvhr.minimum.ageMinimumssalderen (år) for hvornår man kan registrere fravalg Nej60
dk.nsp.fgvhr.httpclient.pooling.totalconnectionsTotale antal HttpClients forbindelser der kan åbnesJa200
dk.nsp.fgvhr.httpclient.pooling.maxconnections.pr.routeAntal HttpClients forbindelser der kan åbnes pr. ruteJa20
personinformation.urlURL til PersonInformation servicenJa
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.citizenAngiver 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-textTekst i Minlog ved læsning af fravalgJaLæsning af Fravalg af genoplivning ved hjertestop register
minlog.register-activity-textTekst i Minlog ved oprettelse af fravalgJaOprettelse af Fravalg af genoplivning ved hjertestop register
minlog.delete-activity-textTekst i Minlog ved sletning af fravalgJaSletning af Fravalg af genoplivning ved hjertestop register
minlog.update-activity-textTekst i Minlog ved opdatering af fravalgJaOpdatering af Fravalg af genoplivning ved hjertestop register
fgvhr.nas.notification.job.max.durationDen tilladte varighed af jobbet. Angives som duration i ISO-8601 formattet; dog bør kun sekunder angives.Nej
PT15S
fgvhr.nas.notification.job.nas.bundle.sizeAntallet af adviseringer der sendes til NAS af gangen per SOAP request.
Nej
50
fgvhr.nas.notification.job.batch.sizeAntallet af adviseringer der hentes fra tabellen af gangen.
Nej
500
nas.sts.endpointEndpointet, hvor NAS-integrationen skal trække et idkort på baggrund af sts.keystoreJa
nas.sts.keystoreKeystore der indeholder funktionscertifikatet
Ja
nas.sts.keystore.passwordPassword til at åbne keystore
Ja
nas.endpointEndpointet hvor NAS skal kaldesJa
nas.idcard.subject.nameSubject name på idkortetJa
nas.idcard.subject.idSubject Id på idkortet
Ja
nas.idcard.system.nameSystemnavn på idkortet
Ja
nas.topicDet topic der skrives til på NAS
Ja

deletion.fgvhr.batchsize

Tilhører slettejobbet. Angiver den maksimale antal cpr numre, som behandles per gang 

Ja
deletion.desired.execution.duration

Tilhører slettejobbet. Angiver den maksimale udførelsestid for baggrundsjobbet. Angives som Duration i ISO-8601 formattet. 

Ja

deletion.save.deceased

Tilhører slettejobbet. Angiver periode på, hvor længe en person minimum skal være død for at blive slettet. 
Formattet er D for dage, M for måneder og Y for år.
Nogle eksempler: 2Y er 2 år, 12M er 12 måneder og 60D er 60 dage. 

Ja

minlogclient.properties

FGVHR anvender MinLogProvider til at registrere logninger i MinLog, og i den forbindelse skal Kafka properties for MinLog konfigureres. 

PropertyBeskrivelseDefault værdi
kafka.producer.bootstrap.serversUrl til Kafka bootstrap-server.kafka:9092
kafka.producer.client.idId der anvendes af Kafka producere i løsningen.FGVHRMinLog2-producer
kafka.producer.key.serializerSerializer key for Kafka producerorg.apache.kafka.common.serialization.StringSerializer
kafka.producer.value.serializerSerializer value for Kafka producerorg.apache.kafka.common.serialization.StringSerializer
kafka.topicNavn på Kafka topicFGVHR_TOPIC

log4j konfiguration

Log4j konfiguration for begge services findes i samme wildfly modul som servicekonfigurationen

Se yderligere opsætning i installationsvejledningen.

Overvågning

Der udstilles statussider, som kan tilgås fra adresserne i afsnittet Komponenter

Fortolkning af statussider

Statussiderne returnerer enten:

Audit-logning

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

FGVHRregisterConsentPersonligpatient-idBorgerens id
FGVHRregisterConsentPersonligpatient-id-sourceId'ens kilde, fx "CPR"
FGVHRregisterConsentIkke personligactor-roleAktørens rolle
FGVHRregisterConsentIkke personligactor-idAktørens id. Vil i praksis være det samme some patient-id.
FGVHRregisterConsentIkke personligactor-id-sourceId'ens kilde, fx "CPR"
FGVHRregisterConsentFølsomconsent-statusStatus på samtykke. Kan være "ACTIVE", "INACTIVE" eller "ENTERED-IN-ERROR".
FGVHRregisterConsentPersonligvalid-fromAntal dage til hvornår samtykke træder i kraft
FGVHRregisterConsentPersonligcitizen-created-dateHvornår borgeren har underskrevet blanketten, hvis registreringen kommer fra blanket.
FGVHRdeleteConsentPersonligpatient-idBorgerens id
FGVHRdeleteConsentPersonligpatient-id-sourceId'ens kilde, fx "CPR"
FGVHRdeleteConsentIkke personligactor-roleAktørens rolle
FGVHRdeleteConsentIkke personligactor-idAktørens id. Vil i praksis være det samme some patient-id.
FGVHRdeleteConsentIkke personligactor-id-sourceId'ens kilde, fx "CPR"
FGVHRdeleteConsentFølsomconsent-statusStatus på samtykke. Kan være "ACTIVE", "INACTIVE" eller "ENTERED-IN-ERROR".
FGVHRgetConsentPersonligpatient-idBorgerens id
FGVHRgetConsentPersonligpatient-id-sourceId'ens kilde, fx "CPR"
FGVHRupdateConsentPersonligpatient-idBorgerens id
FGVHRupdateConsentPersonligpatient-id-sourceId'ens kilde, fx "CPR"
FGVHRupdateConsentIkke personligactor-roleAktørens rolle
FGVHRupdateConsentIkke personligactor-idAktørens id. Vil i praksis være det samme some patient-id.
FGVHRupdateConsentIkke personligactor-id-sourceId'ens kilde, fx "CPR"
FGVHRupdateConsentFølsomconsent-statusStatus på samtykke. Kan være "ACTIVE", "INACTIVE" eller "ENTERED-IN-ERROR".
FGVHRupdateConsentPersonligvalid-fromAntal dage til hvornår samtykke træder i kraft


{
    "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
        }
    }
}

Baggrundsjobs

NAS adviseringsjob

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".

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. 

Slettejob

Detaljer omkring de forskellige trin slettejobbet har, kan findes i FGVHR Design og arkitektur dokumentet.

Servicens slettejob bliver afviklet vha. en udstillet RestController, som kaldes vha. simpelt HTTP GET kald til:

<serverurl>/fgvhr-operations/cleanup-fgvhr/start

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


Slettejobbet status kan ses, vha. HTTP GET kald til:

<serverurl>/fgvhr-operations/cleanup-fgvhr/status



Man kan ændre styring af slettejobbet ved at ændre følgende parametre: