Versions Compared

Key

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

Table of Contents
maxLevel4

Introduktion

Formål

Dette dokument er rettet mod systemadministratorer og driftspersoner, som skal kunne håndtere driftsmæssige aspekter af komponenten.

...

Dette dokument dækker følgende dokument delings komponenten (DDS) på NSP. Den består af 2 logiske komponenter:

  • DDS RegistryDDSRegistry
    • Type: Webservice
    • Filnavn: ddsregistry.war
    • Servicecheckurl: <serverurl>/ddsregistry/servicecheck
    • Statusurl: <serverurl>/ddsregistry/status
    • Versionurl: <serverurl>/ddsregistry/version
    • Endpoint for RegistryStoredQuery:
      • Url: <serverurl>/ddsregistry
      • DKS-konfiguration: <serverurl>/ddsregistry/dccconfig/dks


  • DDSRepositoryDDS Repository

    • Type: Webservice

    • Filnavn: ddsrepository.war

    • Url: <serverurl>/ddsrepository

    • Servicecheckurl: <serverurl>/ddsrepository/servicecheck

    • Statusurl: <serverurl>/ddsrepository/status

    • Versionurl: <serverurl>/ddsrepository/version

    • DKS-konfiguration: <serverurl>/ddsrepository/dccconfig/dks

...

TODO: Bemærk at overstregede properties ikke længere indlæses af DDS Registry, men er hardcodet som følge af ændring i DGWS håndtering. Værdierne skal stadig være tilgængelige i properties filen.

Registry og Repository properties

Property

Reg

Rep

Beskrivelse

idcard.version

x

x

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

x

x

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

x

x

Angiver placering af log4j properties.

client.consentverification.properties

x

x

Angiver placering af properties til kald af Samtykkeverifikationsservicen.

client.minlogregistration.properties

x

x

Angiver placering af properties til kald af MinLog Registreringsservicen.

client.treatment.relation.properties

x

x

Angiver placering af properties til kald af behandlingsrelationsservicen.

treatment.relation.service.invoke

x

x

Angiver med værdien true, at behandlingsrelationsservicen skal kaldes. Værdien false bevirker, at behandlingsrelationsservicen ikke kaldes.

servicestatuscheck.consentverification.failurethreshold

x

x

Antal kald til samtykkeverifikationsservicen der må fejle før der meldes 500 på statussnitfladen.

servicestatuscheck.treatmentrelation.failurethreshold

x

x

Antal kald til BRS der må fejle før der meldes 500 på statussnitfladen.

servicestatuscheck.minlog.failurethreshold

x

x

Antal kald til MinLog der må fejle før der meldes 500 på statussnitfladen.

servicestatuscheck.database.failurethreshold

x

x

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

servicestatuscheck.unlockdelay

x

x

Antal sekunder fra statussnitfladen melder 500 til at antal fejl kald nulstilles.

sts.keystore

x

x

Keystore, der indeholder DDS Registrys/Repository funktionscertifikat

sts.keystore.password

x

x

Password til sts.keystore

sts.endpoint

x

x

Endpointet, hvor DDS Registry/Repository skal trække sit SOSI IDkort på baggrund af sts.keystore

idcard.subject.id.type

x

x

Subjecttype for IDKortet

idcard.subject.id

x

x

Subjectid for IDKortet

idcard.subject.name

x

x

Subjectnavn for IDKortet

idcard.level

x

x

Sikkerhedsniveau for IDkortet

idcard.system.name

x

x

Systemnavn i IDkortet

whitelisted.level3.cvrs

x

x

Liste (kommasepareret) af whitelistede CVR numre og certifikater som DDS'en tillader kald med niveau 3 Idkort fra (se afsnit nedenfor vedr. whitelisting for detaljer vedr. format)

dds.citizen.powerofattorney.privileges

x

x

Det fuldmagtsprivilegie, der tillader at en borger tilgår en anden borgers data via DDS

client.documentregistry.properties

x


Angiver placering af properties til kald af det nationale registry (NXRG) samt andre bagvedliggende registry services.

registry.invoker.use.fastinfoset

x


Angiver med værdien true, at servicen skal tilbyde anvendelse af Fast Infoset ved kommunikation med XDS Registries. Ved værdien false foregår kommunikationen med vanlig XML. 

minlog.query.default

x


Teksten der sendes til MinLog registreringsservicen, når en sundhedsperson laver opslag.

minlog.query.consentoverride

x


Teksten der sendes til MinLog registreringsservicen, når en sundhedsperson laver opslag med tilsidesættelse af samtykketjek (værdispring).

ap.assigning.authorities.filename

x


Angiver fil med liste af AP, der indgår i komplekseforløb pilotprojektet.

ap.patient.consent.filename

x


Angiver fil med liste af patienter, der har givet samtykke til AP.

validation.response.ydernummer

x


Valideringsniveau for ydernummer-validering. Eksempel: WARNING, OFF. Default: WARNING

