Dette dokument dækker følgende komponenter på NSP, som sammen med Domibus NSP, er en del af EHMI MeddelelsesRegistrering (EMR)
MSH Adapter
I folderen "compose/configuration" findes følgende relevante konfigurationsfiler, som indlæses når docker compose startes op:
| adapter.properties | Properties til MSH Adapter |
| log4j2.properties | Opsætning af logning i MSH Adapter |
| msh-adapter-ds.xml | DataSource |
Bemærk, nogle af default-værdierne herunder er forløbige indtil tingene falder mere på plads.
Property | Beskrivelse | Default værdi |
|---|---|---|
| dk.nsp.msh.adapter.domibus.url.domibus.wsplugin | URL til Domibus WS plugin | http://domibus-nsp:8080/domibus/services/wsplugin |
| dk.nsp.msh.adapter.domibus.username | Brugernavn til Domibus | admin |
| dk.nsp.msh.adapter.domibus.password | Password til Domibus | 123456 |
| dk.nsp.msh.adapter.domibus.mpc | Domibus MPC (Message Partition Channel) | http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200704/defaultMPC |
| dk.nsp.msh.adapter.domibus.connectTimeout | HTTP connect timeout til Domibus (ms) | 60000 |
| dk.nsp.msh.adapter.domibus.readTimeout | HTTP read timeout til Domibus (ms) | 60000 |
| dk.nsp.msh.adapter.domibus.chunkSize | Chunk-størrelse ved filoverførsel | 8192 |
| dk.nsp.msh.adapter.datasource.jndi | JNDI datasource navn | java:jboss/datasources/emr |
| dk.nsp.msh.adapter.dros.client.endpoint | DROS ITI-41 endpoint | http://dros:8080/dros/iti41 |
| dk.nsp.msh.adapter.dros.sts.endpoint | STS endpoint til token | http://test1-cnsp.ekstern-test.nspop.dk:8080/sts/services/NewSecurityTokenService |
| dk.nsp.msh.adapter.dros.sts.organizationName | Organisation navn i STS | Sundhedsdatastyrelsen |
| dk.nsp.msh.adapter.dros.sts.organizationCode | Organisation CVR | 33257872 |
| dk.nsp.msh.adapter.dros.sts.keystorePath | Keystore til STS autentificering | NSP_Test_Service_Consumer_sds.p12 |
| dk.nsp.msh.adapter.dros.sts.keystorePassword | Password til STS keystore | Test1234 |
| dk.nsp.msh.adapter.dros.sts.systemName | Systemnavn i STS | EMR DROS Client |
| dk.nsp.msh.adapter.dros.homeCommunityId | DROS XDS homeCommunityId | urn:oid:1.2.208.176.43210.8.10 |
| dk.nsp.msh.adapter.dros.httpclient.maxTotalConnections | DROS Max samlede HTTP connections | 200 |
| dk.nsp.msh.adapter.dros.httpclient.defaultMaxConnectionsPerRoute | DROS Max connections pr. route | 20 |
| dk.nsp.msh.adapter.dros.httpclient.connectionTimeoutMs | DROS HTTP connect timeout (ms) | 2000 |
| dk.nsp.msh.adapter.dros.httpclient.socketTimeoutMs | DROS HTTP socket timeout (ms) | 5000 |
| dk.nsp.msh.adapter.eds.authUrl | EDS Keycloak token endpoint | https://keycloak-test.nspop.dk/auth/realms/ehmi/protocol/openid-connect/token |
| dk.nsp.msh.adapter.eds.clientId | EDS Keycloak client id | fcf6f8a9-81b1-441b-9896-bb08631eade6 |
| dk.nsp.msh.adapter.eds.keystoreFile | Keystore til EDS klient | dk-ehmi-medcom-eds-testklient.p12 |
| dk.nsp.msh.adapter.eds.keystorePassword | Password til EDS keystore | WLKk,bp63QwK |
| dk.nsp.msh.adapter.eds.endpoint | EDS FHIR endpoint | https://dk-ehmi-eds-service.t0.hosting.kitkube.dk/fhir |
| dk.nsp.msh.adapter.eds.apinfo.apId | Access Point ID | KvalitetsItAP-test-aarhus |
| dk.nsp.msh.adapter.eds.apinfo.apIdentifier | Access Point identifier | EerDevice-KvalitetsItAP-test-aarhus |
| dk.nsp.msh.adapter.eds.apinfo.apManufacturer | Producent af AP | KvalitetsIT |
| dk.nsp.msh.adapter.eds.apinfo.apDeviceName | Navn på AP device | NSP MSH integrationstestklient |
| dk.nsp.msh.adapter.eds.httpclient.maxTotalConnections | EDS max HTTP connections | 200 |
| dk.nsp.msh.adapter.eds.httpclient.defaultMaxConnectionsPerRoute | EDS max connections pr. route | 20 |
| dk.nsp.msh.adapter.eds.httpclient.connectionTimeoutMs | EDS HTTP connect timeout (ms) | 2000 |
| dk.nsp.msh.adapter.eds.httpclient.socketTimeoutMs | EDS HTTP socket timeout (ms) | 5000 |
| dk.nsp.msh.job.fetchjob.batchsize | Antal beskeder pr. fetch batch | 50 |
| dk.nsp.msh.job.fetchjob.desired.execution.duration | Ønsket køretid pr. fetch job | PT20S |
| dk.nsp.msh.job.savejob.batchsize | Antal beskeder pr. save batch | 50 |
| dk.nsp.msh.job.savejob.retryBatchSize | Batch størrelse ved retry | 500 |
| dk.nsp.msh.job.savejob.desired.execution.duration | Ønsket køretid pr. save job | PT20S |
| dk.nsp.msh.job.savejob.max.retries | Max antal retries | 3 |
| dk.nsp.msh.job.savejob.retry.backoff.delay | Delay mellem retries | PT5M |
| dk.nsp.msh.job.sendjob.batchsize | Antal beskeder pr. send batch | 50 |
| dk.nsp.msh.job.sendjob.retryBatchSize | Batch størrelse ved retry | 500 |
| dk.nsp.msh.job.sendjob.max.retries | Max antal retries | 3 |
| dk.nsp.msh.job.sendjob.retry.backoff.delay | Delay mellem retries | PT5M |
| dk.nsp.msh.job.sendjob.desired.execution.duration | Ønsket køretid pr. send job | PT20S |
| dk.nsp.msh.job.sendjob.domibus.nspPartyId | Domibus partyId ved afsendelse af kvitteringer | domibus-nsp |
| dk.nsp.msh.job.cleanupjob.batchsize | Antal poster pr. cleanup batch | 500 |
| dk.nsp.msh.job.cleanupjob.desired.execution.duration | Ønsket køretid pr. cleanup job | PT20S |
| dk.nsp.msh.job.cleanupjob.retentionPeriod | Hvor længe EHMI beskeder gemmes. Der kan angives en periode i ISO-8601 Period-formatet Eksempler: | P1Y |
MSH Adapter består i praksis af en håndfuld baggrundsjobs, som tilsammen tager beskeder fra Domibus'en og gemmer dem i en DROS. Undervejs kaldes EDS med "forsendelsestatus" på de enkelte beskeder.
Baggrundsjobbene startes med et HTTP GET kald til deres "start"-endpoint.
| Navn | Start-endpoint | Beskrivelse |
|---|---|---|
| Hent beskeder | <serverurl>/msh-adapter/fetch-job/start | Henter beskeder fra den konfigurerede Domibus, gemmer dem lokalt i en database, og markerer dem herefter som "downloaded" i Domibus. Undervejs gemmes der status-beskeder som skal afsendes til EDS. |
| Gem beskeder | <serverurl>/msh-adapter/save-job/start | Gennemgår beskeder, der er hentet, validerer dem og gemmer dem i DROS. Undervejs gemmes der status-beskeder som skal afsendes til EDS. Beskeder, der er fejlet pga. interne fejl, vil blive forsøgt igen senere, indtil "retry" er overskredet. Herefter vil de overgå til "manuel behandling". |
| Send beskeder | <serverurl>/msh-adapter/send-job/start | Sender kvitteringer tilbage til Domibus for de beskeder, som er afleveret i DROS. Kvitteringerne oprettes under "Gem beskeder". |
| Cleanup Job | <serverurl>/msh-adapter/cleanup-job/start | Sletter gamle beskeder som er færdigbehandlede. |
| EDS opdatering | <serverurl>/msh-adapter/eds-update-job/start | Bemærk, stadig under udvikling! Afvikler køen af beskeder der skal sendes til EDS. Bemærk, bør kaldes med højest 10 sekunders mellemrum, da beskederne skal afspejle status med minimal forsinkelse (realtime). |
Der findes nogle simple status- og alarm-endpoints hvor man kan overvåge baggrundsjobbene.
I status-endpointet kan man se hvilken version af servicen, der er kørende.
| Type | Endpoint |
|---|---|
| Alarm | <serverurl>/msh-adapter/<job-navn>/alarm |
| Status | <serverurl>/msh-adapter/<job-navn>/status |