Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Samtykkeservicen administration er en central service, der opbevarer borgeres registrerede samtykker/spærringer frabedelser i consent databasen.

Der skal sikres at borgernes opdateringer af registrerede samtykker/spærringer frabedelser i den centrale consent database replikeres til den enkelte NSP.

...

Property

Beskrivelse

idcard.version

Servicen afviser kald, hvor ID-kort i Security-header ikke har versionsnummer opgivet som værdien af denne property. Angives til 1.0.1

sts.test.mode

Angiver med værdien true at servicen benytter test-STS. Værdien skal være ’false’ i drift, hvorved den rigtige SOSI-STS anvendes.

log.config.file

Angiver placering af log4j properties

databasecheck.statement.consent

Se databasemonitorering beskrevet i afsnit 4.3.1.2.



databasecheck.statement.what

databasecheck.statement.who

whitelistds.statement

servicestatuscheck.database.failurethreshold

Antal kald til lokal database der må fejle før der meldes 500 på statussnitfladen

wsdl.app.endpoint

Det endpoint, hvor servicen bor. Dette anvendes af wsdl servlet til at returnere en korrekt service location.

dk.nsi.consent.valid.from.allowed.skew.seconds

Angiver i sekunder, hvor langt tilbage i tide validFrom-tidsstemplet må ligge i forhold til 'nu'.

nas.notification.endpoint

Angiver det endpoint, som Cprindlæseren skal kalde NAS notification service på.

nas.topicAngiver det Topic, som skal anvendes, når der sendes notifications til NAS.
client.minlog.propertiesAngiver placering af properties til kald af MinLog2
default.creating.system.nameI IDWS tilfældet er det dette navn der bliver brugt på spærringerne som oprettene system.
dk.nsp.minspaerring.administration.national.rolleDen nationale rolle, der er krævet for at en sundhedsfaglig kan administrativ medarbejder kan anvende admin-snitfladen
dk.nsp.minspaerring.administration.rediger.minlog.tekstDen tekst, der skrives i minlog, når en sundhedsfaglig administrativ medarbejder redigerer en spærring frabedelse på vegne af en ikke digital borger
dk.nsp.minspaerring.administration.tilfoj.minlog.tekstDen tekst, der skrives i minlog, når en sundhedsfaglig administrativ medarbejder tilføjer en spærring frabedelse på vegne af en ikke digital borger
dk.nsp.minspaerring.administration.ophaev.minlog.tekstDen tekst, der skrives i minlog, når en sundhedsfaglig administrativ medarbejder ophæver en spærring frabedelse på vegne af en ikke digital borger
dk.nsp.minspaerring.administration.hent.minlog.tekstDen tekst, der skrives i minlog, når en sundhedsfaglig administrativ medarbejder indhenter oplysninger om  spærringer på vegne af en ikke digital borger

I den properties-fil, der udpeges af propertien ”client.minlog.properties”, skal følgende properties defineres:

citizen.powerofattorney.privilegesFuldmagts-streng for borger
citizen.powerofattorney.enabledAngiver om muligheden med fuldmagt for borger er enabled. Default er false, dvs den ikke er.


I den properties-fil, der udpeges af propertien ”client.minlog.properties”, skal følgende properties defineres:

registration.log.organisation_name

Angiver standard organisationsnavnet, der bliver sendt til MinLog Registreringsservicen.

kafka.producer.bootstrap.serversKafka endpoint, som anvendes i forbindelse med kald til MinLog2
kafka.producer.client.idNavnet som Samtykkeservicen vil fremgå med i listen af Producers på et Kafka Cluster.
kafka.producer.key.serializerSerializer key for Kafka producer
kafka.producer.key.value.serializerSerializer value for Kafka producer
kafka.topic

Kafka topic som anvendes i forbindelse med kald til MinLog2

...

