Versions Compared

Key

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

...

  • DDS Registry
    • Type: Webservice
    • Filnavn: ddsregistry.war
    • Servicecheckurl: <serverurl>/ddsregistry/servicecheck
    • Statusurl: <serverurl>/ddsregistry/status
    • VersionurlAlarmurl: <serverurl>/ddsregistry/versionalarm
    • Endpoint for RegistryStoredQuery:
      • Url: <serverurl>/ddsregistry
      • DKS-konfiguration DGWS: <serverurl>/ddsregistry/dksconfig
      • DKS-konfiguration IDWS: <serverurl>/ddsregistry/idws/dksconfig

...

  • DDS Repository

    • Type: Webservice

    • Filnavn: ddsrepository.war

    • Url: <serverurl>/ddsrepository

    • Servicecheckurl: <serverurl>/ddsrepository/servicecheck

    • Statusurl: <serverurl>/ddsrepository/status

    • VersionurlAlarmurl: <serverurl>/ddsrepository/versionalarm


    • DKS-konfiguration DGWS: <serverurl>/ddsrepository/dksconfig
    • DKS-konfiguration IDWS: <serverurl>/ddsrepository/idws/dksconfig

...

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


...

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

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.

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)

whitelisted.document.metadata.active

x


Angiver om whitelisting vha. metadata ser aktiveret. Se beskrivelse i senere afsnit.

Default værdi er true

whitelisted.document.metadata.refresh.duration

x


Angiver hvor ofte whitelisting vha. metadata konfiguration skal indlæses fra databasen.

Default værdi er PT60M

documenttype.configuration.refresh.duration

x


Angiver hvor ofte documenttype konfiguration skal indlæses fra databasen.

Default værdi er PT60M

feature.configuration.refresh.duration

x


Angiver hvor ofte feature konfiguration skal indlæses fra databasen.

Default værdi er PT60M

dds.citizen.powerofattorney.privileges

x

x

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

childCustody.age.limit

x

x

Angiver aldersgrænse for hvornår en borger ikke længere kan claime forældremyndighed på et barn

Default værdi er 15

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

x

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

minlog.query.consentoverride

x

x

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

minlog.query.childcustodyholder

x

x

Teksten der sendes til MinLog registreringsservicen, når en borger laver opslag/dataudtræk på vegne af en anden borger, hvor vedkommende er forældremyndighedsindehaver. *1

minlog.query.proxyholder

x

x

Teksten der sendes til MinLog registreringsservicen, når en borger laver opslag/dataudtræk på vegne af en anden borger, hvor vedkommende er fuldmagtshaver. *1

minlog.query.citizen

x

x

Teksten der sendes til MinLog registreringsservicen, når en borger laver opslag/dataudtræk *1

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.

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)

dcc.endpoint.registry

x


Angiver ddc endpoint til SDK for registry DGWS

dcc.endpoint.registry.idws

x


Angiver ddc endpoint til SDK for registry IDWS

dcc.endpoint.repository


x

Angiver ddc endpoint til SDK for repository DGWS

dcc.endpoint.repository.idws


x

Angiver ddc endpoint til SDK for repository IDWS

treatment.relation.errorcount.duration

x

x

Specificering af hvor lang tid tilbage der skal tælles fejl fra BRS servicen (ifm. /alarm endpointet). Angives som duration i ISO-8601 formattet. Default PT10M (10 minutter)

treatment.relation.error.tolerance

x

x

Antal fejl der tolereres fra BRS servicen før /alarm endpointet angiver servicen som ikke tilgængelig. Default er 0, dvs overstiger antal 0 kommer der en alarm.

verification.errorcount.duration

x

x

Specificering af hvor lang tid tilbage der skal tælles fejl fra Samtykke servicen (ifm. /alarm endpointet). Angives som duration i ISO-8601 formattet. Default PT10M (10 minutter)

verification.error.tolerance

x

x

Antal fejl der tolereres fra Samtykke servicen før /alarm endpointet angiver servicen som ikke tilgængelig. Default er 0, dvs overstiger antal 0 kommer der en alarm.

minlog.errorcount.duration

x

x

Specificering af hvor lang tid tilbage der skal tælles fejl fra Minlog servicen (ifm. /alarm endpointet). Angives som duration i ISO-8601 formattet. Default PT10M (10 minutter)

minlog.error.tolerance

x

x

Antal fejl der tolereres fra Minlog servicen før /alarm endpointet angiver servicen som ikke tilgængelig. Default er 0, dvs overstiger antal 0 kommer der en alarm.

sts.keystore.expiry.warning.duration

x

x

Specificering af hvor lang tid i forvejen, der skal gives en alarm i forbindelse med udløb af certifikatet, DDS anvender (ifm. /alarm endpointet). Eksempelvis P7D (7 dage)

sts.errorcount.duration

x

x

Specificering af hvor lang tid tilbage der skal tælles fejl fra STS servicen (ifm. /alarm endpointet). Angives som duration i ISO-8601 formattet. Default PT10M (10 minutter)

sts.error.tolerance

x

x

Antal fejl der tolereres fra STS servicen før /alarm endpointet angiver servicen som ikke tilgængelig. Default er 0, dvs overstiger antal 0 kommer der en alarm.

