Generelt

Det er en fordel å ha litt kunnskap om FHIR og hvordan FHIR-APIer er ment å fungerer. Her er noen nyttige lenker:

Autentisering og autorisering

For å kunne hente ut og/eller sende inn informasjon til en mottaker må følgende være på plass:

  • Man må ha en HelseID-klient med korrekte scopes og claims

  • Kommunen man ønsker å hente ut/skrive inn informasjon til må ha gitt deg tilgang

HelseID

Vi bruker HelseID til autentisering inn mot VKP. For å kunne få en HelseID-klient må man være en godkjent 3.tredjepart hos NHN. Token legges i Authorization-headeren på følgende format (Bearer Authentication):

Authorization: Bearer [jwt-token-from-HelseID]

HelseID har en del god informasjon som en bør ta en titt på for å få en overordnet forståelse av hva HelseID er.

HelseID-klienter

VKP krever at en HelseID-klient skal identifisere en (1) unik systeminstans. Dette betyr at en VFT-leverandør vil kunne ha flere klienter hvis leverandøren har sitt system i ulike kommuner. I bildet under er VFT-leverandør 2 koblet til to kommuner og har derfor da to HelseID-klienter (VFT2_Bodø og VFT2_Oslo).

Scopes

Vi bruker scopes for å bestemme hvilke API-endepunkter en avsender har tilgang til. Hvert endepunkt har et eget scope og varierer basert på om man skal lese eller skrive samt hvilken FHIR-ressurs som utveksles.

Formatet på scopet er som følger:

nhn:vkp/api/user/[FHIR-ressurs].[read|write]

For eksempel vil scopet for endepunktet for uthenting av pasientinformasjon være

nhn:vkp/api/user/patient.read

Hvis man er usikker på hvilke scope man skal bruke så finner man dette på de ulike API-operasjonene, se API-dokumentasjonen

Claims

nhn:vkp/client/claims/vkp-id

Når man får opprettet en HelseID-klient vil VKP tilegne denne klienten en intern VKP-id. Dette er for å kunne identifisere systeminstansen.

client_amr

Spesifiserer hvordan klienten ble autentisert. Denne genereres av HelseID. Må ha verdien private_key_jwt.

Tilgang til kommune

VKP har et eget autorisasjonsregister der vi har informasjon om hvilke avsendere (verdien fra nhn:vkp/client/claims/vkp-id) som har lov til å gjøre kall til hvilke mottakere (org.nr oppgitt i URL).

Adressering

Avsender

Avsender identifiseres ved hjelp av et VKP-spesifikt claim knyttet til HelseID-klienten til avsender. ID-en skal identifisere VFT-en og hvilken kommune VFT-en henter ut/sender inn informasjon på vegne av. Formatet på denne ID-en som følgende: Leverandør_System_Kommune.

Siden det er en knytning mellom system og kommune betyr det at hvis en leverandør lever en tjeneste til to kommuner må leverandøren også ha to HelseID-klienter. Se Claims under HelseID for mer informasjon.

Mottaker

Mottaker av forespørsel identifiseres ved help av [org.nr] segmentet i URLen. Organisasjonsnummer kan man finne ved hjelp av f.eks. Enhetsregisteret.

https://api.test.vkpnorge.no/epj/r4/[org.nr]/[FHIR-ressurs]

Hvis man f.eks. ønsker å hente ut pasientinformasjon fra en kommune med organsisasjonsnummer 888134574 så vil URLen se slik ut:

https://api.test.vkpnorge.no/epj/r4/888134574/patient/_search

Vil du vite mer om Velferdsteknologisk knutepunkt, send oss en e-post.