oid.assignment.ydernummer

x


OID for ydernummer. Default: 1.2.208.176.1.4

client.documentrepository.properties


x

Angiver placering af properties til kald af dokumentkilder, hvor snitfladen til indhentning af dokument benytter Den Gode Webservice.

minlog.retrieve.default


x

Teksten der sendes til MinLog registreringsservicen, når en sundhedsperson laver dataudtræk.

minlog.retrieve.consentoverride


x

Teksten der sendes til MinLog registreringsservicen, når en sundhedsperson laver dataudtræk med tilsidesættelse af samtykketjek (værdispring).

repository.retrieve.documents.processing.timeout


x

Antal millisekunder, der afventes svar fra kaldt XDS Repository med henblik på at samle svar fra eventuelt flere kaldte XDS Repositories til videre processering. Dette er ikke en timeout på kaldet til XDS Repository, der i stedet er konfigureret i documentsource-tabellen i databasen jf. afsnit 4.1.5.

retrieved.documents.processing.timeout


x

Antal millisekunder, der afventes færdiggørelse af efterprocessering af svar med henblik på at samle efterprocesserede svar i det samlede svar. Dette er ikke en timeout, der bevirker udelukkelse af svar.

dds.minlog.on.idcard.level3.enabled


x

Angiver, om DDS skal minlogge, når der kaldes med SOSI Idkort niveau 3
Skal sættes (true/false)

...

Property

Reg

Rep

Beskrivelse

treatment.relation.serviceprovider.vendor

x

x

Indsættes som ’ServiceProvider/Vendor’ i behandlingsrelationsservicens treatmentRelationRequestBody

treatment.relation.serviceprovider.version

x

x

Indsættes som ’ServiceProvider/Version’ i behandlingsrelationsservicens treatmentRelationRequestBody

treatment.relation.lookup.timeinterval.start.offset

x

x

Angiver antallet af dage fra DDS-kaldtidspunktet, der skal indsættes som tidsstemplet ’RelationLookupTimeInterval/start’ i behandlingsrelationsservicens treatmentRelationRequestBody.

Negativt fortegn angiver antal dage før DDS-kaldtidspunktet.

treatment.relation.lookup.timeinterval.end.offset

x

x

Angiver antallet af dage fra DDS-kaldtidspunktet, der skal indsættes som tidsstemplet ’RelationLookupTimeInterval/end’ i behandlingsrelationsservicens treatmentRelationRequestBody.

Negativt fortegn angiver antal dage før DDS-kaldtidspunktet.

treatment.relation.timelimit.offset

x

x

Angiver antallet af dage fra DDS-kaldtidspunktet, der skal indsættes som tidsstemplet ’TimeLimit’ i behandlingsrelationsservicens treatmentRelationRequestBody.

treatment.relation.queryable.cvr

x

x

Indsættes som ’QueryableCvr’ i behandlingsrelationsservicens treatmentRelationRequestBody

treatment.relation.external.reference.id

x

x

Indsættes som ’ExternalReferenceId’ i behandlingsrelationsservicens treatmentRelationRequestBody

treatment.relation.acceptable.relations.hospital

x

x

Kommasepareret liste af kategorier, der indsættes som ’AcceptableRelations/Relation’ i behandlingsrelationsservicens treatmentRelationRequestBody, når sundhedspersonens organisation er opført som hospital (ved SHAK-kode).

treatment.relation.followup.relations.hospital

x

x

Kommasepareret liste af kategorier, der indsættes som ’FollowupRelations/Relation’ i behandlingsrelationsservicens treatmentRelationRequestBody, når sundhedspersonens organisation er opført som hospital (ved SHAK-kode).

treatment.relation.acceptable.relations.doctor

x

x

Kommasepareret liste af kategorier, der indsættes som ’AcceptableRelations/Relation’ i behandlingsrelationsservicens treatmentRelationRequestBody, når sundhedspersonens organisation er opført som yder (ved ydernummer).

treatment.relation.followup.relations.doctor

x

x

Kommasepareret liste af kategorier, der indsættes som ’FollowupRelations/Relation’ i behandlingsrelationsservicens treatmentRelationRequestBody, når sundhedspersonens organisation er opført som yder (ved ydernummer).

treatment.relation.acceptable.relations.organization

x

x

Kommasepareret liste af kategorier, der indsættes som ’AcceptableRelations/Relation’ i behandlingsrelationsservicens treatmentRelationRequestBody, når sundhedspersonens organisation er opført som SOR (ved SOR-kode).

treatment.relation.followup.relations.organization

x

x

Kommasepareret liste af kategorier, der indsættes som ’FollowupRelations/Relation’ i behandlingsrelationsservicens treatmentRelationRequestBody, når sundhedspersonens organisation er opført som SOR (ved SOR-kode).


Registry properties


