1. Indholdsfortegnelse
2. Introduktion
2.1. Formål
Dette dokument er rettet mod systemadministratorer og driftspersoner, som skal kunne håndtere driftsmæssige aspekter af komponenten.
Driftsvejledningen indeholder information om MHD med hensyn til eksterne afhængigheder, standard placering af logfiler og konfigurationsfiler, og evt. krav til genstart af applikationer hvis komponenten ikke er responsiv.
I afsnit 3 (Komponenter) er beskrevet hvilke komponenter, der indgår i MHD og deres forventede placering med hensyn til platform.
Afsnit 5 (Konfiguration) beskriver aktuelle konfigurationsparametre for MHD henholdsvis Repository, samt eksempler på konfigurationsparameter-filer.
Afsnit 6.1, 6.2 og 6.3 (Overvågning) beskriver hvorledes MHD komponenterne overvåges.
I afsnit 6.4 er MHD-relaterede logfiler beskrevet, så disse evt. kan overvåges, og tillige danne baggrund for fejlsøgning.
Beskrivelse af standard fejlsøgning og start/stop vejledning for komponenterne er beskrevet i afsnit 7 (Standard fejlsøgning).
Specielle krav til backup er beskrevet i afsnit 8 (Krav til backup m.m.), ligesom procedure ved reetablering af komponenten ud fra backup beskrives.
2.2. Læsevejledning
Læseren forventes at have kendskab til NSP miljøet.
2.3. Definitioner og referencer
|
Definition |
Beskrivelse |
|---|---|
| NSP | Den nationale service platform |
| SDS | Sundhedsdatastyrelsen |
3. Komponenter
Dette dokument dækker følgende komponenter:
- Generisk udstilling (MHD)
- Type: Webservice
- Filnavn: mhd.war
- Statusurl: <serverurl>/mhd/status
- Alarmurl: <serverurl>/mhd/alarm
- Capability statement: https://mhd.gravidmappen.test.tcs.trifork.cloud/mhd/api/2025/11/27/metadata
4. Daglig drift
Dette afsnit beskriver den daglige drift af systemet.
4.1. Relaterede services
MHD afhænger af tilstedeværelsen af en række andre services, og ved fejl i nogle af disse vil MHD fejle tilsvarende. Disse services er:
- STS - Til veksling af JTPH til IDWS
- Dokumentdelingservice (DDS) - til fremsøgning af dokumenter med ITI-18 og ITI-43
5. Konfiguration
Komponenterne afvikles i et docker compose setup, som ligger under https://git.nspop.dk/scm/com/mobile-access-to-health-documents.git
Den applikationspecifikke del af mhd'en konfigureres via filen /pack/wildfly/modules/dk/nsp/mhd/main/mhd.properties.
|
Property |
Beskrivelse |
Påkrævet |
Default værdi |
|---|---|---|---|
| mhd.sts.url | STS-url til endpoint til veksling af jwt til idws. Eksempel: https://test1-cnsp.ekstern-test.nspop.dk:8443/sts/services/JWT2Idws | Ja |
|
| mhd.binary_link_prefix | Prefix på de dokumentreferencer som returneres fra MHD. Prefixet skal matche den kørende instans adresse. Eksempel: http://test1-cnsp.ekstern-test.nspop.dk:8080/mhd/api | Ja |
|
| mhd.cert.file_name | Java keystore indeholdende et certikat | Ja |
|
| mhd.cert.password | Adgangskode til keystore | Ja |
|
| mhd.cert.alias | Certifikatets alias i keystoren | Ja |
|
| mhd.audience | Det ønskede audience som idws token skal bruges til. I mhd skal dette sættes til https://audience.nspop.dk/dds for at kalde dokumentdelingsservicen | Ja |
|
| mhd.dds.url | Url til dokumentdelingsservicen. Eksempel: https://test1-cnsp.ekstern-test.nspop.dk:8443 | Ja |
|
| mhd.empty-document-type-search-allowed | Er det tilladt at undlade at begrænse søgning med type parameteren |
|
false |
| mhd.empty-format-code-search-allowed | Er det tilladt at undlade at begrænse søgning med format parameteren |
|
false |
| mhd.document-types | Kommasepareret liste af dokumenttyper som mhd fremsøger. Skal være angivet til: PRF:1.2.208.184.100.1,PSCR:1.2.208.184.100.1,PMR:1.2.208.184.100.1
Bemærk, denne liste er målrettet gravidmappensbehov og må derfor ikke udvides. Ønskes en mhd der understøtter andre dokumenter, kræver det en ny "fysisk" instans. |
Ja |
|
| mhd.format-codes |
Kommasepareret liste af format-koder som mhd fremsøger. Skal være angivet: urn:ad:dk:medcom:prf-v2.0:full,urn:ad:dk:medcom:pscr-v2.0:full,urn:ad:dk:medcom:pmr-v2.0:full
|
Ja |
|
| mhd.dds.http.forward.headers |
Kommasepareret liste af http headers der videresendes i request til DDS'en. |
Nej |
|
| mhd.sts.http.forward.headers |
Kommasepareret liste af http headers der videresendes i request til STS'en. |
Nej |
|
| mhd.httpclient.connectiontimeout.seconds |
Forbindelse timeout i sekunder. |
Nej | 25 |
| mhd.httpclient.pooling.maxconnections.total |
Totale antal HttpClients forbindelser der kan åbnes |
Nej | 200 |
| mhd.httpclient.pooling.maxconnections.pr.route |
Antal HttpClients forbindelser der kan åbnes pr. rute |
Nej | 20 |
Konfiguration af access-handler til validering af jtp-h tokens konfigureres med filerne i folderen /pack/wildfly/modules/system/layers/base/dk/sds/nsp/accesshandler/main. Filerne ctrl.skip og log.skip er tomme og selve konfiguration af accesshandleren ligger i filen jtph.properties:
|
Property |
Beskrivelse |
Påkrævet |
Default værdi |
|---|---|---|---|
| jtph.enabled | Enablement af validering af jtph-h. Skal være sat til true. | Ja |
|
|
|
|||
|
jtph.issuers.sds.name |
Udsteder af jtp-h token. Eksempel: https://test.cloud.idm.trifork.com/auth/realms/gravid | Ja |
|
| jtph.issuers.sds.audience | Tilladt audience. Eksempel: https://audience.nspop.dk/mhd | Ja |
|
| jtph.issuers.sds.ttl | Time-to-live benyttes pt. af access hander til at validere auth_time og iat. Derfor skal denne pt. sættes en måned. Eksempel: PT43200M
Se evt. https://jira.nspop.dk/browse/SDS-8792 |
Ja |
|
| jtph.issuers.sds.assurance.level.1 | Skal være sat til https://data.gov.dk/concept/core/nsis/loa/Substantial | Ja |
|
| jtph.issuers.sds.assurance.level.2 | Skal være sat til https://data.gov.dk/concept/core/nsis/loa/High | Ja |
|
| jtph.issuers.sds.issuance.policy.1 | Skal være sat til urn:dk:sds:policy:gm-access | Ja |
|
|
Keys: |
Keys definere properties krævet for at validere signaturen af et jtp-h token. Da der kan være flere gyldige tokens på samme tid, så er kid fra token en del af propertien. Dog skal man angive små bogstaver og kun de første 32 tegn fra kid'en. |
|
|
| jtph.keys.<keyid>.type |
Typen af certifikatet. Eksempel: pkcs12
|
Ja |
|
| jtph.keys.<keyid>.file |
Java keystore indeholdende et certikat
|
Ja |
|
| jtph.keys.<keyid>.password |
Adgangskode til keystore
|
Ja |
|
| jtph.keys.<keyid>.alias | Alias for certifikatet i keystore | Ja |
|
For mere information om konfiguration af access handler se NSP Access Handler - Driftvejledning#jtph.properties
5.1.1. log konfiguration
Der benyttes Log4j2. En konfiguration er findes i filen compose/configuration/log4j2.properties, hvor logs fra MHD skrives til filen:
/pack/wildfly/standalone/log/mhd.log |
5.1.2. SLA-log konfiguration
MHD er en viderestillingsservice og der er ikke separat sla logning. I stedet logges udvalgte tider i MHD loggen.
5.1.3. Whitelist konfiguration
MHD er en rest service, som ikke kræver whitelisting.
5.2. Monitorering
Til statuscheck af MHD udstilles <serverurl>/mhd/status som returnerer HTTP 200 hvis servicen i øjeblikket kører.
6. Overvågning
MHD overvåges på <serverurl>/mhd/alarm.
6.1. Fortolkning af HTML overvågningsside
Alle overvågningssider returnerer enten status 200 hvis de i øjeblikket kører fint, status 404 hvis servicen ikke er deployeret og status 500, hvis der er opstået en fejl, og komponenten derfor ikke virker korrekt.
6.2. Audit log
Hvert kald til '/mhd/api/2025/05/06/DocumentReference' medfører en ny indgang i auditloggen, som er udfyldt med følgende komponenter:
|
komponent |
Kontekst |
Type |
Nøgle |
Information |
|---|---|---|---|---|
| MHD | UUID for kaldet | Følsom |
PatientIdentifier |
cpr på borger hvis dokumenter fremsøges |
| MHD | UUID for kaldet | Følsom |
FormatCodes |
Kommasepareret liste af kodeværdier for de dokumenter der fremsøges |
| MHD | UUID for kaldet | Følsom |
DocumentTypes |
Kommasepareret liste af dokumenttyper for de dokumenter der fremsøges |
Hvert kald til '/mhd/api/2025/05/06/Binary' medfører en ny indgang i auditloggen, som er udfyldt med følgende komponenter:
|
komponent |
Kontekst |
Type |
Nøgle |
Information |
|---|---|---|---|---|
| MHD | UUID for kaldet | Følsom |
repositoryId |
Identifikator på repository på dokumentet der fremsøges |
| MHD | UUID for kaldet | Følsom |
HomeCommunityId |
Identifikator hvor dokumentet fremsøges fra |
| MHD | UUID for kaldet | Følsom |
DocumentReference |
Identifikator på dokumentet der fremsøges |
7. Standard fejlsøgning
- Ved problemer med indlæsning af servicens konfigurationsfiler bør man verificere at alle påkrævede properties er sat
- En service kan stoppes og startes gennem docker.
8. Krav til backup m.m.
Det anbefales at aktuelle konfigurationsfiler til MHD er under versionskontrol og back up.
9. Dokument Historik
| 3/4 2025 | Martin Henriksen/SDS | Etablering af dokumentation |
| 7/8 2025 | Thomas Glæsner/Trifork | Udfyldelse af relevant dokumentation |