You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 38 Next »

Indhold

Komponenter

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

  • EHMI Sundhedsadresseringsservice (EAS)

Komponenten omfatter tre services:

EAS:

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

Servicen udstilles på port 8080.

Egress fra servicen foregår via. EAS-Egress-Nginx mod EHMI mTLS beskyttede services. Keycloak og EER.
Egress mod interne services på NSP foregår via. almindelig httpclient fra Javakoden. Personinformation, Sikrede, SORES.

  • Type: HAPI FHIR Plain Server (REST service)

  • Filnavn: eas.war 

  • Url: Skal kun kunne tilgås igennem EAS-Ingress-Nginx.

  • Status-url: <serverurl>/eas/status

  • Alarm-url: <serverurl>/eas/alarm
  • Image: registry.nspop.dk/components/eas 

EAS-Ingress-Nginx:

Denne service udstilles som indgangen til EAS komponenten.

Servicen udstilles på port 8080.

  • Type: Nginx (TLS Terminering)
  • Url: <serverurl>/eas/
  • Image: registry.nspop.dk/components/eas-nginx

EAS-Egress-Nginx:

Denne service skal ikke udstilles direkte, men skal istedet kunne kaldes internt fra EAS.

Servicen udstilles på port 8080.
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


Bemærk, at alle tidsenheder i konfigurationsfilerne følger ISO-8601. F.eks. anvendes PT30S som værdi for HTTP Connect timeout.
Dette kan tolkes som værende "Period of Time of 30 Seconds"

Indholdet af de enkelte property-filer findes beskrevet herunder:

EAS (application.properties)

PropertyBeskrivelsePåkrævetDefault værdi
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ærdiEksempel
eer.api.urlURL til EER serviceJa

http://eas-egress-nginx:8080/ehmi-eer/fhir/

http://eas-egress-nginx:8080/ehmi-eer/fhir/

 

eer.api.connectTimeoutHTTP connect timeout - ISO-8601 formatNej

PT30S

PT30S

eer.api.socketTimeoutHTTP Socket (Read) timeout - ISO-8601 formatNej

PT30S

PT30S

oauth2.client.idOAuth client idJaeaseas
oauth2.client.secretOAuth client secret - Kan undlades ved auth via. Klientcertifikater. Afhænger af Authentication Server.Nej

oauth2.token.uriURL til Keycloak OAuth endpointJa

http://eas-egress-nginx:8080/ehmi-auth/realms/ehmi/protocol/openid-connect/token

http://eas-egress-nginx:8080/ehmi-auth/realms/ehmi/protocol/openid-connect/token

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.api.connectTimeoutHTTP connect timeout - ISO-8601 formatNejPT30SPT30S
personinformation.api.requestTimeoutTotalt HTTP Request timeout - ISO-8601 formatNejPT30SPT30S

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.api.connectTimeoutHTTP connect timeout - ISO-8601 formatNejPT30SPT30S
sikrede.api.requestTimeoutTotalt HTTP Request timeout - ISO-8601 formatNejPT30SPT30S

SORES (sores.properties)

PropertyBeskrivelsePåkrævetDefault værdiEksempel
sores.api.urlURL til SORES serviceJa
http://test1.ekstern-test.nspop.dk:8080/sores
sores.api.connectTimeoutHTTP connect timeout - ISO-8601 formatNejPT30SPT30S
sores.api.requestTimeoutTotalt HTTP Request timeout - ISO-8601 formatNejPT30SPT30S

NSP Accesshandler

EAS anvender NSP Accesshandler til at autentificere JTP-H JWT Tokens. 
Det betyder, at jtph.properties skal konfigureres hvilket er nærmere beskrevet her NSP Access Handler - Driftvejledning#jtph.properties

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.
Bemærk: ved ændring af certifikater skal servicen genstartes.

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.

Bemærk: ved ændring af certifikater skal servicen genstartes.

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.

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

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
Ja
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:

  • HTTP 200, hvis servicen i øjeblikket kører fint.
  • HTTP 500, hvis der er opstået en fejl der kræver indgriben.

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.

  • No labels