I metadata er identifikation af sundhedsorganisationer givet ved et id og anførelse af hvilken assigning authority, der har udstedt det id. I DDSRegistry.properties skal der ved properties givet i Tabel 1 være anført, hvilke object identifiers (OID), der anvendes for assigning authority for sundhedsorganisationers id.

...

OID-værdier for assigning authorities givet i mønsteret properties registering.allowed.* (fx registering.allowed.sor.assigning.authorities.oid) er de, der tillades ved dokumentkilders registrering af dokumentmetadata. Disse lister af OID-værdier bør kun afspejle de assigning authorities, der er i anvendelse på registreringstidspunktet.


Eksempel Eksempel ”DDSRegistryDDSRegistry.properties” propertiesfil (bemærk at alle ”client.*.properties” udpeger filen selv, og at klient properties derfor er defineret i samme fil):

idcard.version = 1.0.1
sts.test.mode = true
log.config.file=ddsregistry.log4j.properties
client.consentverification.properties = DDSRegistry.properties
client.minlogregistration.properties = DDSRegistry.properties
client.documentregistry.properties = DDSRegistry.properties
client.treatment.relation.properties = DDSRegistry.properties
treatment.relation.service.invoke=true
treatment.relation.service.invoke=true
treatment.relation.service.timeout=3000
treatment.relation.wsdl.location = http://localhost:9090/ddsservices-brs-stub/BRSFacadeService/BRSFacadeStub?wsdl
verification.wsdl.location=http://localhost:9090/consent-verification/service?wsdl
verification.invoker.timeout=30000
treatment.relation.serviceprovider.vendor=vendor
treatment.relation.serviceprovider.version=version
treatment.relation.lookup.timeinterval.start.offset=-1
treatment.relation.lookup.timeinterval.end.offset=1
treatment.relation.timelimit.offset=90
treatment.relation.queryable.cvr=19343634
treatment.relation.external.reference.id=
treatment.relation.acceptable.relations.hospital=A,B,C
treatment.relation.followup.relations.hospital=All
treatment.relation.acceptable.relations.doctor=C,D,E
treatment.relation.followup.relations.doctor=All
treatment.relation.acceptable.relations.organization=A,B,C
treatment.relation.followup.relations.organization=All
consent.check.sor.assigning.authorities.oid=1.2.208.176.1.1,1.2.208.176.1
consent.check.shak.assigning.authorities.oid=
consent.check.ynumber.assigning.authorities.oid=
registering.allowed.sor.assigning.authorities.oid=1.2.208.176.1.1,1.2.208.176.1
registering.allowed.shak.assigning.authorities.oid=
registering.allowed.ynumber.assigning.authorities.oid=
servicestatuscheck.consentverification.failurethreshold = 1
servicestatuscheck.treatmentrelation.failurethreshold = 1
servicestatuscheck.minlog.failurethreshold = 1
servicestatuscheck.database.failurethreshold = 1
ap.assigning.authorities.filename=/pack/wildfly8/modules/nsi/ddsregistry/config/main/ap_authorities.txt
ap.patient.consent.filename=/pack/wildfly8/modules/nsi/ddsregistry/config/main/ap_patients.txt
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=Dokumentdelingsservicen
sts.endpoint=http://test1-cnsp.ekstern-test.nspop.dk:8080/sts/services/SecurityTokenService
sts.keystore=Statens_Serum_Institut_VOCES.jks
sts.keystore.password=Test1234
minlog.producer.bootstrap.servers=kafka:9092
minlog.producer.client.id=DdsMinLog2-producer
minlog.producer.key.serializer=org.apache.kafka.common.serialization.StringSerializer
minlog.producer.value.serializer=org.apache.kafka.common.serialization.StringSerializer
minlog.topic=MINLOG_TOPIC
dds.minlog.on.idcard.level3.enabled=true
personinformation.maxTotalConnections=200
personinformation.defaultMaxConnectionsPerRoute=20
personinformation.url=http://test1-cnsp.ekstern-test.nspop.dk:8080/stamdata-personinformation/v1

Konfiguration af indeks

De dokumentindeks, hvortil DDSRegistry videresender opslag og registrering af dokumenter, er konfigureret i tabellen documentregistry i databasen documentsources.

...

Kolonne

...

Type

...

Beskrivelse

...

documentregistryid

...

int

...

unikt id for rækken

...

documentregistryserviceurl

...

streng

...

Adressen for indeksets webservice-endpoint givet som URI.

...

documentregistryfriendlyname

...

streng

...

Et relativt brugervenligt navn for indekset, der indgår i fejlbeskeden, når indekset ikke svarer rettidigt eller ikke kan tilgås.

...

documentregistryservicenamespace

...

streng

...

Namespace anvendt af indeksets webservice-endpoint. Standard-værdien er urn:ihe:iti:xds-b:2007. 

...

documentregistrylocal

...

boolsk værdi

...

Hvorvidt indekset er lokalt eller ej. Dokumentdelingsservicen skal have præcis et lokalt indeks, der benyttes ved registrering af dokumenter. Værdien 1 anfører lokalt indeks, 0 ellers.