sts.connect.timeout.millis

x

x

Connect- og connection-request-timeout (millisekunder) til kald af STS

sts.read.timeout.millis

x

x

Read-/socket-timeout (millisekunder) til kald af STS

sts.max.total.connections

x

x

Konfiguration af client pool (max antal forbindelser i alt) til kald af STS

sts.default.max.connections.per.route

x

x

Konfiguration af client pool (max antal forbindelser pr. route) til kald af STS

personinformation.errorcount.duration

x

x

Specificering af hvor lang tid tilbage der skal tælles fejl fra PersonInformation servicen (ifm. /alarm endpointet). Angives som duration i ISO-8601 formattet. Default PT10M (10 minutter)

personinformation.error.tolerance

x

x

Antal fejl der tolereres fra PersonInformation servicen før /alarm endpointet angiver servicen som ikke tilgængelig. Default er 0, dvs overstiger antal 0 kommer der en alarm.

sores.errorcount.duration

x

x

Specificering af hvor lang tid tilbage der skal tælles fejl fra Sores servicen (ifm. /alarm endpointet). Angives som duration i ISO-8601 formattet. Default PT10M (10 minutter)

sores.error.tolerance

x

x

Antal fejl der tolereres fra Sores servicen før /alarm endpointet angiver servicen som ikke tilgængelig. Default er 0, dvs overstiger antal 0 kommer der en alarm.

backend.errorcount.duration

x

x

Specificering af hvor lang tid tilbage der skal tælles fejl fra backends (registry og repository) (ifm. /alarm endpointet). Angives som duration i ISO-8601 formattet. Default PT10M (10 minutter)

documentsourcesds.statement

x

x

Den SQL som /alarm og /status endpointene anvender for at tjekke adgang til documentsources databasen

authds.statement

x

x

Den SQL som /alarm og /status endpointene anvender for at tjekke adgang til stamdata databasen

whitelist.statement

x

x

Den SQL som /alarm og /status endpointene anvender for at tjekke adgang til whitelist databasen

sores.url

x

x

Peger på endpointet for Sores Servicen.

sores.cache.duration

x

x

Angiver en duration, hvor længe et Sores opslag skal gemmes i Sores cachen, inden man lavet et nyt opslag på et givet Sor nummer.

Et fejlopslag (dvs SOR koden findes ikke) caches ikke.

Eksempel: PT24H gemmer et Sores opslag 24 timer

httpclientsor.organization.pooling.totalconnections

Konfiguration af client pool til kald af Sores service

Default er 200

httpclient.pooling.maxconnections.pr.route

Konfiguration af client pool til kald af Sores service

Default er 20

httpclient.pooling.connection.timeout

Konfiguration af connection og connection request timeout (angives millisekunder) til kald af Sores service

Default er 1000

httpclient.pooling.socket.timeout

Konfiguration af socket timeout (angivet i millisekunder) til kald af Sores service

Default er 1000

validation.enabled

x

x

Angiver om SOR koden i hsuid headeren skal valideres mod Sores. 

Default er er false.

sores.max.total.connections

x

x

Konfiguration af client pool (max antal forbindelser i alt) til kald af Sores service

sores.default.max.connections.per.route

x

x

Konfiguration af client pool (max antal forbindelser pr. route) til kald af Sores service

sores.connect.timeout.millis

x

x

Connect- og connection-request-timeout (millisekunder) til kald af Sores service

sores.read.timeout.millis

x

x

Read-/socket-timeout (millisekunder) til kald af Sores service

request.xds.validationlevel

x

x

Konfiguration af IHE validering for indkomne request. Konfiguration skal foretages, der er ingen default værdi.

Gyldige værdier er:

OFF: der foretages ingen validering

LOG: der udføres validering. En eventuel fejl logges til audit log

WARNING: der udføres validering. En eventuel fejl logges til audit log og sendes retur i svaret til kalder som en advarsel. Forespørgslen udføres som normalt.

REJECT: der udføres validering. En eventuel fejl logges til audit log og sendes retur i svaret til kalder som en fejl. Forespørgslen afbrydes med det samme.

response.xds.validationlevel

x

x

Konfiguration af IHE validering for udgående response. Konfiguration skal foretages, der er ingen default værdi.

Gyldige værdier er:

OFF: der foretages ingen validering

LOG: der udføres validering. En eventuel fejl logges til audit log

WARNING: der udføres validering. En eventuel fejl logges til audit log og sendes retur i svaret til kalder som en advarsel. Forespørgslen returneres som normalt.

REJECT: der udføres validering. En eventuel fejl logges til audit log og sendes retur i svaret til kalder som en fejl. Forespørgslen returnerer ikke det normalt fundne svar men alene valideringsfejlen. Hvis der under den normale udførsel af forespørgsel - inden validering finder sted - opstår en fejl som giver anledning til en soap fault, vil denne bliver returneret istedet.

*1: ved iti-18 kaldes anvendes disse tekster som default. Der kan være mere specifikke tekster der er konfigureret i database tabellerne minlog_text og minlog_usertype_text.

...

Property

Reg

Rep

Beskrivelse