dk.nsi.app.name
Navn på system til SLA-logning.
dk.nsi.app.shortName
Kort navn på system til SLA-logning.
dk.nsi.consent.sor.service.url
SORES endpoint.
dk.nsi.consent.validate.healthcare.professional.cpr
Flag der angiver om cpr-nummer på sundhedsfaglige personer sundhedsfaglig medarbejder skal valideres ved kald til SAES, når der oprettes eller ændres spærringer.
dk.nsi.consent.validate.organization
Flag der angiver om organisationsnumre (SOR-, SHAK- og ydernummer) skal valideres ved kald til SORES og SYES, når der oprettes eller ændres spærringer.
dk.nsi.consent.sor.fail.threshold
Grænse for hvor mange gange SORES-kald må fejle i træk, før SORES opfattes som usund.
dk.nsi.consent.sor.max.total.connections
Maksimalt antal samtidige SORES-forbindelser.
dk.nsi.consent.sor.default.max.connections.per.route
Maksimalt antal SORES-forbindelser per rute.
dk.nsi.consent.saes.fail.threshold
Grænse for hvor mange gange SAES-kald må fejle i træk, før SAES opfattes som usund.
dk.nsi.consent.saes.connect.timeout.millis
Grænse for hvor tid det må tage at oprette forbindelse til SAES (i ms.).
dk.nsi.consent.saes.read.timeout.millis
Grænse for hvor tid det må tage at modtage svar fra SAES (i ms.).
dk.nsi.consent.saes.service.url
SAES endpoint.
dk.nsi.consent.syes.fail.threshold
Grænse for hvor mange gange SYES-kald må fejle i træk, før SYES opfattes som usund.
dk.nsi.consent.syes.connect.timeout.millis
Grænse for hvor tid det må tage at oprette forbindelse til SYES (i ms.).
dk.nsi.consent.syes.read.timeout.millis
Grænse for hvor tid det må tage at modtage svar fra SYES (i ms.).
dk.nsi.consent.syes.service.url
SYES endpoint.

...

Code Block
idcard.version = 1.0.1
sts.test.mode = false

log.config.file=consentadministration.log4j.properties

client.minlog.properties = ConsentAdministration.properties
registration.wsdl.location = http://localhost:8080/minlog-registration/service?wsdl
registration.invoker.timeout = 30000
registration.log.organisation_name=(organisationsnavn blev ikke udfyldt på registreringstidspunktet)

databasecheck.statement.consent=SELECT * FROM consent.consentitem LIMIT 1;
databasecheck.statement.what=SELECT * FROM consent.whatitem LIMIT 1;
databasecheck.statement.who=SELECT * FROM consent.whoitem LIMIT 1;
whitelistds.statement=SELECT * FROM whitelist.whitelist_config LIMIT 1;

servicestatuscheck.database.failurethreshold = 1

idcardwsdl.subjectapp.id.typeendpoint = medcom:cvrnumber
idcard.http://localhost:8080/consent-verification/

idcard.subject.id.type = medcom:cvrnumber
idcard.subject.id = 46837428
idcard.subject.name = NETS DANID A/S - TU VOCES gyldig
idcard.level = 3
idcard.system.name = Samtykkeservicen sts.endpoint = http://test1-cnsp.ekstern-test.nspop.dk:8080/sts/services/SecurityTokenService
sts.keystore = Statens_Serum_Institut_VOCES.jks
sts.keystore.password = Test1234

# Kafka
kafka.producer.bootstrap.servers=kafka:9092
kafka.producer.client.id=MinSpaerringMinLog2-producer
kafka.producer.key.serializer=org.apache.kafka.common.serialization.StringSerializer
kafka.producer.value.serializer=org.apache.kafka.common.serialization.StringSerializer
kafka.topic=MIT_TOPIC

# Ikke digitale
dk.nsp.minspaerring.administration.national.rolle=urn:dk:healthcare:national-federation-role:code:41001:value:SundAssistR1
dk.nsp.minspaerring.administration.rediger.minlog.tekst=SundhedspersonAdministrativ medarbejder har redigeret spærringerfrabedelser på forvegne enaf borger
dk.nsp.minspaerring.administration.tilfoj.minlog.tekst=SundhedspersonAdministrativ medarbejder har tilføjet spærringerfrabedelser på forvegne enaf borger
dk.nsp.minspaerring.administration.ophaev.minlog.tekst=SundhedspersonAdministrativ medarbejder har ophævet spærringerfrabedelse på forvegne enaf borger
dk.nsp.minspaerring.administration.hent.minlog.tekst=SundhedspersonAdm. medarbejder har indhentet oplysninger om spærringer for en borgerborgers frabedelser

