Page History
| Navitabs | ||
|---|---|---|
|
DENNE SIDE ER UNDER UDARBEJDELSE TIL 3. PARTS ANVENDERE AF GM-FACADE
Indholdsfortegnelse
| Table of Contents |
|---|
Introduktion
Formål
Denne guide har som til formål at give et overblik over Graviditetsmappens app facade (GM-Facade) med henblik på at eksterne anvendere (3. parter) kan tilgå GM-Facaden via NSP-testmiljøerneog udstille data fra Graviditetsmappen. Formålet med dokumentet er at give anvenderne et overblik over løsningen, samt indsigt i krav til OpenID Connect (OIDC), proces for whitelisting, samt adgangs- og testforudsætninger.
Beskrivelse
GM-Facaden eksponerer er en FHIR-baserede services, der muliggør integration til Graviditetsmappen (GM) via NSP-infrastrukturen.GM Facade er en REST udstilling af Graviditetsmappens journal data fra komponenten MHD (Generisk udstilling (MHD) - Leverancebeskrivelse), som en FHIR model sikret med JTP-Hbaseret komponent, som udstiller data fra Graviditetsmappen. Adgangen styres via NSP’s sikkerhedskomponenter (Accesshandler, STS, NMHD) og kræver, at anvenderens OIDC er godkendt af SDS (Sundhedsdatastyrelsen) og whitelisted i de relevante komponenter.
Links til mere information
Dokumentation for anvendt FHIR model findes her: https://build.fhir.org/ig/trifork/gm-fhir-ig/branches/main/index.html
...
Forklaring omkring ovenstående arkitekturtegning:
Borgeren åbner 3. parts appen
Appen sender borgeren videre til MitID via en OpenID Connect broker (identity serviceprovider).
Borgeren logger ind, og broker’en sender et godkendt ID-token tilbage til 3. parts backend.
Backend hos serviceprovider validerer tokenet og kontrollerer rettigheder.
Backend laver en sikker opkobling via Sundhedsdatanet.
Backend kalder GM facadelaget med GM-services på NSP (via FHIR/REST/JTP-H) for at hente data fra graviditetsforløbet.
De hentede data sendes tilbage til appen, som viser dem for borgeren.
Definitioner og referencer
| Reference / term | Beskrivelse |
|---|---|
| GM Facade | Graviditetsmappens app facade |
| OIDC | OpenID Connect – standard for identitets- og adgangsstyring. |
| JTP-H | Joint Trust Profile for Health – dansk profil for anvendelse af OIDC i sundhedsdomænet. JWT Token Profile for Healthcare (se NSP Access Handler - Design og arkitekturbeskrivelse) |
Tilslutningsaftale – Bestillingsark for adgang til eksternt testmiljø
...
| FHIR | FHIR står for Fast Healthcare Interoperability Resources. Det er en standard udviklet af HL7 (Health Level 7) til elektronisk udveksling af sundhedsoplysninger. |
| NSIS | National Standard for Identiteters Sikringsniveau. |
| SDS | Sundhedsdatastyrelsen – ansvarlig for godkendelse og whitelisting af OIDC. |
| NMHD | National Mobile Health Data – komponent i NSP-infrastrukturen. MHD = Mobile Access to Health Documents |
| STS | Security Token Service – håndterer sikkerhedstokens i NSP. |
| Accesshandler | NSP-komponent, der kontrollerer adgang til GM-Facaden. |
Relevante use-cases
...
Relevante usecases fra tredjepart systemer som ønsker at hente journaldata via GM-Facaden (Borgervendt app hvor borgeren selv kan hente data via en app)
...
Test og validering af integration med GM-Facaden i NSP’s testmiljøer.
Usecase 1: Borger kan få vist alle deres Graviditetsdata fra Graviditetsmappen (forudsætning: Logget ind med MitID)
Usecase 2: Borger kan sende alle graviditetsdata til egen Digitale Postkasse
...
Læsevejledning og forudsætninger
...
OIDC og JTP-H-profilen
FHIR-standarder
NSP’s sikkerhedsarkitektur (STS, NMHD, Accesshandler)
Links til mere information
Dokumentation for anvendt FHIR model findes her: https://build.fhir.org/ig/trifork/gm-fhir-ig/branches/main/index.html
Dokumentation for krav til JTP-H findes her: NSP Access Handler - Design og arkitekturbeskrivelse
Administrative forudsætninger (fx. Tilslutningsaftale – Bestillingsark for adgang til eksternt testmiljø)
FAQ NSP miljøer - NSP services - Global Site
Sikkerhed
Adgangen sker gennem NSP’s sikkerhedskomponenter og følger JTP-H-profilen, hvor borgeren logger ind med MitID, og et OIDC-token ved kald til GM-Facaden.
Sikkerheden i GM-Facaden bygger på OIDC og NSIS (National Standard for Identiteters Sikringsniveau).
Alle OIDC-udbydere skal opfylde NSIS niveau "Betydelig".
Kun OIDC’er godkendt af SDS må benyttes.
Whitelisting i NMHD, Accesshandler og STS er påkrævet, før adgang kan gives.
Der er flere muligheder for, hvordan 3. parts anvendere kan etablere denne adgang:
Anvendelse af godkendt OIDC
Tredjeparts anvender kan benytte en allerede godkendt og trusted OIDC.
Dette er den enkleste løsning, da OIDC’en allerede er kendt og godkendt af SDS og derfor hurtigt kan konfigureres i Accesshandleren.
Anvendelse af ny OIDC
Hvis 3. parts anvender vælger at etablere en egen OIDC, skal den leve op til minimum NSIS-niveau Betydelig, følge JTP-H, være anmeldt til NSIS-tilsynet og underlagt årlige revisioner.
OIDC’en skal desuden understøtte de flows, som GM-Facaden kræver.
Denne løsning er mulig, men væsentligt mere kompleks og kræver tæt dialog med SDS.
| Forhold | Eksterne 3. parts anvendere |
|---|---|
| Service udstil type | REST med JTP-H bearer token. |
| Krævede adgange | Borger-login via JTP-H (JTP-H token identificerer borgeren, der har adgang til egne dokumenter |
| ) | |
| OIDC | OIDC (skal godkendes og whitelistes af SDS) |
| Whitelisting |
| Kræves for ny OIDC (konfigureres i Accesshandler, STS, NMHD) | |
| Sikkerhedsniveau | NSIS Betydelig Data udstilles kun til borgerlogin, og kun borgerens egne dokumenter. |
| Logning | Standard adgangslog via NSP Access Handler |
...
Adgang, brug og
...
snitflader
| Reference / term | Beskrivelse |
|---|---|
| GM Facade | Graviditetsmappens app facade |
| OIDC | OpenID Connect – standard for identitets- og adgangsstyring. |
| JTP-H | Joint Trust Profile for Health – dansk profil for anvendelse af OIDC i sundhedsdomænet. JWT Token Profile for Healthcare (se NSP Access Handler - Design og arkitekturbeskrivelse) |
| FHIR | FHIR står for Fast Healthcare Interoperability Resources. Det er en standard udviklet af HL7 (Health Level 7) til elektronisk udveksling af sundhedsoplysninger. |
| NSIS | National Standard for Identiteters Sikringsniveau. |
| SDS | Sundhedsdatastyrelsen – ansvarlig for godkendelse og whitelisting af OIDC. |
| NMHD | National Mobile Health Data – komponent i NSP-infrastrukturen. MHD = Mobile Access to Health Documents |
| STS | Security Token Service – håndterer sikkerhedstokens i NSP. |
| Accesshandler | NSP-komponent, der kontrollerer adgang til GM-Facaden. |
Adgang, brug og snitflader
Adgang
Adgang sker ved, at borgeren logger ind og får udstedt et JTP-H token fra en OIDC-udsteder. Dette token anvendes som bearer token i REST-kaldet mod GM-Facaden og giver kun adgang til borgerens egne dokumenter.
...
Krav til OIDC
Tredjeparts anvenderemå anvende egen OIDC , hvis følgende betingelser er opfyldt:
OIDC følger JTP-H-profilen.
OIDC er godkendt af SDS.
OIDC lever op til NSIS niveau Betydelig (herunder anmeldelse til NSIS-tilsynet og årlig revision).
(se afsnit 2.7)
Proces for whitelisting
For at få adgang til GM-facaden på NSP og kunne hente data fra Graviditetsmappen skal man have tilsluttet sit system.
For yderligere information: Administrative forudsætninger
...
Ejeren af OIDC-serverenopretter supportsag til NSP/SDS.: Supporthenvendelse
SDS godkender OIDC’ens tekniske og sikkerhedsmæssige opsætning.
SDS konfigurerer følgende:
NMHD
Accesshandler (Facade)GM-Facade - Accesshandler
STS (Whitelisting)
Accesshandler-konfigurationen udvides til at acceptere tokens fra den nye issuer.
Se teknisk beskrivelse her:
Konfiguration af nye issuers i Accesshandler
...
Snitfladebeskrivelse og brug
...
Tredjeparts app kalder Facadelaget, og anvender GM-FHIR modellen til at lave deres brugergrænseflader.
GM-Facaden tilbyder FHIR-baserede endpoints til hentning af journaldata for borgere i graviditetsforløb.
...
Adgangen sker via NSP’s sikkerhedskomponenter, hvor anvenderen kalder GM-Facaden med et autoriseret JTP-H-token udstedt af en godkendt OIDC.
Et gyldigt token angiver altid borgeren, der er logget ind via MitID, og GM-Facaden returnerer udelukkende data for denne borger.
Adgang til servicen sker ved at medsende en Authorization-header med bearer-token i form af JTP-H.
...
...
MitID Testtool:
...
...
KMV: Obs dette er et dødt link... (eller lukket)
...
https://test.cloud.idm.trifork.com/auth/realms/gravid/protocol/openid-connect/token
KMV: Obs dette er et dødt link... (eller lukket)
...
mitid.dk/test-tool/frontend/#/view-identity
Hent Journal for borger
Endpoint:
Endpoint:
| Felt | Betydning |
|---|
| Endpoint |
Viser formatet på GM-Facadens endpoint. Det er det REST-endpoint, som tredjeparts borgervendte anvendere kalder, når de skal hente borgerens data fra Graviditetsmappen. |
| Beskrivelse af services |
Servicekaldet returnerer den borger, der er angivet i JTP-H |
-tokenet – dvs. borgerens egne graviditetsrelaterede journaldata. (Selve indholdet af FHIR dokumentet afhænger af det borgertoken der videresendes fra BFF'en) | |
| Resultat | Angiver hvilke dokumenttyper servicen returnerer: |
|
|
Kald til servicen:
Henter borgers journal i Graviditetsmappen Graviditetsmappen :
GET <serverurl>/gmaf/api/2025/06/25/journal
Når endpointet kaldes eksempelvis i test "https://test1-cnsp.ekstern-test.nspop.dk:8443/gmaf/api/2025/06/25/journal" så returneres der et FHIR dokument.
| GET <serverurl>/gmaf/api/2025/06/25/journal | ||
|---|---|---|
| Header | Value | Beskrivelse |
| Authorization | Bearer | |
<JTP-H token> | Header med JTP-H-token udstedt af en SDS-godkendt OIDC. Tokenet identificerer borgeren og anvendes til autorisering via NSP Accesshandler. |
Returneret data:
Endpointet returnerer JSON svarende til implementerings guide'en , der følger implementerings-guiden for dokumenttyperne
Svangerskabsjournal (PRF), Vandrejournal (PSCR) og Målinger (se PMR)
(se FHIR-IG: https://build.fhir.org/ig/trifork/gm-fhir-ig/branches/main/index.html)
Detaljeret snitfladebeskrivelse fremgår af de tekniske FHIR-specifikationer.snitfladebeskrivelse og FHIR profil:
Den fulde tekniske snitfladebeskrivelse og FHIR-profiler for GM-Facaden findes i den officielle Implementation Guide (GM-FHIR-IG):
https://build.fhir.org/ig/trifork/gm-fhir-ig/branches/main/index.html
Her findes beskrivelser af alle FHIR-profiler - inkl de konkrete datatyper og dokumentstrukturer i GM-Facaden
- GMPRFDocumentBundle – Svangerskabsjournal
GMPSCRDocumentBundle – Vandrejournal
GMPMRDocumentBundle – Målinger
Den fulde oversigt over tekniske artefakter for GM-Facaden findes på artefakter-oversigten i GM-FHIR-IG. Herfra kan du klikke videre til alle relevante profiler, værdilister og eksempler.
https://test1-cnsp.ekstern-test.nspop.dk:8443/gmaf/api/2025/06/25/journal
Endpoints på TEST1 og TEST2:
https://test1-cnsp.ekstern-test.nspop.dk:8443/gmaf
https://test2-cnsp.ekstern-test.nspop.dk:8443/gmaf
Fejlbeskeder
I fejl-scenarier vises disse fejlkoder:
Fejlkode | Scenarie |
|---|---|
| Ugyldig sikkerhedsbillet | Sikkerhedsbillet er ikke gyldig, f.eks., udløbet, forkert audience osv. |
| Tjenesten skal kaldes med en gyldig sikkerhedskontekst | Der er angivet et bearer token |
| Ingen matchende aktør fundet for sikkerhedskontekst | Bearer token angiver ikke et gyldigt borgeropslag |
...
Testdata
Følgende brugere burde have journal data på både har journaldata på Test 1 og/eller Test 2:
CPR |
| Navn | Test 1 | Test 2 | |
0708850322 | Kaya Jokumsen | x | x |
1507939666 | Minerva | x | x |
1704799948 | Maya | x | x |
2911039098 | Pouline | x | x |
| 0511820464 | Malle Sörensen | x | |
| 1404049428 | Casandra Kant | x | |
| 1710969864 | SysMathisen | x | |
| 1403879262 | Testinna Termina | x | x |
| 2610087224 | Bitte My Småland | x |
|
| 1408079612 | Cirkeline Bublé | x | |
1905839596 | Dagmar Napolene | x | |
| 0904539384 | Ambra Sand | x | |
| 2008902346 | Kimmi Kimsen | x | x |
| 3103809354 | Sulaima | x | x |
| 0202954618 | Tilde | x | x |
| 1412544605 | Tristina | x | x |
Eksempel kode og klient
Se integrations test i https://git.nspop.dk/scm/com/graviditetsmappens-app-facade.git for eksempel på komplet integration til komponenten.
Dokument Historik
| 310/4 10 2025 | Martin Henriksen/SDS | Etablering af dokumentation |
| 110/7 11 2025 | Thomas GlæsnerKirsten | Udfyldt |
| 11/11 2025 | Martin | Review |