verification.wsdl.location

x

x

Angiver service endpoint for Samtykkeverifikationsservicen

registration.log.organisation_name

x

x

Angiver standard organisationsnavnet, der bliver sendt til MinLog Registreringsservicen.

treatment.relation.wsdl.location

x

x

Angiver service endpoint for behandlingsrelationsservicen

treatment.relation.service.timeout

x

x

Timeout givet i millisekunder anvendt ved kald til behandlingsrelationsservicen 

verification.invoker.timeout

x

x

Timeout givet i millisekunder anvendt ved kald til samtykke verifikationsservicen.

minlog.producer.proxy.url

x

x

Url til Kafka-proxy til MinLog registrering

minlog.producer.proxy.maxTotalConnections

x

x

Konfiguration af client pool til kald af Kafka-proxy

minlog.producer.proxy.defaultMaxConnectionsPerRoute

x

x

Konfiguration af client pool til kald af Kafka-proxy

minlog.producer.proxy.connectionTimeoutMs

x

x

Konfiguration af client pool til kald af Kafka-proxy

minlog.producer.proxy.socketTimeoutMs

x

x

Konfiguration af client pool til kald af Kafka-proxy

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

3

Skal sættes: true, false

personinformation.max.total.connectionsxxKonfiguration af client pool (max antal forbindelser i alt) til kald af PersonInformation service. Default 200
personinformation.default.max.connections.per.routexxKonfiguration af client pool (max antal forbindelser pr. route) til kald af PersonInformation service. Default 20
personinformation.connect.timeout.millisxxConnect- og connection-request-timeout (millisekunder) personinformation.maxTotalConnectionsxxKonfiguration af client pool til kald af PersonInformation service. Default 1000
personinformation.defaultMaxConnectionsPerRouteread.timeout.millisxxKonfiguration af client pool til kald af PersonInformation serviceRead-/socket-timeout (millisekunder) til kald af PersonInformation service. Default 5000
personinformation.urlxxPeger på endpointet for PersonInformationServicen.

...

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.name=NSP Dokumentdelingsservicen
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.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=

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.proxy.url=http://test1-cnsp.ekstern-test.nspop.dk:8080/kafkaproxy/minlog2-kafka-proxy/2026/02/11/registrations
minlog.producer.proxy.maxTotalConnections=200
minlog.producer.proxy.defaultMaxConnectionsPerRoute=20
minlog.producer.proxy.connectionTimeoutMs=2000
minlog.producer.proxy.socketTimeoutMs=5000

dds.minlog.on.idcard.level3.enabled=true

personinformation.max.total.maxTotalConnectionsconnections=200200 
personinformation.defaultMaxConnectionsPerRoute.default.max.connections.per.route=20
personinformation.connect.timeout.millis=1000
personinformation.read.timeout.millis=5000
personinformation.url=http://test1-cnsp.ekstern-test.nspop.dk:8080/stamdata-personinformation/v1


sts.keystore.expiry.warning.duration=P7D
sores.url=http://test1.ekstern-test.nspop.dk:8080/sores/v3
sores.cache.duration=PT24H

request.xds.validationlevel=OFF
response.xds.validationlevel=OFF


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.name=NSP Dokumentdelingsservicen
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.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;
authds.statement=SELECT * FROM stamdata.autreg LIMIT 1;
whitelist.statement=SELECT 1 FROM dual;
 
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.proxy.url=http://test1-cnsp.ekstern-test.nspop.dk:8080/kafkaproxy/minlog2-kafka-proxy/2026/02/11/registrations
minlog.producer.proxy.maxTotalConnections=200
minlog.producer.proxy.defaultMaxConnectionsPerRoute=20
minlog.producer.proxy.connectionTimeoutMs=2000
minlog.producer.proxy.socketTimeoutMs=5000
 
dds.minlog.on.idcard.level3.enabled=true
 
personinformation.max.total.maxTotalConnectionsconnections=200200 
personinformation.defaultMaxConnectionsPerRoute=.default.max.connections.per.route=20
personinformation.connect.timeout.millis=1000
personinformation.read.timeout.millis=5000
20
personinformation.url=http://test1-cnsp.ekstern-test.nspop.dk:8080/stamdata-personinformation/v1
sts.keystore.expiry.warning.duration=P7D
sores.url=http://test1.ekstern-test.nspop.dk:8080/sores/v3
sores.cache.duration=PT24H.cache.duration=PT24H

request.xds.validationlevel=OFF
response.xds.validationlevel=OFF

Konfiguration af indeks for DDS registry

...

