Versions Compared

Key

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

...

I filerne skal følgende properties være definerede. Bemærk kolonnerne "Reg" og "Rep" der angiver med 'x' om propertien kan anvendes for registry henholdsvis repository properties filen.

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.

...

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

x

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

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

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

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.

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.

minlog.query.guardian

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 værge.

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-

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.

minlogrepository.retrieve.documents.processing.defaulttimeout


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 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)

...

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.







...

Logfilnavn

Komponenter der skriver til logfilen

Beskrivelse

ddsregistry.log

DDS Registry

Generel applikationslog

dds-audit.log

DDS Registry

Auditlog for indkommende kald af servicens operationer

nsputil-sla-ddsregistry.log

DDS Registry

SLA-log

ddsregistry-consentoverride.log

DDS Registry

Log over anvendelse af værdispring ved kald af servicens operationer

ddsregistry-servicecheck.log

DDS Registry

Logfil for aktivt servicecheck

ddsregistry-status.log

DDS Registry

Logfil for passivt opsamlet status på webservice- og database-kald.

ddsregistry-xdserror.log

DDS Registry

Logfil for XDS-fejl indlejret i svar samt fejl ved kald af eksterne XDS-komponenter.


DDS Repository:

Logfilnavn

Komponenter der skriver til logfilen

Beskrivelse

ddsrepository.log

DDS Repository

Generel applikationslog

dds-audit.log

DDS Repository

Auditlog for indkommende kald af servicens operationer

nsputil-sla-ddsrepository.log

DDS Repository

SLA-log

ddsrepository-consentoverride.log

DDS Repository

Log over anvendelse af værdispring ved kald af servicens operationer

ddsrepository-servicecheck.log

DDS Repository

Logfil for aktivt servicecheck

ddsrepository-status.log

DDS Repository

Logfil for passivt opsamlet status på webservice- og database-kald.

ddsrepository-xdserror.log

DDS Repository

Logfil for XDS-fejl indlejret i svar samt fejl ved kald af eksterne XDS-komponenter.

SLA log

For alle webservices er der en tilhørende SLA-log, der sørger for at logge udvalgte elementer fra requests til webservicen. For DDS Registry og Repository logges alle kald til DDSRegistryWS henholdsvis DDSRepositoryWS, hvor loggen vil indeholde information om kald til webservicens forskellige serviceoperationer og behandlingstid for kaldet inklusiv kald til kontrolservices.

...

  • logges i feltet GenericCallParms desuden det konfigurerede navn for XDS Registry under parameternavnet registryFriendlyName.
  • logges fejlet kald, på trods af succesfuldt kald, når en eller flere af følgende XDS-fejl/advarsler er indlejret i XDS-fejlstrukturen i svaret:
    • XDSMissingHomeCommunityId
    • XDSRegistryBusy
    • XDSRegistryError, medmindre der er tale om advarsel om tilbageholdte oplysninger grundet samtykker
    • XDSRegistryOutOfResources
    • XDSUnavailableCommunity
    • XDSUnknownCommunity



SLA-logpunkter for indkommende kald til DDS Repository:

  • DocumentRepository_RetrieveDocumentSet

SLA-logpunkter for udgående kald fra DDS Repository:

Kaldte service

LogPoint

TargetSOAPOperation

Behandlings-relations-service

DocumentRepository_RetrieveDocumentSet.TreatmentRelation

http://nsi.dk/fmki20110601#treatmentRelation

MinLog

DocumentRepository_RetrieveDocumentSet.Minlog.LogDataAdd

LogDataAdd

Samtykke

DocumentRepository_RetrieveDocumentSet.ConsentForUserCheck

urn:dk:nsi:consentservices:verification:service:1#ConsentForUserCheck

Samtykke

DocumentRepository_RetrieveDocumentSet.ConsentForDataCheck

urn:dk:nsi:consentservices:verification:service:1#ConsentForDataCheck

XDS Repository

DocumentRepository_RetrieveDocumentSet

urn:ihe:iti:2007:RetrieveDocumentSet


For SLA-logning af udgående kald til XDS Repository:

  • logges i feltet GenericCallParms desuden det kaldte XDS Repository’s repositoryUniqueId under parameternavnet repositoryUniqueId.

  • logges fejlet kald, på trods af succesfuldt kald, når en eller flere af følgende XDS-fejl/advarsler er indlejret i XDS-fejlstrukturen i svaret:

    • XDSMissingHomeCommunityId

    • XDSRepositoryBusy

    • XDSRepositoryError, medmindre der er tale om advarsel om tilbageholdte oplysninger grundet samtykker

    • XDSRepositoryOutOfResources

    • XDSUnavailableCommunity

    • XDSUnknownCommunity

    • XDSUnknownRepositoryId

Audit log

Auditlogning foretages med det officielle NSP Audit Log modul.

...