...

documentregistrytimeoutvalue

...

int

...

Timeout givet i millisekunder anvendt ved Dokumentdelingsservicens opslag mod indekset, dvs. timeout for kald af indeksets webservice.

...

documentregistryactive

...

boolsk værdi

...

Hvorvidt indekset anvendes eller ej. Værdien 1 anfører, at indekset anvendes, 0 ellers.

...

documentregistryservicename

...

streng

...

Navnet på service-gruppen for indeksets webservice. Standard-værdien er DocumentRegistry_Service.

...

documentregistryfailurethreshold

...

int

...

Grænseværdi for hvor mange kald til indekset der må fejle før monitoreringssnitfladen melder fejl. 

...

documentregistrysoapversion

...

streng

...

Hvorvidt der skal anvendes headere af type HSUID, DGWS (Security og Medcom) og Medcom fra DGWS.

...

documentregistryititransaction

...

streng

...

Beskrivelse af hvilken ITI transaction, der kan anvendes på dokumentindekset. Understøtter en dokumentindeks flere ITI transactions skal der laves en indgang per ITI transaction. Se Tabel 4 for lovlige værdier, hvoraf der skal anføres en enkelt.


Eksempel på ”DDSRepository.properties” fil (bemærk at alle ”client.*.properties” udpeger filen selv, og at klient properties derfor er defineret i samme fil):

idcard.version = 1.0.1
sts.test.mode = true
 
repository.service.name = Dokumentdelingsservicen
log.config.file=ddsrepository.log4j.properties
 
client.documentrepository.properties = DDSRepository.properties
client.consentverification.properties = DDSRepository.properties
client.minlog
.properties = DDSRepository.properties
client.treatment.relation.properties = DDSRepository.properties
treatment.relation.service.invoke=true
 
treatment.relation.service.invoke=true
treatment.relation.service.timeout=3000
treatment.relation.wsdl.location = http://localhost:9090/ddsservices-brs-stub/BRSFacadeService/BRSFacadeStub?wsdl
 
verification.wsdl.location=http://localhost:9090/consent-verification/service?wsdl
verification.invoker.timeout=30000
 
treatment.relation.serviceprovider.vendor=vendor
treatment.relation.serviceprovider.version=version
treatment.relation.lookup.timeinterval.start.offset=-1
treatment.relation.lookup.timeinterval.end.offset=1
treatment.relation.timelimit.offset=90
treatment.relation.queryable.cvr=19343634
treatment.relation.external.reference.id=
treatment.relation.acceptable.relations.hospital=A,B,C
treatment.relation.followup.relations.hospital=All
treatment.relation.acceptable.relations.doctor=C,D,E
treatment.relation.followup.relations.doctor=All
treatment.relation.acceptable.relations.organization=A,B,C
treatment.relation.followup.relations.organization=All
 
documentsourcesds.statement=SELECT * FROM documentsources.documentsource LIMIT 1;
sords.statement=SELECT * FROM stamdata.SORRelationer LIMIT 1;
authds.statement=SELECT * FROM stamdata.autreg LIMIT 1;
whitelistds.statement=SELECT * FROM whitelist.whitelist_config LIMIT 1;
 
servicestatuscheck.consentverification.failurethreshold = 1
servicestatuscheck.treatmentrelation.failurethreshold = 1
servicestatuscheck.minlog.failurethreshold = 1
servicestatuscheck.database.failurethreshold = 1
 
repository.retrieve.documents.processing.timeout = 200
retrieved.documents.processing.timeout = 200
 
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 = Dokumentdelingsservicen
sts.endpoint = http://test1-cnsp.ekstern-test.nspop.dk:8080/sts/services/SecurityTokenService
sts.keystore = Statens_Serum_Institut_VOCES.jks
sts.keystore.password = Test1234
 
minlog.producer.bootstrap.servers=kafka:9092
minlog.producer.client.id=DdsMinLog2-producer
minlog.producer.key.serializer=org.apache.kafka.common.serialization.StringSerializer
minlog.producer.value.serializer=org.apache.kafka.common.serialization.StringSerializer
minlog.topic=MINLOG_TOPIC
 
dds.minlog.on.idcard.level3.enabled=true
 
personinformation.maxTotalConnections=200
personinformation.defaultMaxConnectionsPerRoute=20
personinformation.url=http://test1-cnsp.ekstern-test.nspop.dk:8080/stamdata-personinformation/v1

Konfiguration af indeks for DDS registry

ReposiDe dokumentindeks, hvortil DDSRegistry videresender opslag og registrering af dokumenter, er konfigureret i tabellen documentregistry i databasen documentsources.

Kolonne

Type

Beskrivelse

documentregistryid

int

unikt id for rækken

documentregistryserviceurl

streng

Adressen for indeksets webservice-endpoint givet som URI.

documentregistryfriendlyname

streng