Code Block
collapsetrue
{
   "time":"2025-09-10T12:08:32.78Z",
   "category":"dk.sds.nsp.audit.log",
   "audit":{
      "timestamp":"2025-09-10T14:08:32.686+02:00",
      "components":[
         {
            "component":"DDS",
            "contexts":[
               {
                  "context":"documentRegistryAdhocQuery",
                  "information":[
                     {
                        "key":"patient-cpr",
                        "type":"SPI",
                        "value":"0207761919"
                     },
                     {
                        "key":"bruger-cpr",
                        "type":"SPI",
                        "value":"0611809735"
                     },
                     {
                        "key":"queryTypecode",
                        "type":"NPI",
                        "value":"('39289-4^^2.16.840.1.113883.6.1')"
                     },
                     {
                        "key":"queryFormatcode",
                        "type":"NPI",
                        "value":"EMPTY"
                     },
                     {
                        "key":"queryEventCode",
                        "type":"NPI",
                        "value":"EMPTY"
                     },
                     {
                        "key":"queryStartTimeFrom",
                        "type":"NPI",
                        "value":"EMPTY"
                     },
                     {
                        "key":"queryStartTimeTo",
                        "type":"NPI",
                        "value":"EMPTY"
                     },
                     {
                        "key":"queryStopTimeFrom",
                        "type":"NPI",
                        "value":"EMPTY"
                     },
                     {
                        "key":"queryStopTimeTo",
                        "type":"NPI",
                        "value":"EMPTY"
                     },
                     {
                        "key":"queryAvailabilityStatus",
                        "type":"NPI",
                        "value":"('urn:oasis:names:tc:ebxml-regrep:StatusType:Approved')"
                     },
                     {
                        "key":"queryDocumententryType",
                        "type":"NPI",
                        "value":"('ondemand'), ('stable')"
                     },
                     {
                        "key":"queryReferenceIdList",
                        "type":"NPI",
                        "value":"EMPTY"
                     },
                     {
                        "key":"document_entry.0.repositoryid",
                        "type":"NPI",
                        "value":"1.3.6.1.4.1.21367.2010.1.2.1125"
                     },
                     {
                        "key":"document_entry.0.documentid",
                        "type":"NPI",
                        "value":"0207761919.678401000016005.10001"
                     },
                     {
                        "key":"document_entry.0.typecode",
                        "type":"NPI",
                        "value":"39289-4"
                     },
                     {
                        "key":"document_entry.1.repositoryid",
                        "type":"NPI",
                        "value":"1.3.6.1.4.1.21367.2010.1.2.1125"
                     },
                     {
                        "key":"document_entry.1.documentid",
                        "type":"NPI",
                        "value":"5619531150207761919.6052203964123326052.1537974544003"
                     },
                     {
                        "key":"document_entry.1.typecode",
                        "type":"NPI",
                        "value":"39289-4"
                     },
                     {
                        "key":"document_entry.2.repositoryid",
                        "type":"NPI",
                        "value":"1.3.6.1.4.1.21367.2010.1.2.1125"
                     },
                     {
                        "key":"document_entry.2.documentid",
                        "type":"NPI",
                        "value":"5619531150207761919.7052203964123326052.1537974544003"
                     },
                     {
                        "key":"document_entry.2.typecode",
                        "type":"NPI",
                        "value":"39289-4"
                     },
                     {
                        "key":"document_entry.3.repositoryid",
                        "type":"NPI",
                        "value":"1.3.6.1.4.1.21367.2010.1.2.1125"
                     },
                     {
                        "key":"document_entry.3.documentid",
                        "type":"NPI",
                        "value":"0207761919.6052203964123326052.1537974544003"
                     },
                     {
                        "key":"document_entry.3.typecode",
                        "type":"NPI",
                        "value":"39289-4"
                     },
                     {
                        "key":"document_entry.4.repositoryid",
                        "type":"NPI",
                        "value":"1.3.6.1.4.1.21367.2010.1.2.1125"
                     },
                     {
                        "key":"document_entry.4.documentid",
                        "type":"NPI",
                        "value":"0207761919.7052203964123326052.1537974544003"
                     },
                     {
                        "key":"document_entry.4.typecode",
                        "type":"NPI",
                        "value":"39289-4"
                     },
                     {
                        "key":"document_entry.5.repositoryid",
                        "type":"NPI",
                        "value":"1.3.6.1.4.1.21367.2010.1.2.1125"
                     },
                     {
                        "key":"document_entry.5.documentid",
                        "type":"NPI",
                        "value":"0207761919.7152203964123326052.1537974544013"
                     },
                     {
                        "key":"document_entry.5.typecode",
                        "type":"NPI",
                        "value":"39289-4"
                     },
                     {
                        "key":"document_entry.6.repositoryid",
                        "type":"NPI",
                        "value":"1.3.6.1.4.1.21367.2010.1.2.1125"
                     },
                     {
                        "key":"document_entry.6.documentid",
                        "type":"NPI",
                        "value":"0207761919.7152203964123326052.1537974544113"
                     },
                     {
                        "key":"document_entry.6.typecode",
                        "type":"NPI",
                        "value":"39289-4"
                     },
                     {
                        "key":"document_entry.7.repositoryid",
                        "type":"NPI",
                        "value":"1.3.6.1.4.1.21367.2010.1.2.1125"
                     },
                     {
                        "key":"document_entry.7.documentid",
                        "type":"NPI",
                        "value":"0207761919.7152203964123326052.1537974544123"
                     },
                     {
                        "key":"document_entry.7.typecode",
                        "type":"NPI",
                        "value":"39289-4"
                     },
                     {
                        "key":"document_entry.8.repositoryid",
                        "type":"NPI",
                        "value":"1.3.6.1.4.1.21367.2010.1.2.1125"
                     },
                     {
                        "key":"document_entry.8.documentid",
                        "type":"NPI",
                        "value":"0207761919.7152203964123326052.1537974544213"
                     },
                     {
                        "key":"document_entry.8.typecode",
                        "type":"NPI",
                        "value":"39289-44"
                     },
                     {
                        "key":"document_entry.9.repositoryid",
                        "type":"NPI",
                        "value":"1.3.6.1.4.1.21367.2010.1.2.1125"
                     },
                     {
                        "key":"document_entry.9.repositoryiddocumentid",
                        "type":"NPI",
                        "value":"10207761919.3.6.1.4.1.21367.2010.1.2.11257152203964123326052.1537974544223"
                     },
                     {
                        "key":"document_entry.9.documentidtypecode",
                        "type":"NPI",
                        "value":"0207761919.7152203964123326052.153797454422339289-4"
                     },
                     {
                        "key":"document_entry.910.typecoderepositoryid",
                        "type":"NPI",
                        "value":"39289-41.3.6.1.4.1.21367.2010.1.2.1125"
                     },
                     {
                        "key":"document_entry.10.repositoryiddocumentid",
                        "type":"NPI",
                        "value":"15619531150207761919.3.6.1.4.1.21367.2010.1.2.11256052203964123326052.1537974544003"
                     },
                     {
                        "key":"document_entry.10.documentidtypecode",
                        "type":"NPI",
                        "value":"5619531150207761919.6052203964123326052.153797454400339289-4"
                     },
                     {
                        "key":"document_entry.10.typecodehsuid-header",
                        "type":"SPI",
                        "value":"NPI",
{
                           "assertion":{
                              "valueissuer":"39289-4Aftale",
                     },
         "attributeStatement":{
            {
                        "keyattribute":"hsuid-header",[
                        "type":"SPI",
            {
            "value":{
                           "assertionattributeValue":{
"0207761919",
                                 "issuer      "name":"AftaleNSI_CITIZEN_CIVIL_REGISTRATION_NUMBER",
                                       "attributeStatementnameFormat":{null
                                   "attribute":[ },
                                    {
                                       "attributeValue":"0207761919nsi:HealthcareProfessional",
                                       "name":"NSI_CITIZEN_CIVIL_REGISTRATION_NUMBERUSERTYPE",
                                       "nameFormat":null
                                    },
                                    {
                                       "attributeValue":"nsi:HealthcareProfessional0611809735",
                                       "name":"NSI_USERTYPE_ACTING_USER_CIVIL_REGISTRATION_NUMBER",
                                       "nameFormat":null
                                    },
                                    {
                                       "attributeValue":"061180973533257872",
                                       "name":"NSI_ACTINGORG_USER_CIVIL_REGISTRATION_NUMBERUSING_ID",
                                       "nameFormat":null"NSI_SORCODE"
                                    },
                                    {
                                       "attributeValue":"33257872system owner",
                                       "name":"NSI_ORGSYSTEM_USINGOWNER_IDNAME",
                                       "nameFormat":"NSI_SORCODE"null
                                    },
                                    {
                                       "attributeValue":"systemtest owneraftaler",
                                       "name":"NSI_SYSTEM_OWNER_NAME",
                                       "nameFormat":null
                                    },
                                    {
                                       "attributeValue":"test aftaler1.0",
                                       "name":"NSI_SYSTEM_NAMEVERSION",
                                       "nameFormat":null
                                    },
                                    {
                                       "attributeValue":"1.0MyOrganisation",
                                       "name":"NSI_ORG_SYSTEMRESPONSIBLE_VERSIONNAME",
                                       "nameFormat":null
                                    },
                                    {
                                       "attributeValue":"MyOrganisationfalse",
                                       "name":"NSI_ORGCONSENT_RESPONSIBLE_NAMEOVERRIDE",
                                       "nameFormat":null
                                    },
                                    {
                                       "attributeValue":"false0611809735",
                                       "name":"NSI_CONSENT_OVERRIDERESPONSIBLE_USER_CIVIL_REGISTRATION_NUMBER",
                                       "nameFormat":null
                                    },
                                    {
                                       "attributeValue":"06118097356QF17",
                                       "name":"NSI_RESPONSIBLE_USER_CIVILAUTHORIZATION_REGISTRATION_NUMBERCODE",
                                       "nameFormat":null
                                    },
                                    {],
                                       "attributeValue"id":"6QF17HSUIDdata",
                              },
         "name":"NSI_RESPONSIBLE_USER_AUTHORIZATION_CODE",
                     "issueInstant":1757506112543,
                  "nameFormat":null
            "version":2,
                        }
      "id":"HSUID"
                           ],}
                        }
         "id":"HSUIDdata"
            }
                  },]
               }
               "issueInstant":1757506112543,]
         },
         {
            "versioncomponent":2"MinLog2",
            "contexts":[
                  "id":"HSUID"{
                           }"context":"addRegistrations",
                  "information":[
      }
               {
      }
                  ]"key":"added",
               }
         "type":"SPI",
   ]
         },
         {
   "values":[
         "component":"MinLog2",
            "contexts":[
      "0207761919"
         {
               ]
   "context":"addRegistrations",
                  "information":[},
                     {
                        "key":"addedfailed",
                        "type":"SPI",
                        "values":[
                           "0207761919"
                        ]
                     },
                  ]
   {
            }
            "key":"failed",
]
         }
      ]
   },
   "access":{
      "typecode":"SPI"200,
      "duration":80,
        "httpHeaders":{
          "valuesContent-Type":["text/xml;charset=UTF-8",
           "SOAPAction":"urn:ihe:iti:2007:RegistryStoredQuery"
      },
          "httpHost":"localhost",
      "idCardAttributes":{
         "medcom:CareProviderID":"33257872",
         ]"medcom:CareProviderName":"Sundhedsdatastyrelsen",
         "medcom:ITSystemName":"Service Consumer Test",
          }"medcom:UserAuthorizationCode":"6QF17",
         "medcom:UserRole":"7170",
         ]"sosi:AuthenticationLevel":"4",
               }"sosi:IDCardID":"VhwRkWa9ZDJ2atk5igEBsA==",
            ]"sosi:IDCardType":"user",
         }"sosi:IDCardVersion":"1.0.1"
      ]},
   },
   "accessmethod":{
      "code":200"POST",
      "durationpath":80"/ddsregistry",
      "httpHeadersquery":{
  "",
       "Content-Typeport":"text/xml;charset=UTF-8"9090,
         "SOAPActionprotocol":"urn:ihe:iti:2007:RegistryStoredQuery"http",
      }"reqSize":9424,
      "httpHostresSize":"localhost"57274,
      "idCardAttributessoapHeaders":{
         "medcom:CareProviderIDFlowID":"33257872e4d2aa20-fcaf-44f5-be93-7e29d7acd3d7",
         "medcom:CareProviderNameIssuer":"SundhedsdatastyrelsenTEST1-NSP-STS",
         "medcom:ITSystemNameMessageID":"Service Consumer TestAAABmTOHDKgwkxxDbSVdo1NPU0k=",
         "medcomNameID":UserAuthorizationCode":"6QF17",
urn:uuid:46559bb9-d720-48b7-b9bd-c280915768d0"
      },
      "medcom:UserRolethreadId":"7170default task-113",
         "time"sosi:AuthenticationLevel":"4",
   "2025-09-10T14:08:32.686+02:00",
      "sosi:IDCardIDstats":"VhwRkWa9ZDJ2atk5igEBsA==",{
         "sosi:IDCardTypehandlerDuration":"user"10,
         "sosi:IDCardVersionRequestContentDuration":"1.0.1"
0,
         }"ResponseContentDuration":0,
         "methodSecurityProtocolRequestDuration":"POST"6,
         "pathSecurityProtocolResponseDuration":"/ddsregistry"1,
         "querybufferAllocated":""false,
         "portusedBuffers":90902,
         "protocolactiveBuffersInPool":"http"2,
         "reqSizeidleBuffersInPool":9424,28
      "resSize":57274},
      "soapHeadersreqUUID":{"1c00db04-3a73-4434-8e0e-9c26eb66930e"
   }
}


