1. Indholdsfortegnelse
2. Introduktion
2.1. Formål
Denne guide har til formål at give et overblik over Graviditetsmappens facade (GM-Facade) med henblik på at intern anvender kan tilgå GM-Facaden og udstille data fra Graviditetsmappen. Formålet med dokumentet er at give overblik over løsningen, samt indsigt i krav til OpenID Connect (OIDC), proces for whitelisting, samt adgangs- og testforudsætninger.
2.2. Beskrivelse
GM-Facaden er en FHIR-baseret komponent, som udstiller data fra Graviditetsmappen via NMHD komponenten (Generisk udstilling (MHD) - Leverancebeskrivelse). NMHD servicen er en generisk service, som har til formål at udstille data hentet fra dokumentdelingsservicen via en generisk FHIR-snitflade. Adgangen styres via NSP’s sikkerhedskomponenter (Accesshandler, STS) med Triforks OIDC som er godkendt af SDS (Sundhedsdatastyrelsen) og whitelisted i de relevante komponenter.
2.3. 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) |
| 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. |
2.4. Relevante use-cases
Pt. er det kun borgeren selv der kan hente data via. denne GM Facade.
2.5. Læsevejledning og forudsætninger
Denne guide henvender sig til tekniske anvendere (udviklere, arkitekter), som skal integrere med GM-Facaden via NSP.
Læsere bør have kendskab til:
-
OIDC og JTP-H-profilen
-
FHIR-standarder
-
NSP’s sikkerhedsarkitektur (STS, NMHD, Accesshandler)
2.6. 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
Tilslutningsaftale – Bestillingsark for adgang til eksternt testmiljø
Bruno Collection – NMHD – NSP Mobile Access to Health Documents
FAQ NSP miljøer - NSP services - Global Site
2.7. 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" og OIDC’er godkendt af SDS må benyttes. Internt benyttes Triforks OIDC
-
Whitelisting i Accesshandler og STS er påkrævet, før adgang kan gives.
| Forhold | Forklaring |
|---|---|
| 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 |
3. Adgang, brug og snitflader
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
3.1. Adgang
Adgang til servicen sker ved at medsende en Authorization-header med bearer token i form af JTP-H. Et gyldigt JTP-H token til test kan erhverves vha. OATH 2.0 med følgender properties:
| url | https://test.cloud.idm.trifork.com/auth/realms/gravid/protocol/openid-connect/auth |
| access token url | https://test.cloud.idm.trifork.com/auth/realms/gravid/protocol/openid-connect/token |
| client id | gravidapp |
| redirect url | gravidapp |
| scope | openid profile |
3.2. Snitfladebeskrivelse og brug
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.
3.2.1. Hent Journal for borger
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 :
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, der følger implementerings-guiden for dokumenttyperne
Svangerskabsjournal (PRF), Vandrejournal (PSCR) og Målinger (PMR)
(se FHIR-IG: https://build.fhir.org/ig/trifork/gm-fhir-ig/branches/main/index.html
Detaljeret 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
3.3. 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 |
4. Testdata
Følgende brugere har journaldata på Test 1:
| CPR | Brugernavn | Beskrivelse |
|---|---|---|
|
0708850322 |
KayaJokumsen |
|
|
1507939666 |
Minerva |
|
|
2911039098 |
Pouline |
|
| 0511820464 | Malle Sörensen |
|
| 1404049428 | Casandra Kant |
|
| 1710969864 | SysMathisen |
|
| 1403879262 | Testinna Termina |
|
| 2610087224 |
Bitte My Småland |
|
| 1408079612 | Cirkeline Bublé |
|
|
1905839596 |
DagmarNap |
|
| 0904539384 | AmbraSand |
|
| 2008902346 | KimmiKimsen |
|
| 2108901238 | MimmiMimsen |
|
| 2208901234 | NinniNinsen |
|
| 2308901428 | OdaOddsen |
|
| 1201664078 | LivaLiddel |
|
5. 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.
6. Dokument Historik
| 3/4 2025 | Martin Henriksen/SDS | Etablering af dokumentation |
| 1/7 2025 | Thomas Glæsner | Udfyldt |
| 19/11 2025 | Kirsten Vinther | Tilrettet |