Et relativt brugervenligt navn for indekset, der indgår i fejlbeskeden, når indekset ikke svarer rettidigt eller ikke kan tilgås.

documentregistryservicenamespace

streng

Namespace anvendt af indeksets webservice-endpoint. Standard-værdien er

Tabel 2 Tabellen documentregistry i documentsources-databasen

...

Værdi

...

Benytter HSUID udgående

...

Benytter DGWS udgående

...

Note

...

1.2

...

...

÷

...

1.2_NO_HSUID

...

÷

...

÷

...

1.2_DGWS

...

...

...

1.2_DGWS_NO_HSUID

...

÷

...

...

1.2_MEDCOM_NO_HSUID

...

÷

...

(✓)

Kun Medcom-header

...

Tabel 3 Værdier for documentregistrysoapversion, der anfører hvilke headere, der anvendes ved udgående kald fra DDS Registry mod XDS-komponenter.

...

Værdi

...

Beskrivelse

...

ITI-18

...

Benyttes til opslag på metadata via Registry Stored Query ITI-18 transaktionen.

Tabel 4 Værdier for documentregistryititransaction, der anfører hvilken ITI transaction, den givne indgang kan anvendes med.

Følgende er et eksempel på konfigurering af et lokalt, aktivt indeks:

...

Kolonne

...

Værdi

...

documentregistryid

...

1

...

documentregistryserviceurl

...

http://sv-proj-093:57774/csp/public/hsbus/HS.IHE.XDSb.Registry.Services.cls

...

documentregistryfriendlyname

...

DDS

...

documentregistryservicenamespace

...

urn:ihe:iti:xds-b:2007

...

documentregistrylocal

...

1 (true)

...

documentregistrytimeoutvalue

...

300000

...

documentregistryactive

...

1 (true)

...

documentregistryservicename

...

DocumentRegistry_Service

...

documentregistryfailurethreshold

...

5

...

documentregistrysoapversion

...

1.2_MEDCOM_NO_HSUID

...

documentregistryititransaction

...

ITI-18

Tabel 5 Eksempel på konfiguration af indeks

For at tilføje et indeks til konfigurationen, udføres et SQL-statement i stil med:

