Dette dokument dækker følgende komponenter på NSP:
Dokumentregistrerings- og oprettelsesservice
Type: Webservice
Filnavn: dros.war
Url: <serverurl>/dros
Servicecheckurl: <serverurl>/drs/status
Versionurl: <serverurl>/dros/health returnerer en json struktur med denne
Grundlæggende konfiguration foregår ved redigering i filen dros.properties, der placeres i følgende WildFly modul:
/pack/wildfly8/modules/sds/dros/configuration/main/
Moduldefinitionen er at finde i sourcekoden til dros under:
/dros-war/etc/modules/sds/dros/configuration/main/module.xml
I filen skal følgende properties være definerede:
Property | Beskrivelse |
dros.url.prefix | URL prefix der indsættes i wsdl'er og bruges af dks-servlet. |
dros.app.name | Anvendes af dks-servlet |
iti41.service.endpoint | Endpoint på ITI41-backend. |
iti41.service.security.require.person | Angiver, om der skal anvendes personlige sikkerhedsbillet i.e UserIdCard eller det er nok med SystemIdCard (true/false) Default: false |
iti41.service.xds.validationlevel | Angiver hvordan requestet valideres inden der kaldes videre til det bagvedliggende registry. Skal have en af værdierne OFF, WARNING og REJECT. Se dokumentet 'Design og Arkitektur' for en beskrivelse af disse værdier. |
iti42.service.endpoint | Endpoint på ITI42-backend. |
iti42.service.security.require.person | Angiver, om der skal anvendes personlige sikkerhedsbillet i.e UserIdCard eller det er nok med SystemIdCard (true/false) Default: false |
iti42.service.xds.validationlevel | Angiver hvordan requestet valideres inden der kaldes videre til det bagvedliggende registry. Skal have en af værdierne OFF, WARNING og REJECT. Se dokumentet 'Design og Arkitektur' for en beskrivelse af disse værdier. |
iti57.service.endpoint | Endpoint på ITI57-backend. |
iti57.service.security.require.person | Angiver, om der skal anvendes personlige sikkerhedsbillet i.e UserIdCard eller det er nok med SystemIdCard (true/false) Default: false |
iti57.service.xds.validationlevel | Angiver hvordan requestet valideres inden der kaldes videre til det bagvedliggende registry. Skal have en af værdierne OFF, WARNING og REJECT. Se dokumentet 'Design og Arkitektur' for en beskrivelse af disse værdier. |
iti61.service.endpoint | Endpoint på ITI61-backend. |
iti61.service.security.require.person | Angiver, om der skal anvendes personlige sikkerhedsbillet i.e UserIdCard eller det er nok med SystemIdCard (true/false) Default: false |
iti61.service.xds.validationlevel | Angiver hvordan requestet valideres inden der kaldes videre til det bagvedliggende registry. Skal have en af værdierne OFF, WARNING og REJECT. Se dokumentet 'Design og Arkitektur' for en beskrivelse af disse værdier. |
dros.backend.failure.threshold | Tærskel for, hvor mange gang i træk et kald til en backend må fejle, før denne backend betragtes som 'død' af status-siden. |
dros.backend.failure.interval.minutes | Angiver antal minutter hvorefter fejlkald 'forældes'. Dermed er det kun fejlkald, der er nyere end dette, der medregnes, når det vurderes om backenden fejler. |
cprexists.validationlevel | Valideringsniveau for CPR validering Eksempel: WARNING, REJECT, OFF |
cprexists.url | URL for CPR exist service Eksempel: http://test1-cnsp.ekstern-test.nspop.dk:8080/stamdata-cprexists |
cprexists.maxTotalConnections | Konfiguration af client pool til kald af CPRExists service Default: 200 |
cprexists.defaultMaxConnectionsPerRoute | Konfiguration af client pool til kald af CPRExists service Default: 20 |
Log4j konfiguration findes i samme wildfly modul som servicekonfigurationen
Se yderligere opsætning i installationsvejledningen.
DROS udstiller en overvågningsside, som findes i listen af komponenter i afsnit 2.
DROS-overvågningssiden returnerer enten:
Det overvåges for hver backend, om kaldene til backenden går galt. Det kan konfigureres, hvor mange kald i træk der må gå galt, før en backend betragtes som 'død'.
200 OK
---------------------------------------
STATUS
ITI41 backend : "0/50 fejl" ITI42 backend : "0/50 fejl" ITI57 backend : "0/50 fejl" ITI61 backend : "0/50 fejl" CprExistsServiceClient : "0/50 fejl"
Det fremgår for hver backend, om kaldene til den går godt eller ej.
203 Non-authoritative Information
---------------------------------------
STATUS
ITI41 backend : "0/50 fejl" ITI42 backend : "0/50 fejl" ITI57 backend : "0/50 fejl" ITI61 backend : "0/50 fejl" CprExistsServiceClient : "55/50 fejl"
Hvis kaldene til cprexists backend ikke kan udføres, så returneres statuskode 203 (indenfor failure threshold, som kan sættes op som en konfigurationsparameter).
500 Internal Server Error
---------------------------------------
STATUS
ITI41 backend : "0/50 fejl" ITI42 backend : "0/50 fejl" ITI57 backend : "55/50 fejl" ITI61 backend : "0/50 fejl" CprExistsServiceClient : "0/50 fejl"
Hvis kaldene til een af ITI backends ikke kan udføres, så returneres statuskode 500 (indenfor failure threshold, som kan sættes op som en konfigurationsparameter).
Hvert servicekald medfører en ny indgang i auditloggen, som er udfyldt som følger:
* Component: DROS/<operation>, hvor <operation> er navnet på den operation der kaldes, f.eks. ProvideAndRegisterDocumentSetB.
* Context: Udfyldes med DocumentId. Hvis requestet indeholder flere dokumenter, oprettes en context for hvert dokument.
For hver context skrives følgende informationer
Felt | Type | Indhold |
---|---|---|
DocumentId | RegularPersonalInformation | DokumentId'et. |
DocumentType | RegularPersonalInformation | Dokumentets TypeCode |
CitizenId | RegularPersonalInformation | PatientId, som dokumentet omhandler. |
FormatCode | RegularPersonalInformation | FormatCode |
SubmissionSet | RegularPersonalInformation | UniqueId fra SubmissionSet i request. |
AssociationSourceId | RegularPersonalInformation | SourceId fra association, hvis dokumentet er enten source eller target på association. |
AssociationTargetId | RegularPersonalInformation | TargetId fra association, hvis dokumentet er enten source eller target på association. |
AssociationType | RegularPersonalInformation | AssociationType fra association, hvis dokumentet er enten source eller target på association. Den fulde URI logges. |
AuthorInstitutionAssigningAuthority | RegularPersonalInformation | AssigningAuthority fra authorInstitution for dokumentet. |
AuthorInstitutionId | RegularPersonalInformation | Id fra authorInstitution for dokumentet |
Nedenfor ses eksempler fra auditloggen ved kald af de forskellige snitflader.
{ "time":"2021-05-03T21:04:01.676Z", "category":"dk.sds.nsp.audit.log.dros/registerondemanddocumententry", "audit":{ "timestamp":"2021-05-03T23:03:59.454+02:00", "components":[ { "component":"DROS/RegisterOnDemandDocumentEntry", "contexts":[ { "context":"urn:uuid:5544575c-8cc6-45de-9db5-3059131670a2", "information":[ { "key":"DocumentId", "type":"RPI", "value":"7943305690136181220.5733255671233166403.1620075838248" }, { "key":"DocumentType", "type":"RPI", "value":"39289-4" }, { "key":"CitizenId", "type":"RPI", "value":"010101010101" }, { "key":"FormatCode", "type":"RPI", "value":"urn:ad:dk:medcom:appointment" }, { "key":"SubmissionSetId", "type":"RPI", "value":"4755022980679903663.6588331163711420386.1620075838319" }, { "key":"AuthorInstitutionAssigningAuthority", "type":"RPI", "value":"1.2.208.176.1.1" }, { "key":"AuthorInstitutionId", "type":"RPI", "value":"123456789" } ] } ] } ] }, "access":{ "code":200, "duration":1216, "httpHeaders":{ "Content-Type":"application/soap+xml; charset=UTF-8" }, "httpHost":"localhost", "idCardAttributes":{ "medcom:CareProviderID":"46837428", "medcom:CareProviderName":"Statens Serum Institut", "medcom:ITSystemName":"Test", "sosi:AuthenticationLevel":"3", "sosi:IDCardID":"m/a4UIUpkKPnk/My7ueRsw==", "sosi:IDCardType":"system", "sosi:IDCardVersion":"1.0.1" }, "method":"POST", "path":"/dros/iti61", "query":"", "port":8060, "protocol":"http", "reqSize":14130, "resSize":460, "soapHeaders":{ "Issuer":"TEST2-NSP-STS", "MessageID":"AAABeTQLfBBVLIDLtfEB2VNPU0k=", "NameID":"SubjectDN={SERIALNUMBER=CVR:46837428-UID:27910135 + CN=Statens Serum Institut - Test VOCES, O=Statens Serum Institut // CVR:46837428, C=DK},IssuerDN={CN=TRUST2408 Systemtest XXII CA, O=TRUST2408, C=DK},CertSerial={1495058165}", "w3Action":"urn:ihe:iti:2010:RegisterOnDemandDocumentEntry", "w3MessageID":"urn:uuid:9ebc494f-a276-462a-b6e9-3ee6c69a1bc7", "w3To":"http://localhost:8060/dros/iti61" }, "threadId":"default task-1", "time":"2021-05-03T23:03:59.443+02:00", "stats":{ "handlerDuration":965, "RequestContentDuration":70, "ResponseContentDuration":0, "SecurityProtocolRequestDuration":587, "SecurityProtocolResponseDuration":0, "bufferAllocated":true, "usedBuffers":2, "activeBuffersInPool":2, "idleBuffersInPool":0 } } } |
{ "time":"2021-05-03T21:04:04.485Z", "category":"dk.sds.nsp.audit.log.dros/provideandregisterdocumentsetb", "audit":{ "timestamp":"2021-05-03T23:04:02.429+02:00", "components":[ { "component":"DROS/ProvideAndRegisterDocumentSetB", "contexts":[ { "context":"urn:uuid:db9d8684-e06c-4c65-af58-0137e6646733", "information":[ { "key":"DocumentId", "type":"RPI", "value":"6687982596253355541.8162358355401787246.1620075842168" }, { "key":"DocumentType", "type":"RPI", "value":"39289-4" }, { "key":"CitizenId", "type":"RPI", "value":"ABCDE" }, { "key":"FormatCode", "type":"RPI", "value":"urn:ad:dk:medcom:appointment" }, { "key":"SubmissionSetId", "type":"RPI", "value":"5335953767189358702.7648709839978447749.1620075842178" }, { "key":"AuthorInstitutionAssigningAuthority", "type":"RPI", "value":"1.2.208.176.1.1" }, { "key":"AuthorInstitutionId", "type":"RPI", "value":"12345679999" } ] } ] } ] }, "access":{ "code":200, "duration":1878, "httpHeaders":{ "Content-Type":"multipart/related; type=\"application/xop+xml\"; boundary=\"uuid:06457de8-0189-4a1e-ba98-66da58d79ce7\"; start=\"<root.message@cxf.apache.org>\"; start-info=\"application/soap+xml\"" }, "httpHost":"localhost", "idCardAttributes":{ "medcom:CareProviderID":"46837428", "medcom:CareProviderName":"Statens Serum Institut", "medcom:ITSystemName":"Test", "sosi:AuthenticationLevel":"3", "sosi:IDCardID":"P0OgWK2GAfYY6IhdSoPMRg==", "sosi:IDCardType":"system", "sosi:IDCardVersion":"1.0.1" }, "method":"POST", "path":"/dros/iti41", "query":"", "port":8060, "protocol":"http", "reqSize":24833, "resSize":699, "soapHeaders":{ "Issuer":"TEST2-NSP-STS", "MessageID":"AAABeTQLioY3nvNwrBEcjVNPU0k=", "NameID":"SubjectDN={SERIALNUMBER=CVR:46837428-UID:27910135 + CN=Statens Serum Institut - Test VOCES, O=Statens Serum Institut // CVR:46837428, C=DK},IssuerDN={CN=TRUST2408 Systemtest XXII CA, O=TRUST2408, C=DK},CertSerial={1495058165}", "w3Action":"urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-b", "w3MessageID":"urn:uuid:cd7f3bdb-647b-4766-864a-0070a8168e73", "w3To":"http://localhost:8060/dros/iti41" }, "threadId":"default task-3", "time":"2021-05-03T23:04:02.429+02:00", "stats":{ "handlerDuration":174, "RequestContentDuration":17, "ResponseContentDuration":0, "SecurityProtocolRequestDuration":140, "SecurityProtocolResponseDuration":0, "bufferAllocated":false, "usedBuffers":4, "activeBuffersInPool":4, "idleBuffersInPool":3 } } } |
{ "time":"2021-05-03T21:04:09.776Z", "category":"dk.sds.nsp.audit.log.dros/provideandregisterdocumentsetb", "audit":{ "timestamp":"2021-05-03T23:04:08.786+02:00", "components":[ { "component":"DROS/ProvideAndRegisterDocumentSetB", "contexts":[ { "context":"urn:uuid:7e8274fc-bee7-46e8-995d-8a1ec518ce62", "information":[ { "key":"DocumentId", "type":"RPI", "value":"7371703074493874590.8623536501958069031.1620075848759" }, { "key":"DocumentType", "type":"RPI", "value":"39289-4" }, { "key":"CitizenId", "type":"RPI", "value":"ABCDE" }, { "key":"FormatCode", "type":"RPI", "value":"urn:ad:dk:medcom:appointment" }, { "key":"SubmissionSetId", "type":"RPI", "value":"6073800182764791022.8734924007446367108.1620075848770" }, { "key":"AssociationSourceId", "type":"RPI", "value":"urn:uuid:7e8274fc-bee7-46e8-995d-8a1ec518ce62" }, { "key":"AssociationTargetId", "type":"RPI", "value":"urn:uuid:90a33869-727b-4af7-9a6a-ef030107e341" }, { "key":"AssociationType", "type":"RPI", "value":"urn:ihe:iti:2007:AssociationType:RPLC" }, { "key":"AuthorInstitutionAssigningAuthority", "type":"RPI", "value":"1.2.208.176.1.1" }, { "key":"AuthorInstitutionId", "type":"RPI", "value":"12345679999" } ] } ] } ] }, "access":{ "code":200, "duration":912, "httpHeaders":{ "Content-Type":"multipart/related; type=\"application/xop+xml\"; boundary=\"uuid:5f90d79b-d113-4884-a9ce-1c4434a79f39\"; start=\"<root.message@cxf.apache.org>\"; start-info=\"application/soap+xml\"" }, "httpHost":"localhost", "idCardAttributes":{ "medcom:CareProviderID":"46837428", "medcom:CareProviderName":"Statens Serum Institut", "medcom:ITSystemName":"Test", "sosi:AuthenticationLevel":"3", "sosi:IDCardID":"rvUKALhPjCol2nJTJqDt+A==", "sosi:IDCardType":"system", "sosi:IDCardVersion":"1.0.1" }, "method":"POST", "path":"/dros/iti41", "query":"", "port":8060, "protocol":"http", "reqSize":25071, "resSize":699, "soapHeaders":{ "Issuer":"TEST2-NSP-STS", "MessageID":"AAABeTQLpEik3TDY2H298VNPU0k=", "NameID":"SubjectDN={SERIALNUMBER=CVR:46837428-UID:27910135 + CN=Statens Serum Institut - Test VOCES, O=Statens Serum Institut // CVR:46837428, C=DK},IssuerDN={CN=TRUST2408 Systemtest XXII CA, O=TRUST2408, C=DK},CertSerial={1495058165}", "w3Action":"urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-b", "w3MessageID":"urn:uuid:f44dfe0a-c002-4a72-8e89-80b3df6b2370", "w3To":"http://localhost:8060/dros/iti41" }, "threadId":"default task-8", "time":"2021-05-03T23:04:08.786+02:00", "stats":{ "handlerDuration":73, "RequestContentDuration":6, "ResponseContentDuration":0, "SecurityProtocolRequestDuration":51, "SecurityProtocolResponseDuration":0, "bufferAllocated":false, "usedBuffers":4, "activeBuffersInPool":4, "idleBuffersInPool":4 } } } |
{ "time":"2021-05-03T21:04:07.307Z", "category":"dk.sds.nsp.audit.log.dros/registerdocumentsetb", "audit":{ "timestamp":"2021-05-03T23:04:07.03+02:00", "components":[ { "component":"DROS/RegisterDocumentSetB", "contexts":[ { "context":"urn:uuid:ac0ce91a-320d-4370-839f-25598dd0bfab", "information":[ { "key":"DocumentId", "type":"RPI", "value":"9139873772290913932.1273906388098236954.1620075847000" }, { "key":"DocumentType", "type":"RPI", "value":"39289-4" }, { "key":"CitizenId", "type":"RPI", "value":"010101010101" }, { "key":"FormatCode", "type":"RPI", "value":"urn:ad:dk:medcom:appointment" }, { "key":"SubmissionSetId", "type":"RPI", "value":"8587115512321077717.2026797048612801310.1620075847001" }, { "key":"AuthorInstitutionAssigningAuthority", "type":"RPI", "value":"1.2.208.176.1.1" }, { "key":"AuthorInstitutionId", "type":"RPI", "value":"123456789" } ] } ] } ] }, "access":{ "code":200, "duration":250, "httpHeaders":{ "Content-Type":"application/soap+xml; charset=UTF-8" }, "httpHost":"localhost", "method":"POST", "path":"/dros/iti42noDgws", "query":"", "port":8060, "protocol":"http", "reqSize":8696, "resSize":919, "soapHeaders":{ "w3Action":"urn:ihe:iti:2007:RegisterDocumentSet-b", "w3MessageID":"urn:uuid:c270fc64-56f2-4b6b-b65b-4caf7623d19a", "w3To":"http://localhost:8060/dros/iti42noDgws" }, "threadId":"default task-6", "time":"2021-05-03T23:04:07.03+02:00", "stats":{ "handlerDuration":22, "RequestContentDuration":1, "ResponseContentDuration":0, "SecurityProtocolRequestDuration":0, "SecurityProtocolResponseDuration":0, "bufferAllocated":false, "usedBuffers":2, "activeBuffersInPool":2, "idleBuffersInPool":6 } } } |
{ "time":"2021-05-03T21:54:21.875Z", "category":"dk.sds.nsp.audit.log.dros/updatedocumentset", "audit":{ "timestamp":"2021-05-03T23:54:21.673+02:00", "components":[ { "component":"DROS/UpdateDocumentSet", "contexts":[ { "context":"8bee75d3-9e1e-4646-b440-ffb6e13f8099", "information":[ { "key":"AssociationSourceId", "type":"RPI", "value":"8bee75d3-9e1e-4646-b440-ffb6e13f8099" }, { "key":"AssociationTargetId", "type":"RPI", "value":"urn:uuid:bf963b2e-7fd0-4b25-9c1b-b9762af656f7" }, { "key":"AssociationType", "type":"RPI", "value":"urn:ihe:iti:2010:AssociationType:UpdateAvailabilityStatus" }, { "key":"AssociationStatus", "type":"RPI", "value":"Deprecated" } ] } ] } ] }, "access":{ "code":200, "duration":166, "httpHeaders":{ "Content-Type":"application/soap+xml; charset=UTF-8" }, "httpHost":"localhost", "idCardAttributes":{ "medcom:CareProviderID":"46837428", "medcom:CareProviderName":"Statens Serum Institut", "medcom:ITSystemName":"Test", "sosi:AuthenticationLevel":"3", "sosi:IDCardID":"sTLZT4F425EnY6GleFiNcA==", "sosi:IDCardType":"system", "sosi:IDCardVersion":"1.0.1" }, "method":"POST", "path":"/dros/iti57", "query":"", "port":8060, "protocol":"http", "reqSize":9253, "resSize":460, "soapHeaders":{ "Issuer":"TEST2-NSP-STS", "MessageID":"AAABeTQ5nWIfoju4xRpdM1NPU0k=", "NameID":"SubjectDN={SERIALNUMBER=CVR:46837428-UID:27910135 + CN=Statens Serum Institut - Test VOCES, O=Statens Serum Institut // CVR:46837428, C=DK},IssuerDN={CN=TRUST2408 Systemtest XXII CA, O=TRUST2408, C=DK},CertSerial={1495058165}", "w3Action":"urn:ihe:iti:2010:UpdateDocumentSet", "w3MessageID":"urn:uuid:e81108e0-603e-4662-8320-689c1e64a2f9", "w3To":"http://localhost:8060/dros/iti57" }, "threadId":"default task-12", "time":"2021-05-03T23:54:21.673+02:00", "stats":{ "handlerDuration":33, "RequestContentDuration":1, "ResponseContentDuration":0, "SecurityProtocolRequestDuration":27, "SecurityProtocolResponseDuration":0, "bufferAllocated":false, "usedBuffers":2, "activeBuffersInPool":2, "idleBuffersInPool":6 } } } |
Hvis CPR validering kører i WARNING mode, så vil ugyldige (ifølge CPRExits service) CPR numre give anledning til en linje i auditloggen. Logninger af denne type ser således ud:
{ "time":"2021-08-19T08:46:13.461Z", "category":"dk.sds.nsp.audit.log.dros", "audit":{ "timestamp":"2021-08-19T10:46:13.081+02:00", "components":[ { "component":"DROS", "contexts":[{ "context":"iti-41", "information":[{ "key":"dk.nsp.cpr.exists.false", "type":"SPI","value":"ABCDE" }] }] }, { "component":"DROS/ProvideAndRegisterDocumentSetB", "contexts":[{ "context":"urn:uuid:5e2abecf-a1aa-4059-bc67-789492ef5e49", "information":[{ "key":"DocumentId", "type":"RPI", "value":"5776847426915191537.1243631302011472830.1629362773007" }, { "key":"DocumentType", "type":"RPI", "value":"39289-4" }, { "key":"CitizenId", "type":"RPI", "value":"ABCDE" }, { "key":"FormatCode", "type":"RPI", "value":"urn:ad:dk:medcom:appointment" }, { "key":"SubmissionSetId", "type":"RPI", "value":"6382716294106427493.5756439411433255780.1629362773009" }] }] } ] }, "access":{ "code":200, "duration":350, "httpHeaders":{ "Content-Type":"multipart/related; type=\"application/xop+xml\"; boundary=\"uuid:40d856a8-1a44-4ab2-a26a-947c1c6ec09d\"; start=\"<root.message@cxf.apache.org>\"; start-info=\"application/soap+xml\"" }, "httpHost":"localhost", "idCardAttributes":{ "medcom:CareProviderID":"46837428", "medcom:CareProviderName":"Statens Serum Institut", "medcom:ITSystemName":"Test", "sosi:AuthenticationLevel":"3", "sosi:IDCardID":"aXDKFJ7P6UQQDfAsWEen8Q==", "sosi:IDCardType":"system", "sosi:IDCardVersion":"1.0.1" }, "method":"POST", "path":"/dros/iti41", "query":"", "port":8060, "protocol":"http", "reqSize":24881, "resSize":1420, "soapHeaders":{ "Issuer":"TEST2-NSP-STS", "MessageID":"AAABe12W3BTo9p7lAx0WMVNPU0k=", "NameID":"SubjectDN={SERIALNUMBER=CVR:46837428-UID:27910135 + CN=Statens Serum Institut - Test VOCES, O=Statens Serum Institut // CVR:46837428, C=DK},IssuerDN={CN=TRUST2408 Systemtest XXII CA, O=TRUST2408, C=DK},CertSerial={1495058165}", "w3Action":"urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-b", "w3MessageID":"urn:uuid:ee979460-f7e5-4432-8604-c345eba582f9", "w3To":"http://localhost:8060/dros/iti41" }, "threadId":"default task-18", "time":"2021-08-19T10:46:13.08+02:00", "stats":{ "handlerDuration":28, "RequestContentDuration":2, "ResponseContentDuration":0, "SecurityProtocolRequestDuration":22, "SecurityProtocolResponseDuration":0, "bufferAllocated":false, "usedBuffers":4, "activeBuffersInPool":4, "idleBuffersInPool":4 } } } |
Hvis XDS validering kører i WARNING-mode, så vil eventuelle valideringsfejl blive skrevet til auditloggen. Dette ser ud som vist nedenfor:
{ "time": "2021-10-04T11:30:18.219Z", "category": "dk.sds.nsp.audit.log.dros/provideandregisterdocumentsetb", "audit": { "timestamp": "2021-10-04T13:30:17.615+02:00", "components": [ { "component": "DROS/ProvideAndRegisterDocumentSetB", "contexts": [ { "context": "5313439413729618055.1497722748872510081.1633347017540", "information": [ { "key": "Warning", "type": "RPI", "value": "ErrorInfo[errorCode=REGISTRY_METADATA_ERROR,codeContext=Service stop time i det leverede CDA dokument matcher ikke service stop time i document entry,severity=WARNING,location=,customErrorCode=]" }, { "key": "Warning", "type": "RPI", "value": "ErrorInfo[errorCode=REGISTRY_METADATA_ERROR,codeContext=Confidentiality code i det leverede CDA dokument matcher ikke code i document entry,severity=WARNING,location=,customErrorCode=]" }, { "key": "Warning", "type": "RPI", "value": "ErrorInfo[errorCode=REGISTRY_METADATA_ERROR,codeContext=Source patient id i det leverede CDA dokument matcher ikke souce patient id i document entry,severity=WARNING,location=,customErrorCode=]" }, { "key": "Warning", "type": "RPI", "value": "ErrorInfo[errorCode=REGISTRY_METADATA_ERROR,codeContext=Author institution i det leverede CDA dokument matcher ikke author institution i document entry,severity=WARNING,location=,customErrorCode=]" }, { "key": "Warning", "type": "RPI", "value": "ErrorInfo[errorCode=REGISTRY_METADATA_ERROR,codeContext=Title i det leverede CDA dokument matcher ikke title i document entry,severity=WARNING,location=,customErrorCode=]" }, { "key": "Warning", "type": "RPI", "value": "ErrorInfo[errorCode=REGISTRY_METADATA_ERROR,codeContext=Source patient birth i det leverede CDA dokument matcher ikke source patient birth i document entry,severity=WARNING,location=,customErrorCode=]" }, { "key": "Warning", "type": "RPI", "value": "ErrorInfo[errorCode=REGISTRY_METADATA_ERROR,codeContext=Creationtime i det leverede CDA dokument matcher ikke creationtime i document entry,severity=WARNING,location=,customErrorCode=]" }, { "key": "Warning", "type": "RPI", "value": "ErrorInfo[errorCode=REGISTRY_METADATA_ERROR,codeContext=Author.Person skal være angivet i documententry,severity=WARNING,location=,customErrorCode=]" }, { "key": "Warning", "type": "RPI", "value": "ErrorInfo[errorCode=REGISTRY_METADATA_ERROR,codeContext=Author person i det leverede CDA dokument matcher ikke author institution i document entry,severity=WARNING,location=,customErrorCode=]" }, { "key": "Warning", "type": "RPI", "value": "ErrorInfo[errorCode=REGISTRY_METADATA_ERROR,codeContext=Source patient info skal være angivet i documententry,severity=WARNING,location=,customErrorCode=]" }, { "key": "Warning", "type": "RPI", "value": "ErrorInfo[errorCode=REGISTRY_METADATA_ERROR,codeContext=Source patient name i det leverede CDA dokument matcher ikke source patient name i document entry,severity=WARNING,location=,customErrorCode=]" }, { "key": "Warning", "type": "RPI", "value": "ErrorInfo[errorCode=REGISTRY_METADATA_ERROR,codeContext=Cda dokumentet har ikke lovlig type,severity=WARNING,location=,customErrorCode=]" }, { "key": "Warning", "type": "RPI", "value": "ErrorInfo[errorCode=REGISTRY_METADATA_ERROR,codeContext=Patient id i det leverede CDA dokument matcher ikke patient id i document entry,severity=WARNING,location=,customErrorCode=]" }, { "key": "Warning", "type": "RPI", "value": "ErrorInfo[errorCode=REGISTRY_METADATA_ERROR,codeContext=Source patient gender i det leverede CDA dokument matcher ikke source patient gender i document entry,severity=WARNING,location=,customErrorCode=]" }, { "key": "Warning", "type": "RPI", "value": "ErrorInfo[errorCode=REGISTRY_METADATA_ERROR,codeContext=Service start time i det leverede CDA dokument matcher ikke service start time i document entry,severity=WARNING,location=,customErrorCode=]" } ] }, { "context": "urn:uuid:93bb1cc7-476b-4366-af17-43633f8f2bf0", "information": [ { "key": "DocumentId", "type": "RPI", "value": "7800884301075271792.1023198734635613041.1633347017534" }, { "key": "DocumentType", "type": "RPI", "value": "39289-4" }, { "key": "CitizenId", "type": "RPI", "value": "ABCDE" }, { "key": "FormatCode", "type": "RPI", "value": "urn:ad:dk:medcom:appointment" }, { "key": "SubmissionSetId", "type": "RPI", "value": "5313439413729618055.1497722748872510081.1633347017540" } ] } ] } ] }, "access": { "code": 200, "duration": 540, "httpHeaders": { "Content-Type": "multipart/related; type=\"application/xop+xml\"; boundary=\"uuid:3ff99470-8c37-48ba-8535-cce4abaa2887\"; start=\"<root.message@cxf.apache.org>\"; start-info=\"application/soap+xml\"" }, "httpHost": "localhost", "idCardAttributes": { "medcom:CareProviderID": "46837428", "medcom:CareProviderName": "Statens Serum Institut", "medcom:ITSystemName": "Test", "sosi:AuthenticationLevel": "3", "sosi:IDCardID": "BjFmqZNR54bD3jiE3DQxqw==", "sosi:IDCardType": "system", "sosi:IDCardVersion": "1.0.1" }, "method": "POST", "path": "/dros/iti41", "query": "", "port": 8060, "protocol": "http", "reqSize": 24882, "resSize": 4747, "soapHeaders": { "Issuer": "TEST2-NSP-STS", "MessageID": "AAABfEsRm0iHG2PDxIHz51NPU0k=", "NameID": "SubjectDN={SERIALNUMBER=CVR:46837428-UID:27910135 + CN=Statens Serum Institut - Test VOCES, O=Statens Serum Institut // CVR:46837428, C=DK},IssuerDN={CN=TRUST2408 Systemtest XXXIV CA, O=TRUST2408, C=DK},CertSerial={1604144225}", "w3Action": "urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-b", "w3MessageID": "urn:uuid:14c27e86-fd30-4c0e-9bf0-0a1ab6e85192", "w3To": "http://localhost:8060/dros/iti41" }, "threadId": "default task-12", "time": "2021-10-04T13:30:17.615+02:00", "stats": { "handlerDuration": 55, "RequestContentDuration": 3, "ResponseContentDuration": 0, "SecurityProtocolRequestDuration": 37, "SecurityProtocolResponseDuration": 0, "bufferAllocated": false, "usedBuffers": 4, "activeBuffersInPool": 4, "idleBuffersInPool": 4 } } } |
Valideringsfejlene logges under contexten '5313439413729618055.1497722748872510081.1633347017540', som er entryuuid på requestets SubmissionSet. Dette er valgt, fordi valideringslibrary'et pt. ikke giver mulighed for relatere de individuelle dokumenter til deres valideringsfejl.
De enkelte anvendere skal whitelistes til at bruge DROS. Der findes en tabel whitelist til dette formål. Det er anvenders CVR, der whitelistes.
Det er oplysningen CVR der skal anvendes i til at indsætte i whitelisting tabellen.
Certifikatet whitelistes ved følgende SQL:
SQL til at indsætte certifkatoplysninger i whitelisttabel
|
Note feltet kan f.eks. anvendes til at referere en supportsag eller lignende for sporingshensyn. Det er kun CVR, der er obligatorisk.