Hvis request eller response validering er aktiveret og fejl findes vil de fremgå af audit loggen på følgende måde:

Code Block
collapsetrue
  {
    "FlowIDcontext":"e4d2aa20-fcaf-44f5-be93-7e29d7acd3d7",
  "xdsValidation",
    "information": [
      {
        "Issuerkey": "TEST1-NSP-STSvalidationCode",
         "MessageIDtype": "AAABmTOHDKgwkxxDbSVdo1NPU0k=NPI",
         "NameID":"urn:uuid:46559bb9-d720-48b7-b9bd-c280915768d0value": "XDSRegistryError"
      },
      {
        "threadIdkey": "default task-113validationMessage",
        "timetype":"2025-09-10T14:08:32.686+02:00 "SPI",
        "statsvalue":{
 "Unknown query type: urn:uuid:00000000-0000-0000-0000-000000000000"
      "handlerDuration":10},
         "RequestContentDuration":0,{
        "key": "ResponseContentDurationvalidationLevel":0,
        "type": "SecurityProtocolRequestDurationNPI":6,
        "value": "SecurityProtocolResponseDurationREJECT":1,
      },
     "bufferAllocated":false, {
        "key": "usedBuffersvalidationLocation":2,
        "type": "activeBuffersInPoolNPI":2,
        "value": "idleBuffersInPoolAdhocQueryRequest":28
      },
      "reqUUID":"1c00db04-3a73-4434-8e0e-9c26eb66930e"
   }
}

]
  }