INSERT INTO documentsource.documentregistry (documentregistryserviceurl, documentregistryfriendlyname, documentregistryservicenamespace, documentregistrylocal, documentregistryservicename, documentregistryfailurethreshold, documentregistryititransaction) VALUES (' http://sv-proj-093:57774/csp/public/hsbus/HS.IHE.XDSb.Registry.Services.cls', 'DDS', '

urn:ihe:iti:xds-b:2007

', true, '300000', true, 'DocumentRegistry_Service', 5, '1

.

2_MEDCOM_NO_HSUID', 'ITI-18');

log4j konfiguration

Log4j konfiguration findes i (hvis ovenstående format anvendes) compose/configuration/ddsregistry/ddsregistry.log4j.properties filen.

Se yderligere opsætning i installationsvejledningen.

SLA-log konfiguration

SLA-logning på DDS Registry udføres vha SLALoggingInterceptor.

Konfiguration af SLA-log findes i filen compose/configuration/ddsregistry/nspslalog-ddsregistry.properties.

Whitelist konfiguration

Der foretages whitelisting på to niveauer. Først er der den whitelisting, der skal til for at anvende DDS Registry. Derudover findes en whitelisting, der afgør, hvorvidt en anvender må kalde DDS Registry med et niveua 3 Idkort. De to whitelisting-mekanismer beskrives i det følgende.

Whitelisting til anvendelse af DDS Registry

For at tilføje et CVR-nummer til white-list databasen, bruges følgende SQL insert:

INSERT INTO whitelist.whitelist_config ( service_key, service_type, cvr ) VALUES ( 'dk.nsi.ddsregistry', '', 'some-cvr-number-here' );

Da DDSRegistry sender Id-kortet videre til samtykkeservice, behandlingsrelationsservice og minlog-registrationservice skal whitelisten også opdateres med følgende værdier:

INSERT INTO whitelist.whitelist_config ( service_key, service_type, cvr ) VALUES ( 'dk.nsi.auth.brs.cvr.list', '', 'some-cvr-number-here' );
INSERT INTO whitelist.whitelist_config ( service_key, service_type, cvr ) VALUES ( 'dk.nsi.consent.verification', '', 'some-cvr-number-here' );
INSERT INTO whitelist.whitelist_config ( service_key, service_type, cvr ) VALUES ( 'dk.nsi.minlog.registration', '', 'some-cvr-number-here' );

Whitelisting til kald med niveau 3 Idkort

Alle anvendere skal whitelistes som beskrevet ovenfor for at anvende DDS Registry. Derudover findes en ekstra whitelisting mekanisme, som gør det muligt for visse anvendere at kalde DDS Registry med et niveau 3 Idkort. Dette kræver en særlig whitelisting og kan sættes op ved at tilføje oplysninger om anvenderen i konfigurationsparameteren 'whitelisted.level3.cvrs'. På trods af navnet kan whitelisting til niveau 3 sættes op på to niveauer: CVR nummer eller et specifikt certifikat.

Værdien er en kommasepereret liste som vist i følgende eksempel:
Opsætning af niveau 3 whitelisting

whitelisted.level3.cvrs=31908574,CVR:46837428,CERT:CVR:33257872-FID:28250866

Eksemplet viser de tre formater, der kan anvendes:

  • Værdi uden type: I eksempelt ovenfor fortolkes værdien '31908574' som et CVR nummer. Dette sikrer bagudkompatibilietet med tidligere opsætninger
  • Værdier med typen CVR: I eksemplet ovenfor fortolkes 'CVR:46837428' som et CVR nummer med værdien 46837428
  • Værdier med typen CERT: I eksemplet ovenfor fortolkes 'CERT:CVR:33257872-FID:28250866' som whitelisting af certificatet med Subject Serial Number CVR:33257872-FID:28250866.

I forhold til anvenderne, så tjekkes det, om der er en whitelisting af anvenderens CVR nummer og hvis dette ikke er tilfældet, så tjekkes, om det specifikke certifikat, der anvendes er whitelistet. Alle andre forsøg på adgang med niveau 3 Idkort afvises.

DKS konfiguration

Indholdet, der returneres ved kald af DCC Konfiguration Service-snitfladen (DKS) for endpointet for RegistryStoredQuery, RegisterDocumentSetB og RegisterOnDemandDocumentEntry, indlæses af DDS Registry fra filen:

/pack/wildfly8/modules/nsi/ddsregistry/config/main/dksConfiguration.xml

Indholdet, der returneres ved kald af DCC Konfiguration Service-snitfladen (DKS) for endpointet for UpdateDocumentSet, indlæses af DDS Registry fra filen:

/pack/wildfly8/modules/nsi/ddsregistry/config/main/metadataUpdateDksConfiguration.xml

Filerne skal overholde DKS XML-skemaet og beskriver de webservice-operationer DDS Registry udstiller jf. [DKS-beskrivelse].

Test af DKS

Efter konfiguration og deployering af DDS Registry servicen, kan DKS-snitfladerne testes med:

curl –i localhost:9090/ddsregistry/dccconfig/dks
curl –i localhost:9090/ddsregistry/metadataupdate/dccconfig/dks

Succesfuldt svar giver indholdet svarende til filerne nævnt ovenfor.

Header konfiguration

Det er muligt at konfigurere registry'et til at lede efter HTTP- og SOAP-headere, og videresende dem til bagvedliggende registries. Videresendelse styres af databasetabellen documentsources.documentregistry_forwarded_header. Indholdet af tabellen er som følger:

...

Feltnavn

...

Indhold

...

 

documentregistrylocal

boolsk værdi

Hvorvidt indekset er lokalt eller ej. Dokumentdelingsservicen skal have præcis et lokalt indeks, der benyttes ved registrering af dokumenter. Værdien 1 anfører lokalt indeks, 0 ellers.

documentregistrytimeoutvalue

int

Timeout givet i millisekunder anvendt ved Dokumentdelingsservicens opslag mod indekset, dvs. timeout for kald af indeksets webservice.

documentregistryactive

boolsk værdi

Hvorvidt indekset anvendes eller ej. Værdien 1 anfører, at indekset anvendes, 0 ellers.

documentregistryservicename

streng

Navnet på service-gruppen for indeksets webservice. Standard-værdien er DocumentRegistry_Service.

documentregistryfailurethreshold

int

Grænseværdi for hvor mange kald til indekset der må fejle før monitoreringssnitfladen melder fejl. 

documentregistrysoapversion

streng

Hvorvidt der skal anvendes headere af type HSUID, DGWS (Security og Medcom) og Medcom fra DGWS.

documentregistryititransaction

streng

Beskrivelse af hvilken ITI transaction, der kan anvendes på dokumentindekset. Understøtter en dokumentindeks flere ITI transactions skal der laves en indgang per ITI transaction. Se Tabel 4 for lovlige værdier, hvoraf der skal anføres en enkelt.

Tabel 2 Tabellen documentregistry i documentsources-databasen


Værdi

Benytter HSUID udgående

Benytter DGWS udgående

Note

1.2

÷


1.2_NO_HSUID

÷

÷


1.2_DGWS


1.2_DGWS_NO_HSUID

÷


1.2_MEDCOM_NO_HSUID

÷

(✓)

Kun Medcom-header


1.2_NO_ADDR÷Kalder uden addressing headers.

Tabel 3 Værdier for documentregistrysoapversion, der anfører hvilke headere, der anvendes ved udgående kald fra DDS Registry mod XDS-komponenter.


Værdi

Beskrivelse

ITI-18

Benyttes til opslag på metadata via Registry Stored Query ITI-18 transaktionen.







Tabel 4 Værdier for documentregistryititransaction, der anfører hvilken ITI transaction, den givne indgang kan anvendes med.


Følgende er et eksempel på konfigurering af et lokalt, aktivt indeks:

Kolonne

Værdi

documentregistryid

1

documentregistryserviceurl

http://sv-proj-093:57774/csp/public/hsbus/HS.IHE.XDSb.Registry.Services.cls

documentregistryfriendlyname

DDS

documentregistryservicenamespace

urn:ihe:iti:xds-b:2007

documentregistrylocal

1 (true)

documentregistrytimeoutvalue

300000

documentregistryactive

1 (true)

documentregistryservicename

DocumentRegistry_Service

documentregistryfailurethreshold

5

documentregistrysoapversion

1.2_MEDCOM_NO_HSUID

documentregistryititransaction

ITI-18

Tabel 5 Eksempel på konfiguration af indeks


For at tilføje et indeks til konfigurationen, udføres et SQL-statement i stil med:

INSERT INTO documentsource.documentregistry (documentregistryserviceurl, documentregistryfriendlyname, documentregistryservicenamespace, documentregistrylocal, documentregistryservicename, documentregistryfailurethreshold, documentregistryititransaction) VALUES (' http://sv-proj-093:57774/csp/public/hsbus/HS.IHE.XDSb.Registry.Services.cls', 'DDS', 'urn:ihe:iti:xds-b:2007', true, '300000', true, 'DocumentRegistry_Service', 5, '1.2_MEDCOM_NO_HSUID', 'ITI-18');

log4j konfiguration

Log4j konfiguration findes i (hvis ovenstående format anvendes):

  • For DDS registry: compose/configuration/ddsregistry/ddsregistry.log4j.properties filen.
  • For DDS repository:  compose/configuration/ddsrepository/ddsrepository.log4j.properties filen

Se yderligere opsætning i installationsvejledningen.

SLA-log konfiguration

SLA-logning på DDS Registry og Repository udføres vha SLALoggingInterceptor. Konfiguration af SLA-log findes i filen:

  • For DDS registry: compose/configuration/ddsregistry/nspslalog-ddsregistry.properties.
  • For DDS repository: compose/configuration/ddsrepository/nspslalog-ddsrepository.properties.

Whitelist konfiguration

Der foretages whitelisting på to niveauer. Først er der den whitelisting, der skal til for at anvende DDS Registry og Repository. Derudover findes en whitelisting, der afgør, hvorvidt en anvender må kalde DDS med et niveua 3 Idkort. De to whitelisting-mekanismer beskrives i det følgende.

Whitelisting til anvendelse af DDS Registry og Repository

For at tilføje et CVR-nummer til white-list databasen, bruges følgende SQL insert:

For DDS registry:

INSERT INTO whitelist.whitelist_config ( service_key, service_type, cvr ) VALUES ( 'dk.nsi.ddsregistry', '', 'some-cvr-number-here' );

For DDS repository:

INSERT INTO whitelist.whitelist_config ( service_key, service_type, cvr ) VALUES ( 'dk.nsi.ddsrepository', '', 'some-cvr-number-here' );


Da DDS Registry og Repository sender Id-kortet videre til samtykkeservice, behandlingsrelationsservice og minlog-registrationservice skal whitelisten også opdateres med følgende værdier:

INSERT INTO whitelist.whitelist_config ( service_key, service_type, cvr ) VALUES ( 'dk.nsi.auth.brs.cvr.list', '', 'some-cvr-number-here' );
INSERT INTO whitelist.whitelist_config ( service_key, service_type, cvr ) VALUES ( 'dk.nsi.consent.verification', '', 'some-cvr-number-here' );
INSERT INTO whitelist.whitelist_config ( service_key, service_type, cvr ) VALUES ( 'dk.nsi.minlog.registration', '', 'some-cvr-number-here' );

Whitelisting til kald med niveau 3 Idkort

Alle anvendere skal whitelistes som beskrevet ovenfor for at anvende DDS Registry og Repository. Derudover findes en ekstra whitelisting mekanisme, som gør det muligt for visse anvendere at kalde DDS Registry og Repository med et niveau 3 Idkort. Dette kræver en særlig whitelisting og kan sættes op ved at tilføje oplysninger om anvenderen i konfigurationsparameteren 'whitelisted.level3.cvrs'. På trods af navnet kan whitelisting til niveau 3 sættes op på to niveauer: CVR nummer eller et specifikt certifikat.

Værdien er en kommasepereret liste som vist i følgende eksempel:


Opsætning af niveau 3 whitelisting

whitelisted.level3.cvrs=31908574,CVR:46837428,CERT:CVR:33257872-FID:28250866

Eksemplet viser de tre formater, der kan anvendes:

  • Værdi uden type: I eksempelt ovenfor fortolkes værdien '31908574' som et CVR nummer. Dette sikrer bagudkompatibilietet med tidligere opsætninger
  • Værdier med typen CVR: I eksemplet ovenfor fortolkes 'CVR:46837428' som et CVR nummer med værdien 46837428
  • Værdier med typen CERT: I eksemplet ovenfor fortolkes 'CERT:CVR:33257872-FID:28250866' som whitelisting af certificatet med Subject Serial Number CVR:33257872-FID:28250866.

I forhold til anvenderne, så tjekkes det, om der er en whitelisting af anvenderens CVR nummer og hvis dette ikke er tilfældet, så tjekkes, om det specifikke certifikat, der anvendes er whitelistet. Alle andre forsøg på adgang med niveau 3 Idkort afvises.

DKS konfiguration

Indholdet, der returneres ved kald af DCC Konfiguration Service-snitfladen (DKS), indlæses fra filen:

  • Fra DDS registry: /pack/wildfly8/modules/nsi/ddsregistry/config/main/dksConfiguration.xml
  • Fra DDS repository: /pack/wildfly8/modules/nsi/ddsrepository/config/main/dksConfiguration.xml

Filerne skal overholde DKS XML-skemaet og beskriver de webservice-operationer DDS Registry udstiller jf. [DKS-beskrivelse].

Test af DKS

Efter konfiguration og deployering af DDS Registry og Repository servicene, kan DKS-snitfladerne testes med:

curl –i localhost:9090/ddsregistry/dccconfig/dks
curl –i localhost:9090/ddsrepository/dccconfig/dks

Succesfuldt svar giver indholdet svarende til filerne nævnt ovenfor.

Header konfiguration

Det er muligt at konfigurere registry og repository til at lede efter HTTP- og SOAP-headere, og videresende dem til bagvedliggende registries.

Videresendelse styres af databasetabellerne

  • For DDS registry:  documentsources.documentregistry_forwarded_header
  • For DDS repository: documentsources.documentsource_forwarded_header


Indholdet af tabel documentsources.documentregistry_forwarded_header er som følger:

Feltnavn

Indhold

headernameNavn på header, der ledes efter. Hvis headertype er 'HTTP', ledes i HTTP-headers i requestet. Hvis headertype er 'SOAP', ledes i headere i SOAP-envelopen i requestet.
headertypeTypen af header der ledes efter. Kan være 'HTTP' eller 'SOAP', skrevet med store bogstaver.
documentregistryidId på documentregistry, som header ønskes videresendt til. Der er opsat en foreign key-constraint, der sikrer at der refereres til et registry i documentregistry-tabellen.


Indholdet af tabel documentsources.documentsource_forwarded_header er som følger:

Feltnavn

Indhold

headernameNavn på header, der ledes efter. Hvis headertype er 'HTTP', ledes i HTTP-headers i requestet. Hvis headertype er 'SOAP', ledes i headere i SOAP-envelopen i requestet.
headertypeTypen af header der ledes efter. Kan være 'HTTP' eller 'SOAP', skrevet med store bogstaver.
oidoid på repository, som header ønskes videresendt til. Der er opsat en foreign key-constraint, der sikrer at der refereres til et registry i documentsource-tabellen.

DocumentSources konfiguration for DDS repository

For at tilføje et kildesystem til documentsource databasen, bruges følgende SQL insert:

INSERT INTO `documentsource` (`oid`, `type`, `service_endpoint`, `soap_version`, `timeout`, `failurethreshold`)
VALUES ('some_unique_id','[unique_id_type]','some_endpoint','[SOAP_version] ', '[timeout]', '[failure threshold]');

  • oid: OID værdien som for den pågældende XDS dokument kilde, som kan være at typen ’repository_unique_id’ eller home_community_id

  • type: Angiver hvilken typen af OID der er angivet, og den skal have én af følgende værdier: [‘repository_unique_id’|’home_community_id’]

  • service_endpoint: Angiver URL til XDS dokument kilde

  • soap_version: Angiver XDS dokument kildens SOAP version og den skal have én af følgende værdier:

Værdi

Benytter HSUID udgående

Benytter DGWS udgående

1.1

+

÷

1.2

+

÷

1.1_NO_HSUID

÷

÷

1.2_NO_HSUID

÷

÷

1.2_DGWS

+

+

1.2_DGWS_NO_HSUID

÷

+

1.2_DGWS_NO_ADDR

+

+

1.2_MEDCOM_NO_HSUID

÷

(+)

Kun Medcom-header

Værdien 1.2_DGWS_NO_ADDR benyttes, når WS-Addressing ikke ønskes anvendt.

  • timeout: Angiver hvor lang tid DDS forsøger at hente dokumenter fra eksterne kilder inden forsøget opgives. Tiden angives i millisekunder.

  • failurethreshold: Angiver grænseværdi for hvor mange kald mod repositoriet der må fejle før monitoreringssnitfladen melder fejl. Angives som heltal.

Kombinationen oid og unique_id_type skal være unik.

###

...

Monitorering af DDSRegistry

...