ITI-18 søgninger logger patient-id, bruger-id, på-vegne-af-id og for hver DocumentEntry (DE) i returneret svar (der kan være frafiltreret metadata pga. samtykker): DE.uniqueId, DE.repositoryUniqueId, DE.homeCommunityId, DE.typeCode. Se eksempel nedenfor:

{
   "time": "2018-09-27T19:55:44.68Z",
   "category": "dk.sds.nsp.audit.log.dds",
   "audit": {
      "timestamp": "2018-09-27T21:55:42.745+02:00",
      "components": [
         {
            "component": "DDS",
            "contexts": [
               {
                  "context": "documentRegistryAdhocQuery",
                  "information": [
                     {
                        "key": "patient-cpr",
                        "type": "RPI",
                        "value": "2110979420"
                     },
                     {
                        "key": "bruger-cpr",
                        "type": "RPI",
                        "value": "0101584160"
                     },
                     {
                        "key": "on-behalf-of-cpr",
                        "type": "RPI",
                        "value": "0101584160"
                     },
                     {
                        "key": "citizen-relation",
                        "type": "RPI",
                        "value": "guardian"
                     },
                        "key": "queryTypecode",
                        "type": "NPI",
                        "values": [
                           "('53576-5^^2.16.840.1.113883.6.1')",
                           "('39289-4^^2.16.840.1.113883.6.1')"
                        ]

                     },
                     

                           },                   

                     {
                        "key": "queryFormatcode",
                        "type": "NPI",
                        "value": "urn:ad:dk:medcom:appointmentsummary:full^^1.2.208.184.100.10"
                     },
                     {
                        "key": "queryEventCode",
                        "type": "NPI",
                        "value": "EMPTY"
                     },
                     {
                        "key": "queryStartTimeFrom",
                        "type": "NPI",
                        "value": "20230801000000"
                     },
                     {
                        "key": "queryStartTimeTo",
                        "type": "NPI",
                        "value": "20230802000000"
                     },
                     {
                        "key": "queryStopTimeFrom",
                        "type": "NPI",
                        "value": "20230806000000"
                     },
                     {
                        "key": "queryStopTimeTo",
                        "type": "NPI",
                        "value": "20230807000000"
                     }, 
                     {
                        "key": "queryAvailabilityStatus",
                        "type": "NPI",
                        "value": "('urn:oasis:names:tc:ebxml-regrep:StatusType:Approved')"
                     },
                     {
                        "key": "queryDocumententryType",
                        "type": "NPI",
                        "value": "('ondemand'), ('stable')"
                     },
                     {
                        "key": "document_entry.0.homecommunityid",
                        "type": "SPI",
                        "value": ""
                     },
                     {
                        "key": "document_entry.0.repositoryid",
                        "type": "SPI",
                        "value": "1.3.6.1.4.1.21367.2010.1.2.1125"
                     },
                     {
                        "key": "document_entry.0.documentid",
                        "type": "SPI",
                        "value": "8352061236760766124.2930903161888816635.1538046332405"
                     },
                     {
                        "key": "document_entry.0.typecode",
                        "type": "SPI",
                        "value": "53576-5"
                     },
                     {
                        "key": "document_entry.1.homecommunityid",
                        "type": "SPI",
                        "value": ""
                     },
                     {
                        "key": "document_entry.1.repositoryid",
                        "type": "SPI",
                        "value": "1.3.6.1.4.1.21367.2010.1.2.1125"
                     },
                     {
                        "key": "document_entry.1.documentid",
                        "type": "SPI",
                        "value": "4869530052539485342.5952203964580776052.1537974946937"
                     },
                     {
                        "key": "document_entry.1.typecode",
                        "type": "SPI",
                        "value": "53576-5"
                     }
                  ]
               }
            ]
         }
      ]
   },
   "access": {
      "code": 200,
      "duration": 1826,
      "httpHeaders": {
         "Content-Type": "application/soap+xml; charset=UTF-8"
      },
      "httpHost": "localhost",
      "idCardAttributes": {
         "medcom:CareProviderID": "30808460",
         "medcom:CareProviderName": "NETS DANID A/S",
         "medcom:ITSystemName": "TRUST2408 Systemtest XIX CA",
         "sosi:AuthenticationLevel": "3",
         "sosi:IDCardID": "RBW1ZXSm/btA4HnXsGvhpg==",
         "sosi:IDCardType": "system",
         "sosi:IDCardVersion": "1.0.1"
      },
      "method": "POST",
      "path": "/ddsregistry/service",
      "query": "",
      "port": 9090,
      "protocol": "http",
      "reqSize": 8754,
      "resSize": 16910,
      "soapHeaders": {
         "Issuer": "TEST1-NSP-STS",
         "MessageID": "AAABZhyZvtFydsMAFNBBgFNPU0k=",
         "NameID": "SubjectDN={SERIALNUMBER=CVR:30808460-UID:25351738 + CN=NETS DANID A/S - TU VOCES gyldig, O=NETS DANID A/S // CVR:30808460, C=DK},IssuerDN={CN=TRUST2408 Systemtest XIX CA, O=TRUST2408, C=DK},CertSerial={1478025777}",
         "w3Action": "urn:ihe:iti:2007:RegistryStoredQuery",
         "w3MessageID": "urn:uuid:9660068c-accb-425e-a350-2dd9cbfcf408",
         "w3To": "http://localhost:9090/ddsregistry/service"
      },
      "threadId": "default task-1",
      "time": "2018-09-27T21:55:42.739+02:00",
      "stats": {
         "handlerDuration": 90,
         "bufferAllocated": true,
         "usedBuffers": 2,
         "activeBuffersInPool": 2,
         "idleBuffersInPool": 0
      }
   }
}