Hvor validationLocation vil indikere om der er tale om fejl i request (AdhocQueryRequest) eller response (AdhocQueryResponse) og validationMessage er selve fejlbeskeden.

DDS Repository

De forskellige ITI-43 operationer logger patient-id, bruger-id, på-vegne-af-id samt hsuid-header og for hvert dokument i returneret svar (der kan være frafiltreret dokument(er) pga. samtykker, der kan være forespurgt dokumenter, der ikke er tilgængelige): requestens uniqueId, repositoryUniqueId, homeCommunityId.

...

Code Block
collapsetrue
{
   "time":"2025-09-10T12:08:33.026Z",
   "category":"dk.sds.nsp.audit.log",
   "audit":{
      "timestamp":"2025-09-10T14:08:32.94+02:00",
      "components":[
         {
            "component":"DDS",
            "contexts":[
               {
                  "context":"documentRepositoryRetrieveDocumentSet",
                  "information":[
                     {
                        "key":"patient-cpr",
                        "type":"SPI",
      {
                  "contextvalue":"documentRepositoryRetrieveDocumentSet0207761919",
                     "information":[},
                     {
                        "key":"patientbruger-cpr",
                        "type":"SPI",
                        "value":"02077619190611809735"
                     },
                     {
                        "key":"bruger-cprdocument_entry.0.homecommunityid",
                        "type":"SPINPI",
                        "value":"06118097351.3.6.1.4.1.21367.2010.1.2.1125"
                     },
                     {
                        "key":"document_entry.0.homecommunityidrepositoryid",
                        "type":"NPI",
                        "value":"1.3.6.1.4.1.21367.2010.1.2.1125"
                     },
                     {
                        "key":"document_entry.0.repositoryiddocumentid",
                        "type":"NPI",
                        "value":"15619531150207761919.3.6.1.4.1.21367.2010.1.2.11256052203964123326052.1537974544003"
                     },
                     {
                        "key":"document_entry.0.documentidhsuid-header",
                        "type":"NPISPI",
                        "value":"5619531150207761919.6052203964123326052.1537974544003"
{
                           "assertion":{
                            },
  "issuer":"Aftale",
                              "attributeStatement":{
                                 "keyattribute":"hsuid-header",[
                        "type":"SPI",
            {
            "value":{
                           "assertionattributeValue":{
"0207761919",
                                       "issuername":"AftaleNSI_CITIZEN_CIVIL_REGISTRATION_NUMBER",
                                 "attributeStatement      "nameFormat":{null
                                  "attribute":[  },
                                    {
                                       "attributeValue":"0207761919nsi:HealthcareProfessional",
                                       "name":"NSI_CITIZEN_CIVIL_REGISTRATION_NUMBERUSERTYPE",
                                       "nameFormat":null
                                    },
                                    {
                                       "attributeValue":"nsi:HealthcareProfessional0611809735",
                                       "name":"NSI_USERTYPEACTING_USER_CIVIL_REGISTRATION_NUMBER",
                                       "nameFormat":null
                                    },
                                    {
                                       "attributeValue":"061180973533257872",
                                       "name":"NSI_ACTINGORG_USER_CIVIL_REGISTRATION_NUMBERUSING_ID",
                                       "nameFormat":null"NSI_SORCODE"
                                    },
                                    {
                                       "attributeValue":"33257872system owner",
                                       "name":"NSI_ORGSYSTEM_USINGOWNER_IDNAME",
                                       "nameFormat":"NSI_SORCODE"null
                                    },
                                    {
                                       "attributeValue":"systemtest owneraftaler",
                                       "name":"NSI_SYSTEM_OWNER_NAME",
                                       "nameFormat":null
                                    },
                                    {
                                       "attributeValue":"test aftaler1.0",
                                       "name":"NSI_SYSTEM_NAMEVERSION",
                                       "nameFormat":null
                                    },
                                    {
                                       "attributeValue":"1.0MyOrganisation",
                                       "name":"NSI_ORG_SYSTEMRESPONSIBLE_VERSIONNAME",
                                       "nameFormat":null
                                    },
                                    {
                                       "attributeValue":"MyOrganisationfalse",
                                       "name":"NSI_ORGCONSENT_RESPONSIBLE_NAMEOVERRIDE",
                                       "nameFormat":null
                                    },
                                    {
                                       "attributeValue":"false0611809735",
                                       "name":"NSI_CONSENT_OVERRIDE_RESPONSIBLE_USER_CIVIL_REGISTRATION_NUMBER",
                                       "nameFormat":null
                                    },
                                    {
                                       "attributeValue":"06118097356QF17",
                                       "name":"NSI_RESPONSIBLE_USER_CIVIL_REGISTRATIONAUTHORIZATION_NUMBERCODE",
                                       "nameFormat":null
                                    },
                                    {],
                                       "attributeValue"id":"6QF17HSUIDdata",
                              },
         "name":"NSI_RESPONSIBLE_USER_AUTHORIZATION_CODE",
                     "issueInstant":1757506112831,
                  "nameFormat":null
            "version":2,
                        }
      "id":"HSUID"
                           ],}
                        }
         "id":"HSUIDdata"
            }
                  },]
               }
               "issueInstant":1757506112831,]
         },
         {
            "versioncomponent":2"MinLog2",
                              "idcontexts":"HSUID"[
               {
            }
      "context":"addRegistrations",
                  }"information":[
                     }{
                  ]
       "key":"added",
        }
            ]
         }"type":"SPI",
         {
               "componentvalues":"MinLog2",[
            "contexts":[
               {
"0207761919"
                        "context":"addRegistrations",
]
                    "information":[ },
                     {
                        "key":"addedfailed",
                        "type":"SPI",
                        "values":[
                           "0207761919"
                        ]
                     },
                  ]
   {
            }
            "key":"failed",]
         }
      ]
   },
      "typeaccess":"SPI",{
      "code":200,
            "duration":73,
      "valueshttpHeaders":[{
         "Content-Type":"text/xml;charset=UTF-8",
         "SOAPAction":"urn:ihe:iti:2007:RetrieveDocumentSet"
         },
      "httpHost":"localhost",
         "idCardAttributes":{
         ]"medcom:CareProviderID":"33257872",
         "medcom:CareProviderName":"Sundhedsdatastyrelsen",
         "medcom:ITSystemName":"Service Consumer  }Test",
         "medcom:UserAuthorizationCode":"6QF17",
         ]"medcom:UserRole":"7170",
         "sosi:AuthenticationLevel":"4",
      }
   "sosi:IDCardID":"YRKgDAkQUL4n2svL+G9JWA==",
         ]"sosi:IDCardType":"user",
         }"sosi:IDCardVersion":"1.0.1"
      ]},
   },
   "accessmethod":{
      "code":200"POST",
      "durationpath":73"/ddsrepository",
      "httpHeadersquery":{
   "",
      "Content-Typeport":"text/xml;charset=UTF-8"9091,
         "SOAPAction":"urn:ihe:iti:2007:RetrieveDocumentSet"protocol":"http",
      }"reqSize":8747,
      "httpHostresSize":"localhost"12670,
      "idCardAttributessoapHeaders":{
         "medcom:CareProviderIDFlowID":"33257872e7be2b98-212b-44a3-a2cd-8c9fc91cd103",
         "medcom:CareProviderNameIssuer":"SundhedsdatastyrelsenTEST1-NSP-STS",
         "medcom:ITSystemNameMessageID":"Service Consumer TestAAABmTOHDamrJmpBR/TEJlNPU0k=",
         "NameID"medcom:UserAuthorizationCode"urn:"6QF17",uuid:46559bb9-d720-48b7-b9bd-c280915768d0"
      },
      "medcom:UserRolethreadId":"7170default task-65",
      "time":"2025-09-10T14:08:32.94+02:00",
      "sosi:AuthenticationLevelstats":"4"{
         "handlerDuration":10,
         "sosi:IDCardIDRequestContentDuration":"YRKgDAkQUL4n2svL+G9JWA=="0,
         "ResponseContentDuration":0,
         "sosi:IDCardTypeSecurityProtocolRequestDuration":"user"7,
         "sosi:IDCardVersion":"1.0.1"
SecurityProtocolResponseDuration":1,
         }"bufferAllocated":false,
         "methodusedBuffers":"POST"2,
         "pathactiveBuffersInPool":"/ddsrepository"2,
         "queryidleBuffersInPool":"",18
      "port":9091},
      "protocolreqUUID":"http",41dd9a97-0998-4cdb-91b7-e08be4a1d5bf"
   }
}


