Indhold

Komponenter

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

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

dk.nsp.fgvhr.national.rolleNational rolle bruger skal have når der kaldes på admin-service.
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
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

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 en overvågningsside, som kan tilgås fra adressen i afsnittet Komponenter

Fortolkning af overvågningsside

Overvågningssiderne 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
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
FGVHRupdateConsentPersonligcitizen-created-dateHvornå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
        }
    }
}

Baggrundsjobs (TODO)