Page History
...
- 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 | |
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 |
sor.organization.validation.enabled | x | x | Angiver om SOR koden i hsuid headeren skal valideres mod Sores. Default er er false. |
httpclientsores.max.poolingtotal.totalconnectionsconnections | x | x | Konfiguration af client pool (max antal forbindelser i alt) til kald af Sores service Default er 200 |
httpclient.pooling.maxconnections.prsores.default.max.connections.per.route | x | x | Konfiguration af client pool (max antal forbindelser pr. route) til kald af Sores service Default er 20 |
httpclient.pooling.connection.timeoutsores.connect.timeout.millis | x | x | Konfiguration af connection Connect- og connection-request-timeout (angives millisekunder) til kald af Sores service Default er 1000 |
httpclient.pooling.socket.timeoutsores.read.timeout.millis | x | x | Konfiguration af Read-/socket-timeout (angivet i millisekunder) til kald af Sores serviceDefault er 1000 |
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 | |
| personinformation.maxTotalConnections.max.total.connections | x | x | Konfiguration af client pool (max antal forbindelser i alt) til kald af PersonInformation service. Default 200 |
| personinformation.default.max.connections.per.route | x | x | Konfiguration af client pool (max antal forbindelser pr. route) til kald af PersonInformation service. Default 20 |
| personinformation.connect.timeout.defaultMaxConnectionsPerRoutemillis | x | x | Connect- og connection-request-timeout (millisekunder) til kald af PersonInformation service. Default 1000 |
| personinformation.read.timeout.millis | x | x | Read-/socket-timeout (millisekunder) til kald af PersonInformation service. Default 5000Konfiguration af client pool til kald af PersonInformation service |
| personinformation.url | x | x | Peger på endpointet for PersonInformationServicen. |
...
request.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):
minlog.producer.proxy.url=http://test1-cnsp.ekstern-test.nspop.dk:8080/minlog2-kafka-proxy/2026/02/11/registrations request.xds.validationlevel=OFF |
Konfiguration af indeks for DDS registry
...
| Code Block | ||
|---|---|---|
| ||
{
"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 | ||
|---|---|---|
| ||
{ "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 | ||
|---|---|---|
| ||
{
"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 | ||
|---|---|---|
| ||
{ "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.
...