Hvis request eller response validering er aktiveret og fejl findes vil de fremgå af audit loggen på følgende måde:

Code Block
collapsetrue
  {
    "reqSizecontext":8747 "xdsValidation",
      "resSizeinformation":12670, [
      "soapHeaders":{
         "FlowIDkey":"e7be2b98-212b-44a3-a2cd-8c9fc91cd103 "validationCode",
         "Issuertype": "TEST1-NSP-STSNPI",
         "MessageIDvalue": "AAABmTOHDamrJmpBR/TEJlNPU0k=XDSRepositoryError",
         "NameID":"urn:uuid:46559bb9-d720-48b7-b9bd-c280915768d0"},
      },{
        "threadIdkey": "default task-65validationMessage",
        "timetype":"2025-09-10T14:08:32.94+02:00 "SPI",
        "statsvalue":{
 "The repository Unique ID is missing"
   "handlerDuration":10,
   },
      "RequestContentDuration":0,{
        "key": "ResponseContentDurationvalidationLevel":0,
        "type": "SecurityProtocolRequestDurationNPI":7,
        "value": "SecurityProtocolResponseDurationREJECT":1,
      },
    "bufferAllocated":false,  {
        "key": "usedBuffersvalidationLocation":2,
        "type": "activeBuffersInPoolNPI":2,
        "value": "idleBuffersInPoolRetrieveDocumentSetRequestType":18
      },
      "reqUUID":"41dd9a97-0998-4cdb-91b7-e08be4a1d5bf"]
   }
}

}

Hvor validationLocation vil indikere om der er tale om fejl i request (RetrieveDocumentSetRequestType) eller response (RetrieveDocumentSetResponseType) og validationMessage er selve fejlbeskeden.

Standard fejlsøgning

  • Ved problemer med indlæsning af servicens konfigurationsfiler (DDSRegistry.properties og DDSRepository.properties) bør man verificere at filen er volume-mappet korrekt. Vær opmærksom på at filen ikke læses hvis den ikke er til stede ved opstart af WildFly serveren.
  • Ved manglende logning hvor der forventes fejlbeskeder bør konfigurationsfilen (DDSRegistry.properties og DDSRepository.properties) checkes, da logindstillingerne sættes herigennem.
  • En service eller et job kan stoppes og startes gennem docker.

...