log4j konfiguration

Log4j konfiguration findes i (hvis ovenstående format anvendes) consentadministration.log4j.properties filen.

...

Property

Beskrivelse

idcard.version

Servicen afviser kald, hvor ID-kort i Security-header ikke har versionsnummer opgivet som værdien af denne property. Angives til 1.0.1

sts.test.mode

Angiver med værdien true at servicen benytter test-STS. Værdien skal være ’false’ i drift, hvorved den rigtige SOSI-STS anvendes.

log.config.file

Angiver placering af log4j properties.

databasecheck.statement.consent

Se databasemonitorering beskrevet i afsnit 4.3.1.2.

databasecheck.statement.what

databasecheck.statement.who

whitelistds.statement

servicestatuscheck.database.failurethreshold

Antal kald til lokal database der må fejle før der meldes 500 på statussnitfladen

dk.nsiwsdl.app.endpoint

Det endpoint, hvor servicen bor. Dette anvendes af wsdl servlet til at returnere en korrekt service location.

dk.nsi.app.name

Navn på system til SLA-logning.

dk.nsi.app.shortName

Kort navn på system til SLA-logning.

dk.nsi.consent.sor.service.url

SORES endpoint.

dk.nsi.consent.sor.fail.threshold

Grænse for hvor mange gange SORES-kald må fejle i træk, før SORES opfattes som usund.

dk.nsi.consent.sor.max.total.connections

Maksimalt antal samtidige SORES-forbindelser.

dk.nsi.consent.sor.default.max.connections.per.route

Maksimalt antal SORES-forbindelser per rute.

...

Code Block
idcard.version = 1.0.1
sts.test.mode = false

log.config.file=consentverification.log4j.properties

databasecheck.statement.consent=SELECT * FROM consent.consentitem LIMIT 1;
databasecheck.statement.what=SELECT * FROM consent.whatitem LIMIT 1;
databasecheck.statement.who=SELECT * FROM consent.whoitem LIMIT 1;
whitelistds.statement=SELECT * FROM whitelist.whitelist_config LIMIT 1;

servicestatuscheck.database.failurethreshold = 1
wsdl.app.endpoint=http://localhost:8081/consent-administration/

Log4j konfiguration

Log4j konfiguration findes i (hvis ovenstående format anvendes) consentverification.log4j.properties filen.

...

Resultatet af de udførte tjek bliver også skrevet til  en af filerne consentadministration-status.log og consentverification-status.log. Såfremt der ikke er nogle fejlbeskeder i loggen bør property-filen undersøges som det første, da det er herigennem logindstillingerne bestemmeslogindstillingerne bestemmes.

nsp-role-mapping.properties

DDS Registry og Repository anvender denne property fil til at mappe hvilken rolle (role), der kommer ned i minlog registreringen.

Property filen vedligeholdes her: https://git.nspop.dk/projects/TOOL/repos/nsp-role-mapping/browse/nsp-role-mapping.properties


citizen.user

Bestemmer hvilken rolle står beskrevet i minlog ved kald til DDS for borger

Eksempel på værdi: Borger

healthcareprofessional.unknown.user

Bestemmer hvilken rolle står beskrevet i minlog ved kald til DDS for sundhedfaglig, hvor der ikke kunne bestemmes en rolle.

Eksempel på værdi: Unverified role

childcustodyholder.user

Bestemmer hvilken rolle står beskrevet i minlog ved kald til DDS for borger med forældremyndighed

Eksempel på værdi:Forældremyndighed

proxyholder.user

Bestemmer hvilken rolle står beskrevet i minlog ved kald til DDS for borger med fuldmagt

Eksempel på værdi: Fuldmagt