DDS Repository

De forskellige ITI-43 operationer logger patient-id, bruger-id, på-vegne-af-id 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.

Eksempel:

{
   "time": "2018-09-27T19:28:53.476Z",
   "category": "dk.sds.nsp.audit.log.dds",
   "audit": {
      "timestamp": "2018-09-27T21:28:52.996+02:00",
      "components": [
         {
            "component": "DDS",
            "contexts": [
               {
                  "context": "documentRepositoryRetrieveDocumentSet",
                  "information": [
                     {
                        "key": "patient-cpr",
                        "type": "RPI",
                        "value": "2110979420"
                     },
                     {
                        "key": "bruger-cpr",
                        "type": "RPI",
                        "value": "0101584160"
                     },
                     {
                        "key": "on-behalf-of-cpr",
                        "type": "RPI",
                        "value": "0101584160"
                     },
                     {
                        "key": "document_entry.0.homecommunityid",
                        "type": "SPI",
                        "value": "urn:oid:1.3.6.1.4.1.21367.2010.1.2.2045"
                     },
                     {
                        "key": "document_entry.0.repositoryid",
                        "type": "SPI",
                        "value": "1.3.6.1.4.1.21367.2010.1.2.1125"
                     },
                     {
                        "key": "document_entry.0.documentid",
                        "type": "SPI",
                        "value": "8352061236760766124.2930903161888816635.1538046332405"
                     },
                     {
                        "key": "document_entry.1.homecommunityid",
                        "type": "SPI",
                        "value": "urn:oid:1.3.6.1.4.1.21367.2010.1.2.2045"
                     },
                     {
                        "key": "document_entry.1.repositoryid",
                        "type": "SPI",
                        "value": "1.3.6.1.4.1.21367.2010.1.2.1125"
                     },
                     {
                        "key": "document_entry.1.documentid",
                        "type": "SPI",
                        "value": "4869530052539485342.5952203964580776052.1537974946937"
                     }
                  ]
               }
            ]
         }
      ]
   },
   "access": {
      "code": 200,
      "duration": 390,
      "httpHeaders": {
         "Content-Type": "multipart/related; type=\"application/xop+xml\"; boundary=\"uuid:ff2230e6-7a7b-42b5-b8d7-448396803b2b\"; start=\"<root.message@cxf.apache.org>\"; start-info=\"application/soap+xml\""
      },
      "httpHost": "localhost",
      "idCardAttributes": {
         "medcom:CareProviderID": "30808460",
         "medcom:CareProviderName": "NETS DANID A/S",
         "medcom:ITSystemName": "TRUST2408 Systemtest XIX CA",
         "sosi:AuthenticationLevel": "3",
         "sosi:IDCardID": "PJBE7nBkFgG1DN6pvsHUhQ==",
         "sosi:IDCardType": "system",
         "sosi:IDCardVersion": "1.0.1"
      },
      "method": "POST",
      "path": "/ddsrepository/service",
      "query": "",
      "port": 9091,
      "protocol": "http",
      "reqSize": 8962,
      "resSize": 43188,
      "soapHeaders": {
         "Issuer": "TEST1-NSP-STS",
         "MessageID": "AAABZhyBSdBSTccik8TayVNPU0k=",
         "NameID": "SubjectDN={SERIALNUMBER=CVR:30808460-UID:25351738 + CN=NETS DANID A/S - TU VOCES gyldig, O=NETS DANID A/S // CVR:30808460, C=DK},IssuerDN={CN=TRUST2408 Systemtest XIX CA, O=TRUST2408, C=DK},CertSerial={1478025777}",
         "w3Action": "urn:ihe:iti:2007:RetrieveDocumentSet",
         "w3MessageID": "urn:uuid:cde2752b-23a0-4410-b1b7-fd3db1156b5b",
         "w3To": "http://localhost:9091/ddsrepository/service"
      },
      "threadId": "default task-2",
      "time": "2018-09-27T21:28:52.996+02:00",
      "stats": {
         "handlerDuration": 84,
         "bufferAllocated": false,
         "usedBuffers": 2,
         "activeBuffersInPool": 2,
         "idleBuffersInPool": 0
      }
   }
}


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.

...