Indhold

Komponenter

Dette dokument dækker følgende komponent på NSP:

Komponenten omfatter tre services:

EAS:

Servicen skal ikke kunne nås direkte. Ingress foregår via. EAS-Ingress-Nginx service.
Egress fra servicen foregår via. EAS-Egress-Nginx.

EAS-Ingress-Nginx:

Denne service udstilles som indgangen til EAS komponenten.

EAS-Egress-Nginx:

Denne service skal ikke udstilles direkte, men skal istedet kunne kaldes internt fra EAS.
Denne service kaldes kun af EAS for udadgående kald mod HHv. EER og Keycloak. Interne services på NSP kaldes direkte fra EAS Java-applikationen.

Konfiguration

EAS

EAS har sin egen konfiguration i "application.properties", og har desuden fire integrationer, som hver især har sin egen property-fil med konfiguration:

IntegrationProperty-fil
EEReer.properties
PersonInformationpersoninformation.properties
SikredeInformationsikrede.properties
SORESsores.properties


Indholdet af de enkelte property-filer findes beskrevet herunder:

EAS (application.properties)

PropertyBeskrivelsePåkrævetDefault værdi
stubbedAngiver hvorvidt EAS returnerer stubbede svarNejfalse
dk.sds.nsp.audit.DevelopmentAuditProvider.enabledHvorvidt audit information logges på stdout som et JSON objektNejfalse
dk.nsp.eas.audit.componentKomponentnavn til audit-loggingNejEAS

dk.nsp.eas.auth.enabled

Hvorvidt Authentication middleware er slået til - NB. Midlertidig under udvikling. Fjernes igen til endelig release.Nejfalse

EER (eer.properties)

PropertyBeskrivelsePåkrævetDefault værdi
eer.api.urlURL til EER serviceJa
oauth2.client.idOAuth client idJa
oauth2.client.secretOAuth client secret - Kan undlades ved auth via. Klientcertifikater. Afhænger af Authentication Server.Nej
oauth2.token.uriURL til Keycloak OAuth endpointJa

PersonInformation (personinformation.properties)

PropertyBeskrivelsePåkrævetDefault værdiEksempel
personinformation.api.urlURL til PersonInformation serviceJa
http://test1.ekstern-test.nspop.dk:8080/stamdata-personinformation/v1
personinformation.connectTimeoutHTTP connect timeoutNej3030

SikredeInformation (sikrede.properties)

PropertyBeskrivelsePåkrævetDefault værdiEksempel
sikrede.api.urlURL til SikredeInformation serviceJa
http://test1.ekstern-test.nspop.dk:8080/stamdata-sikredeinformation/2025/07/17
sikrede.connectTimeoutHTTP connect timeoutNej3030

SORES (sores.properties)

PropertyBeskrivelsePåkrævetDefault værdiEksempel
sores.api.urlURL til SORES serviceJa
http://test1.ekstern-test.nspop.dk:8080/sores
sores.connectTimeoutHTTP connect timeoutNej3030


EAS-Ingress-Nginx

Servicen lytter på port 8080 og forwarder requests til http://eas:8080
Ud fra hostname lyttes der på følgende path: /eas/fhir 

Alle andre paths vil resultere i en 404. 

TLS Terminering

Nedenstående tabel viser hvorhenne i containeren certifikater skal mountes ind, samt hvilken funktion certifikaterne har.

FilBeskrivelsePåkrævet
/etc/ssl/server.crt
TLS servercertifikat for EASJa
/etc/ssl/server.key
Privatnøgle for servercertifikat for EASJa
/etc/ssl/ehmi-ca.pem
Rodcertifikatbundle for udstedende certifikatmyndighed(er)Ja

Hostname (eas-host.conf)

Nedenstående tabel beskriver indholdet af eas-host.conf. Konfigurationsfilen indeholder server_name til brug for nginx. Det er påkrævet for, at nginx håndterer request korrekt.

PropertyBeskrivelsePåkrævetDefault værdiEksempel
server_name
Hostnavn for EAS servicen. Bemærk ingen protokol.Ja
eas.local localhost
test1.ekstern-test.nspop.dk

Ingress konfiguration (ingress-nginx.conf)

Denne fil indeholder Nginx konfigurationen for TLS-termineringen.

Der er som udgangspunkt ikke noget der skal konfigureres heri, den skal blot mountes ind under stien: 

/etc/nginx/nginx.conf

Hvilket også fremgår af docker-compose setuppet.

EAS-Egress-Nginx

Servicen lytter på port 8080

mTLS