<Uddannelseskoder>

Der angives en række uddannelseskoder med kode=læsbar tekst

Eksempler er:

C511=Ambulancebehandler
9495=Bandagist
B511=Behandlerfarmaceut
5159=Bioanalytiker
5153=Ergoterapeut

Når der logges til minlog, og rollen er en uddannelseskode, laves der mapning mellem kode og læsbar tekst. Findes koden ikke som mapning anvendes den oprindelige kode.

<Nationale Roller (NSP)>

Der angives en række nationale roller med rolle=læsbar tekst

Eksempler er:

urn:dk:healthcare:national-federation-role:code:41001:value:SundAssistR1=Sundhedsstamkort-Læser
urn:dk:healthcare:national-federation-role:code:41002:value:SundAssistR2=Sundhedsdata-Læser
urn:dk:healthcare:national-federation-role:code:41003:value:PlejeAssR3=Plejehjemsassistent
urn:dk:healthcare:national-federation-role:code:41004:value:AudiologiMedarbR4=Audiologi-Medarbejder

Når der logges til minlog, og rollen er en national rolle, laves der mapning mellem rolle og læsbar tekst. Findes rollen ikke som mapning anvendes den oprindelige rolle.


Overvågning

Samtykkeservicen verifikations- og administrationsservices overvåges af en servicespecifik statussnitflade. Disse snitfladers url’er kan aflæses i afsnit 2.

...

  • ConsentForUserCheck

  • ConsentForDataCheckConsentForForeignersCheck

Auditlogning is done using the official NSP Audit Log modul.

De forskellige håndtag logges på følgende måde.

Samtykkeservicen verificering Audit data

KomponentKontekstTypeNøgleInformation
consent






ConsentForUserCheckPersonligevirksomhed-idIdentifikation af brugerens organisation
virksomhed-id-typeTypen på identifikationen af brugerens organisation
Ikke personligeCVRCVR på brugerens organisation
FlowIdIdentifikation af aktuelt flow
Følsommepatient-cpr

CPR nummer på patient om hvem samtykke unsersøges

bruger-cpr

CPR nummer på brugeren der kalder services

on-behalf-of-cpr

CPR nummer på sundhedsfaglig medarbejder servicen kaldes på vegne af

samtykke-indikator

Værdien af samtykke check; POSITIVE, NEGATIVE eller DATA_SPECIFIC_CONSENT

ConsentForDataCheck





Personligevirksomhed-idIdentifikation af brugerens organisation
virksomhed-id-typeTypen på identifikationen af brugerens organisation
Ikke personlige

queryDataRegistration.[0..n].id

Data hvor der skal checkes for data specifikt samtykke. Der kan forespørges på flere data typer ad gangem, så nøglen har en fortløbende værdi indlejret.

queryDataRegistration.[0..n].virksomhed-id
queryDataRegistration.[0..n].virksomhed-id-type
queryDataRegistration.[0..n].oprettet-dato-tid
CVRCVR på brugerens organisation
FlowIdIdentifikation af aktuelt flow
Følsommepatient-cprCPR nummer på patient om hvem samtykke unsersøges
bruger-cprCPR nummer på brugeren der kalder services
on-behalf-of-cprCPR nummer på sundhedsfaglig medarbejder servicen kaldes på vegne af
positiv-samtykke-id-listeEn liste af identer på data typer, som har positivt samtykke.ConsentForForeignersCheckPersonlige
Ikke personligeCVRCVR på brugerens organisation
FlowIdIdentifikation af aktuelt flow
Følsommepatient-cprCPR nummer på patient om hvem samtykke unsersøges
bruger-cprCPR nummer på brugeren der kalder services
samtykke-til-udenlandsk-sundhedspersonVærdien af check for samtykke til udenlandsk sundhedsperson; POSITIVE eller NEGATIVE

Type mapning mellem ovenstående tabel og faktisk data i fil: Personlig = RegularPersonalInformation/RPI, Ikke personlig = NonPersonalInformation/NPI og Følsomme = SensitivePersonalInformation/SPI

...