Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Navitabs
rootFacade (GM-Facade) - Leverancebeskrivelse

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

...


Image Added


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 / termBeskrivelse
GM FacadeGraviditetsmappens app facade
OIDCOpenID 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.

NSISNational Standard for Identiteters Sikringsniveau.
SDSSundhedsdatastyrelsen – ansvarlig for godkendelse og whitelisting af OIDC.
NMHD

National Mobile Health Data – komponent i NSP-infrastrukturen.

MHD  = Mobile Access to Health Documents

STSSecurity Token Service – håndterer sikkerhedstokens i NSP.
AccesshandlerNSP-komponent, der kontrollerer adgang til GM-Facaden.



Relevante use-cases

Tredjepart 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ø) 

Bruno Collection - GM-Facade 

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.

...

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

  1. Anvendelse af eksisterende godkendt OIDC

    • Tredjeparts anvender kan benytte en allerede godkendt og trusted OIDC, fx Triforks OIDC, hvis der kan indgås en særskilt aftale med Trifork.

    • Dette er den enkleste løsning, da OIDC’en allerede er kendt og godkendt af SDS og derfor hurtigt kan konfigureres i Accesshandleren.

  2. Anvendelse af

  3. en anden kendt OIDCFxRegion Midt OIDC, som i forvejen anvendes til FUT-projektet og er kendt af SDS.
  4. Denne løsning kræver verificering af, at OIDC’en lever op til NSIS-krav.

  5. ny OIDC

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

...

ForholdEksterne 3. parts anvendere
Service udstil typeREST med JTP-H bearer token.
Krævede adgangeBorger-login via JTP-H (JTP-H token identificerer borgeren, der har adgang til egne dokumenter)
OIDCOIDC (skal godkendes og whitelistes af SDS)
WhitelistingKræves for ny OIDC (konfigureres i Accesshandler, STS, NMHD)
Sikkerhedsniveau

NSIS Betydelig 

Data udstilles kun til borgerlogin, og kun borgerens egne dokumenter.

LogningStandard adgangslog via NSP Access Handler

Definitioner og referencer

Reference / termBeskrivelse
GM FacadeGraviditetsmappens app facade
OIDCOpenID 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.

NSISNational Standard for Identiteters Sikringsniveau.
SDSSundhedsdatastyrelsen – ansvarlig for godkendelse og whitelisting af OIDC.
NMHD

National Mobile Health Data – komponent i NSP-infrastrukturen.

MHD  = Mobile Access to Health Documents

STSSecurity Token Service – håndterer sikkerhedstokens i NSP.
AccesshandlerNSP-komponent, der kontrollerer adgang til GM-Facaden.


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 som bearer token i REST-kaldet mod GM-Facaden og giver kun adgang til borgerens egne dokumenter.

...

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

...

  1. Ejeren af OIDC-serverenopretter supportsag til NSP/SDS.: Supporthenvendelse

  2. SDS godkender OIDC’ens tekniske og sikkerhedsmæssige opsætning.

  3. SDS konfigurerer følgende:

    • NMHD

    • Accesshandler (Facade)GM-Facade - Accesshandler

    • STS (Whitelisting)


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

...

Adgang til servicen sker ved at medsende en Authorization-header med bearer-token i form af JTP-H.

MitID Testtool: https://pp.mitid.dk/test-tool/frontend/#/view-identity

Hent Journal for borger

Endpoint:

FeltBetydning
Endpoint

<serverurl>/gmaf/api/2025/06/25/journal

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:
• Svangerskabsjournal (PRF)
• Vandrejournal (PSCR)
• Målinger (PMR)

...

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

...

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 sikkerhedsbilletSikkerhedsbillet er ikke gyldig, f.eks., udløbet, forkert audience osv.
Tjenesten skal kaldes med en gyldig sikkerhedskontekstDer er angivet et bearer token
Ingen matchende aktør fundet for sikkerhedskontekstBearer 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

1704999948

Navn Test 1Test 2

0708850322

Kaya Jokumsenxx

1507939666

Minervaxx

1704799948

Mayaxx

2911039098

Poulinexx
0511820464 Malle Sörensenx 
1404049428Casandra Kantx 
1710969864SysMathisenx
1403879262 Testinna Termina xx
2610087224 

Bitte My Småland 

x

 

1408079612 Cirkeline Bublé x 

1905839596

Dagmar Napolenex
 0904539384Ambra Sandx
2008902346Kimmi Kimsenxx
3103809354Sulaimaxx
0202954618Tildexx
1412544605Tristinaxx


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.

...

10/10 2025Martin Henriksen/SDSEtablering af dokumentation
10/11 /10 2025KirstenUdfyldt
11/11 2025MartinReview