Nedenstående tabel viser hvorhenne i containeren certifikater skal mountes ind, samt hvilken funktion certifikaterne har.

FilBeskrivelsePåkrævet
/etc/ssl/ehmi-auth/client.crt
Klientcertifikat til kommunikation mod EHMI KeycloakJa
/etc/ssl/ehmi-auth/client.key
Privatnøgle for klientcertifikat til kommunikation mod EHMI KeycloakJa
/etc/ssl/ehmi-eer/client.crt
Klientcertifikat til kommunikation mod EHMI EER serviceJa
/etc/ssl/ehmi-eer/client.key
Privatnøgle for klientcertifikat til kommunikation mod EHMI EER serviceJa
/etc/ssl/certs/ca-certificates.crt
Rodcertifikatbundle for udstedende certifikatmyndighed(er). Hvis ikke angivet, anvendes standard OS CA Bundle.Nej

Endpoints (ehmi-endpoints.conf)

Nedenstående tabel beskriver de variabler der bliver sat for Nginx i filen ehmi-endpoints.conf.
De er nødvendige for at nginx kan forward request fra EAS mod den rigtige service.

PropertyBeskrivelsePåkrævetDefault værdiEksempel
$ehmi_auth_host
Hostnavn for EHMI Keycloak. Bemærk ingen protokol.Ja
dk-ehmi-authserver.t1.hosting.kitkube.dk
dk-ehmi-authserver.t1.hosting.kitkube.dk
$ehmi_eer_host
Hostnavn for EHMI EER Service.
Bemærk ingen protokol.
Ja
dk-ehmi-eer-service.t1.hosting.kitkube.dk
dk-ehmi-eer-service.t1.hosting.kitkube.dk

Auth Resolver (ehmi-auth-resolver.conf)

Nedenstående tabel beskriver indholdet af ehmi-auth-resolver.conf. Konfigurationsfilen indeholder resolver til brug for Nginx.

Årsagen hertil er, at automatisk tildelt DNS ikke nødvendigvis kan resolve services internt på NSP eller på SDN.

Hvis værdien udelades, anvendes den DNS server som fremgår i /etc/resolv.conf og som automatisk er hevet fra netværkskonfiguration.

NB: dokumentation for resolver findes her: https://nginx.org/en/docs/http/ngx_http_core_module.html#resolver

PropertyBeskrivelsePåkrævetDefault værdiEksempel
resolver
DNS Server for at kunne resolve 
ehmi_auth_host
Nej
127.0.0.11 valid=30s;
127.0.0.11 valid=30s;

EER Resolver (ehmi-eer-resolver.conf)

Nedenstående tabel beskriver indholdet af ehmi-eer-resolver.conf. Konfigurationsfilen indeholder resolver til brug for Nginx.

Årsagen hertil er, at automatisk tildelt DNS ikke nødvendigvis kan resolve services internt på NSP eller på SDN.

Hvis værdien udelades, anvendes den DNS server som fremgår i /etc/resolv.conf og som automatisk er hevet fra netværkskonfiguration.

NB: dokumentation for resolver findes her: https://nginx.org/en/docs/http/ngx_http_core_module.html#resolver

PropertyBeskrivelsePåkrævetDefault værdiEksempel
resolver
DNS Server for at kunne resolve 
ehmi_eer_host
Nej
127.0.0.11 valid=30s;
127.0.0.11 valid=30s;

Egress konfiguration (egress-nginx.conf)

Denne fil indeholder Nginx konfigurationen for at etablere udadgående mTLS forbindelser mod hhv.

Der er som udgangspunkt ikke noget der skal konfigureres heri, den skal blot mountes ind under stien: 

/etc/nginx/nginx.conf

Hvilket også fremgår af docker-compose setuppet.

Overvågning

EAS udstiller en overvågningsside, som findes beskrevet under "Komponenter".

Fortolkning af overvågningsside

Overvågningssiderne returnerer enten:

Auditlogning

Hvert servicekald medfører en ny indgang i auditloggen, som kan være udfyldt med følgende information, afhængig af konteksten:

KomponentKontekstNøgleInformation
EASGetReceivingOrganizationByPatientId

patient-id

message-type

ID på borgeren

Beskedtype

EASGetReceivingOrganizationByGPId

general-practitioner-id

message-type

Ydernummer

Beskedtype

EASGetReceivingOrganizationBySORId

sor-id

message-type

SOR-kode

Beskedtype

EASGetListOfGpByPostalCodepostal-codePostnummer


Baggrundsjobs

EAS er tilstandsløs, og har ingen baggrundsjobs.