Table of Contents |
---|
Introduksjon
I regi av SKATE-programmet skal det realiseres en felles tverrsektoriell løsning for fullmaktadministrasjon. Det tverrsektorielle knutepunktet er AltInn som igjen henter informasjon om fullmaktsforhold fra eget register samt fr andre spesialiserte registre. Ett av disse registerne er PVK som inneholder fullmakter som er lagret på Helsenorge. Disse angir at en innbygger kan presentere en annen når tjenester på Helsenorge benyttes. Pr. idag kan de fullmakter vi har i PVK kun benyttes ved bruk av tjenestene på Helsenorge. I et framtidig scenarie ser vi at PVK også kan inneholde andre typer fullmakter som har et mer generelt virkeområde i sektoren og ikke nødvendigvis er knyttet til tjenester på Helsenorge.
FUFINN API'et skal dekke to Usecases:
Innbygger skal kunne se (og siden: administrere) sine fullmakter ett sted. Dette vil være i AltInn. For at AltInn skal kunne vise et "total-bilde", må innbygger også kunne se hvilke fullmakter man har gitt fra seg, og som er lagret i PVK. PVK tilbyr derfor et API der et autorisert system (her AltInn) skal kunne be om en liste over de fullmakter innbygger har gitt fra seg i PVK.
Når en innbygger er innlogget i et tverssektorielt brukersted (eksempel "min-side" i en kommune) skal dette brukerstedet kunne spørre AltInn (FUFINN) om hvilke andre innbyggere innlogget bruker kan representere. AltInn kan da hente slik informasjon og presentere dette til brukerstedet. Dette vil da kunne benyttes i en "person-velger" i brukstedet. Brukerstedet kan be om informasjon om hvem innlogget bruker kan representere på helt vid basis, eller innen et bestemt sektorområde. Ett av disse sektorområdene vil da være "Helse- og omsorg, digitale innbyggertjenester". (Dette er et arbeidsnavn). For at dette skal være mulig, må PVK tilby et API til autorisert system (her AltInn) der man kan hente ut informasjon om hvem andre en innbygger kan representere (innen det tjenesteområde PVK representerer.
Tjenesteoversikt
TjenesteNavn | HttpVerb | Beskrivelse |
---|---|---|
HentFullmaktshavere | POST | Hente ut liste over fullmaktshavere (de som har fått fullmakt) av en gitt innbygger. |
HentFullmaktsgivere | POST | Hente ut liste over fullmaktsgivere (de som har gitt en innbygger fullmakt til å representere seg.) |
HentFullmaktToken | POST | Henter ut detaljer om et fullmaktsforhold |
HentFullmaktshavere
Input parametre
Navn | Type | Lovlige verdier | Kommentar |
---|---|---|---|
fullmaktsgiverFnr | string | fødselsnummer (11 siffer) | Dette er fødselsnummer til den innbygger som har avgitt fullmakter, og som det skal returneres en liste over fullmaktshavere for. |
sektor | string | Skal være "HO-DIT" | "Helse og omsorg - digitale innbyggertjenester. (Dette er foreløpig et arbeidsnavn.) |
Eks:
{
"fullmaktsgiverFnr":"12048645510",
"sektor":"HO-DIT"
}
Responsparametre
...
Navn
...
Type
...
Kommentar
...
fullmaktsgiverFnr
...
string
...
fødselsnummer (11 siffer)
...
Dette er fødselsnummer til den innbygger som har avgitt fullmakter (og som det ble spurt på).
...
sektor
...
string
...
Skal være "HO-DIT"
...
"Helse og omsorg - digitale innbyggertjenester. (Dette er foreløpig et arbeidsnavn.)
...
fullmaktshaverFunnet
...
boolean
...
Denne vil alltid være med i retur.
...
fullmaktshavere
...
array
...
JSON-struktur
...
En liste med fulmakthaver (som er gitt av fullmaktgiver).
...
fornavn
mellomnavn
etternavn
maskertFnr
fullmaktReferanseId
...
string
string
string
string
string
...
"fullmaktReferanseId" benyttes i etterfølgende kall for å få detaljer om en fullmakt.
Eks:
{
"fullmaktsgiverFnr":"12048645510",
"sektor":"HO-DIT",
"fullmaktshaverFunnet":"TRUE",
"fullmaktshavere": [
{
"fornavn":"Per",
"mellomnavn":"Ole",
"etternavn":"Hansen",
"maskertFnr":"191155xxxxx",
"fullmaktReferanseId":"3FE2A80A-4200-42E2-817B-DA8A6236708A"
},
{
"fornavn":"Hans",
"mellomnavn":"Per",
"etternavn":"Olesen",
"maskertFnr":"120654xxxxx",
"fullmaktReferanseId":"3F7457B8-821C-45A8-AE04-D3E4A0DAC0F0"
} ]
}
HentFullmaktsgivere
Input parametre
Navn | Type | Lovlige verdier | Kommentar |
---|---|---|---|
fullmaktshaverFnr | string | fødselsnummer (11 siffer) | Dette er fødselsnummer til den innbygger som har mottatt fullmakter, og som det skal returneres en liste over fullmaktgivere for. |
sektor | string | Skal være "HO-DIT" | "Helse og omsorg - digitale innbyggertjenester. (Dette er foreløpig et arbeidsnavn.) |
Eks:
{
"fullmaktHaverFnr":"12065431326",
"sektor":"HO-DIT"
}
Responsparametre
...
Navn
...
Type
...
Kommentar
...
fullmaktshaverFnr
...
string
...
fødselsnummer (11 siffer)
...
Dette er fødselsnummer til den innbygger som har mottatt fullmakter (og som det ble spurt på).
...
sektor
...
string
...
Skal være "HO-DIT"
...
"Helse og omsorg - digitale innbyggertjenester. (Dette er foreløpig et arbeidsnavn.)
...
fullmaktsgiverFunnet
...
boolean
...
Denne vil alltid være med i retur.
...
fullmaktsgivere
...
array
...
JSON-struktur
...
En liste med fullmaktgivere (som har avgitt fullmakt til fullmakthaver).
...
fornavn
mellomnavn
etternavn
maskertFnr
fullmaktReferanseId
...
string
string
string
string
Guid
...
"fullmaktReferanseId" benyttes i etterfølgende kall for å få detaljer om en fullmakt.
Eks:
{
"fullmaktshaverFnr":"12065431326",
"sektor":"HO-DIT",
"fullmaktsgiverFunnet":"TRUE",
"fullmaktsgivere": [
{
"fornavn":"Per",
"mellomnavn":"Ole",
"etternavn":"Hansen",
"maskertFnr":"191155xxxxx",
"fullmaktReferanseId":"FD20BDD3-2233-4508-9355-56DEE393C399"
},
{
"fornavn":"Jens",
"mellomnavn":Herman",
"etternavn":"Jensen",
"maskertFnr":"120486xxxxx",
"fullmaktReferanseId":"D78C4733-9652-41A9-8FC2-DA5363410AD0"
} ]
}
HentFullmaktToken
Input parametre
Navn | Type | Lovlige verdier | Kommentar |
---|---|---|---|
fullmaktReferanseId | Guid | Referanse mottatt i tidligere respons | Denne er en unik referanse til et bestemt fullmaktsforhold |
sektor | string | Skal være "HO-DIT" | "Helse og omsorg - digitale innbyggertjenester. (Dette er foreløpig et arbeidsnavn.) |
Eks:
{
"fullmaktReferanseId":"D78C4733-9652-41A9-8FC2-DA5363410AD0",
"sektor":"HO-DIT"
}
Responsparametre
Dette er et JWT signert av Helsenorge personverntjenester.
Eks:
{
"jwt": "<token>"
}
Format
encodeBase64(json-header) + '.' + encodeBase64(json-payload) + '.' + encodeBase64(signature) |
---|
Header
...
Kort claimnavn
...
Fullt claimnavn
...
Beskrivelse
...
alg
...
Algorithm
...
Hvilken algoritme som benyttes. Vil være "RS256" dvs. RSA-SHA256
...
kid
...
Key ID
...
Thumbprint av public sertifikat tilhørende privat nøkkel som ble benyttet til å generere token
...
typ
...
Type
...
Type token det er, vil alltid være "JWT"
...
x5c
...
Public X.509 sertifikat tilhørende den private nøkkelen som ble benyttet for å signerer tokenet (se RFC 7515 - JSON Web Signature (JWS) - IETF Tools:
Payload
Eks:
{
"aud":"https://helsenorge.no",
"sub":"03067845510",
"pvk_ref":"D78C4733-9652-41A9-8FC2-DA5363410AD0",
"may_act":
{
"sub": "11065511345",
"act_type": "fullmakt",
"scp": "hn_no_registerinnsyn hn_no_journalinnsyn hn_no_digitaletjenester"
},
"nbf":1443904077,
"exp":1443904177,
"iat":"1443904077",
"iss":"personvern.helsenorge.no"
}
...
Kort claimnavn
...
Fullt claimnavn
...
Beskrivelse
...
Kort claimnavn
...
Fullt claimnavn
...
Beskrivelse
...
aud
...
Audeience
...
Hvor fullmaktsforholdet har gyldighet
...
sub
...
Subject
...
Fødselsnummer til fullmaktgiver
...
pvk_ref
...
PVK reference
...
GUID i PVK som entydig identifiserer dette fullmaktsforholdet.
...
may_act
...
May act
...
Definert i Draft RFC for TokenExchange. Den personen som kan representere "sub" via fullmakt.
sub
act_type
scp
Subject
Actor type
Scope
...
Fødselsnummer til fullmaktshaver
Beskrivelse av representasjonsforholdet. Kan inneholde kun en av følgende verdier:
Verdi Beskrivelse
segselv Innbyggeren representerer seg selv
fullmakt Fullmakt
vergemal Vergemål
foreldrerepresentasjon Foreldrerepresentasjon
Omfanget av representasjonsforholdet (her fullmakt). Kan inneholde en eller flere av følgende verdier:
Verdi Beskrivelse
hn_no_registerinnsyn Laveste fullmaktsområde på Helsenorge. Gir tilgang til å utøve personvernrettigheter
hn_no_journalinnsyn Gir tilgang til å se andres journaler
hn_no_digitaletjenester Gir tilgang til å utøve digitale helsetjenester på vegne av andre
...
scp
...
Scope
Kommaseparert liste over fullmaktsområder på Helsenorge:
Verdier:
hn.no.registerinnsyn
hn.no.journalsinnsyn
hn.no.digitaletjenester
...
nfb
...
Not Before
...
Tidspunktet for når tokenet er gyldig. Vil alltid ha samme verdi som tidspunktet det ble generert på
...
exp
...
Expiration Time
...
Tidspunktet for når tokenet utløper
...
iat
...
Issued At
...
Tidspunktet for når tokenet ble generert. Vil aldri være gyldig i mer enn 30 minutter
...
iss
...
Issuer
...
Hvem som har generert tokenet, vil alltid være "personvern.helsenorge.no"
Signatur
Tokenet genereres og signeres i Personvernkomponeten (PVK) ved bruk av dennes dedikerte virksomhetssertifikat. Signeringsalgoritmen som benyttes er RSA-SHA256.
...
{
“jwt”: “eyJhbGciOiJSUzI1NiIsImtpZCI6IjA0NkI4QUMxQjAyRjk0RTk0M0E4MTM3Q0Y1MkVBM0Y0RDdDNzg0MjkiLCJ0eXAiOiJKV1QiLCJ4NWMiOlsiTUlJRS9EQ0NBK1NnQXdJQkFnSUxBWGozYVN3cnN6TllEYUl3RFFZSktvWklodmNOQVFFTEJRQXdVVEVMTUFrR0ExVUVCaE1DVGs4eEhUQWJCZ05WQkFvTUZFSjFlWEJoYzNNZ1FWTXRPVGd6TVRZek16STNNU013SVFZRFZRUUREQnBDZFhsd1lYTnpJRU5zWVhOeklETWdWR1Z6ZERRZ1EwRWdNekFlRncweE9EQXhNak13TnpRNE1EVmFGdzB5TVRBeE1qTXlNalU1TURCYU1HSXhDekFKQmdOVkJBWVRBazVQTVNFd0h3WURWUVFLREJoRVNWSkZTMVJQVWtGVVJWUWdSazlTSUVVdFNFVk1VMFV4SERBYUJnTlZCQU1NRTFCRlVsTlBUbFpGVWs1VVNrVk9SVk5VUlZJeEVqQVFCZ05WQkFVVENUa3hOVGt6TXpFME9UQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQUxFSlpVZkpUdVZZaTVVMW1BTWdyeHZOaUxyU2lHbEM5Rmk4N2JwWW5ZQzVUTW5kcFpMNjdQdG9EcldtdHdJL2J3N281anZzYmJKQWdNdU5Ca2Fic0JjcnNSbFBpczBEQkJVa29LQThRSUVuam1oakhVRWYzR044bnNEZ1RGQlB1cFNHRzJwVUIreFRKNTVTZTVMU0c1am9XU3kzZmtNRzRSbjljVG5SbjJ1WU1zSjNXM2grRzk3OTlQdWlCaUxINjVyVGQ5OUhsWmZibEtyZDM4MjcwZFlIT2dqY3ZWMHhqSjVCYXpVRExubGtzREU2SFVZMStabkFSOWlrbWZzWEtLTWlNQXdwTW9UejgrRDlqWVU3UWxOdkVQR0tZVm0yTldQVloxaTZDdGo4L05TZnl4c0ZQR0RLN1pzbXpwSk9LaTJVajcwa3RiRytaV3lhT1h3OTU1c0NBd0VBQWFPQ0FjSXdnZ0crTUFrR0ExVWRFd1FDTUFBd0h3WURWUjBqQkJnd0ZvQVVQNjcxZUF1U28zQWdOVjlhK3Zja29GSUI4RUV3SFFZRFZSME9CQllFRkwyNzJkNXZyTmpzQzJjOVFIY3U5ZkY4Zko5Sk1BNEdBMVVkRHdFQi93UUVBd0lHUURBV0JnTlZIU0FFRHpBTk1Bc0dDV0NFUWdFYUFRQURBakNCdXdZRFZSMGZCSUd6TUlHd01EZWdOYUF6aGpGb2RIUndPaTh2WTNKc0xuUmxjM1EwTG1KMWVYQmhjM011Ym04dlkzSnNMMEpRUTJ4aGMzTXpWRFJEUVRNdVkzSnNNSFdnYzZCeGhtOXNaR0Z3T2k4dmJHUmhjQzUwWlhOME5DNWlkWGx3WVhOekxtNXZMMlJqUFVKMWVYQmhjM01zWkdNOVRrOHNRMDQ5UW5WNWNHRnpjeVV5TUVOc1lYTnpKVEl3TXlVeU1GUmxjM1EwSlRJd1EwRWxNakF6UDJObGNuUnBabWxqWVhSbFVtVjJiMk5oZEdsdmJreHBjM1F3Z1lvR0NDc0dBUVVGQndFQkJINHdmREE3QmdnckJnRUZCUWN3QVlZdmFIUjBjRG92TDI5amMzQXVkR1Z6ZERRdVluVjVjR0Z6Y3k1dWJ5OXZZM053TDBKUVEyeGhjM016VkRSRFFUTXdQUVlJS3dZQkJRVUhNQUtHTVdoMGRIQTZMeTlqY25RdWRHVnpkRFF1WW5WNWNHRnpjeTV1Ynk5amNuUXZRbEJEYkdGemN6TlVORU5CTXk1alpYSXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBR3lpeW9HZU9xNGdXODdTUitPbTlYUElYeTJJZUh2ekl4Mk5ETE81bDVmY2l6NzVGMFVuaW83QU4vTkpGM0I3aVRCNldyS2Z1ZjFGQ2xZVlpSV2FLSFIwUEZPTjk3T1UwRHEzNU03Qi9rM0YrWjMvb05QYUxvTkdSTE9SeWJaMGxEdTNxdmFsNy9Mb1RINjg1S25RQ3lpeVFPN25PV1FPaUV0b1J6N0EzTndGdlhQU2lOTkpmVktqdG9NUk90a0VuWWplTDJEL0k2cjVXSjhpSHM0d1ZGeDk5UHFxRUpmQmp1NmtHMEZnY09ReUdOLzJHSTdCenVneDdSWnpncWZKUGczYUdKV2hiWjJmMmhiVU9VNHZKamJPZGp5djBmWmt4aVRmazJnQ2ZIV2xldVZuRFNTN1dNU08vb05BNVB1Zm91ZldRNWhzM0c1eXRuU0lMUmR3SXAwPSJdfQ.eyJqdGkiOiI3ZDViNDdjNi0xYWE1LTQxNGItYmM1ZS04ZGUyYWZkZTQ5ZmMiLCJhdWQiOiJodHRwczovL2hlbHNlbm9yZ2Uubm8iLCJzdWIiOiIwMTA5NjIyMDkyNCIsInB2a19yZWYiOiI2ZWRhZjdhMS0zMDA1LWVhMTEtODMxYS0wMDBkM2EyOWY4NTgiLCJtYXlfYWN0Ijoie1wic3ViXCI6XCIxODEyNzI0OTY2N1wiLFwiYWN0X3R5cGVcIjpcImZ1bGxtYWt0XCIsXCJzY3BcIjpcImhuLm5vLnJlZ2lzdGVyaW5uc3luIGhuLm5vLmpvdXJuYWxpbm5zeW5cIn0iLCJpc3MiOiJwZXJzb252ZXJuLmhlbHNlbm9yZ2Uubm8iLCJuYmYiOjE1NzQwNjg2NTksImV4cCI6MTU3NDA3MDQ1OSwiaWF0IjoxNTc0MDY4NjU5fQ.UUkHDhvf75fNGxXrqkVb7Y9cOvzNA8xciga25wsSghN4kNCXmLTrXI9J-KxRt5TM8_RWUTdsI4ZS7wFROXVhy_D7TUyMnuerSA5fL6VEtSyO2lo5HqVUfWceYjEDxYDF6qpxTFpWQ68Q0ZrUkIhaU8QxxwmNX-CprghOYQ09R4gfB2QzCAOwmNEqL_PQ8fOeAi7n-jHfOa8B-Sgsc1Ox6DPktDxwft7HtorlrZAL9iIbAclneTWlilm6jMvBY0abx3qT2ht4Zn2dHiSzaEd5tLgce-0e6dcGAHf0WMo7H4NGYTqdHAzcpGKD4mpCIp0tAYXACYus3j_pJsHZmaaMlQ”
}
Url
...
Miljø
...
Url
...
Dev
...
ST
...
eksternapi-hn-<featuremiljonavn>.int-hn.nhn.no/personvern
...
MAS-01
...
eksternapi-hn-mas-01.int-hn.nhn.no/personvern
...
MAS-02
...
eksternapi-hn-mas-02.int-hn.nhn.no/personvern
...
REL-01
...
eksternapi-hn-rel-01.int-hn.nhn.no/personvern
...
TEST1
...
eksternapi.hn.test.nhn.no/personvern
...
TEST2
...
eksternapi.hn2.test.nhn.no/personvern
...
PRODKOPI-01
...
eksternapi-hn-prodkopi-01.int-hn.nhn.no/personvern
...
QA
...
eksternapi.hn2.test.nhn.no/personvern
...
PROD
...
Table of Contents |
---|
Introduksjon
API’et må benyttes av brukersteder i Helse-og Omsorgsektoren der digitale fullmakter skal kunne benyttes. Fullmaktene registreres alltid i Pertsonvernkomponenten (PVK) i Helsenorge. Brukersteder må altså ha slik API integrasjon for at de elektroniske fullmaktene skal kunne benyttes.
API'et skal dekke følgende USeCases:
Et brukersted vil sjekke om det finnes en gyldig fullmakt for aktuelt formål.
Dersom fullmakte eksisterer, skal brukerstedet kunne laste ned et “fullmaktsbevis” som må arkiveres som dokumentasjon for handlingen som ble utført basert på den aktuelle fullmakten.
Tjenesteoversikt
TjenesteNavn | Http | Beskrivelse |
---|---|---|
Fullmaktshavere | POST <system url>/personvern/Fullmaktshavere/v1 | Hente ut liste over fullmaktshavere (de som har fått fullmakt) av en gitt innbygger innefor et gitt virkeområde. |
Fullmaktsgivere | POST <system url>/personvern/Fullmaktsgivere/v1 | Hente ut liste over fullmaktsgivere (de som har gitt en innbygger fullmakt til å representere seg) innenfor et gitt område. |
FullmaktToken | POST <system url>/personvern/FullmaktToken/v1 | Henter ut detaljer om et fullmaktsforhold. (Digitalt fullmaktsbevis) |
Se her for oversikt over <system url> for de forskjellige systemene Test-, Qa og Prod: Testmiljøer og endepunkter
Autorisasjon og aksesstoken
To metoder for tilgang er tilgjengelige:
HelseId sin autoriseringstjeneste for maskin-til-maskin kan benyttes:
Velg Helsenorge Ekstern API i HelseId sin selvbetjeningsløsning
Velg deretter scope “Fullmaktinformasjon_les”
Når tilgangen er godkjent av Helsenorge, kan aksesstoken hentes ut fra HelseId
API-klienten kan alternativt autentisere seg mot Helsenorge Sikkerhetstjeneste.
API-klienten må forhåndskonfigureres på Helsenorge med sin public key
Fullmaktinformasjon API-et skal benyttes i system-til-system kontekst: 01 - System til System
Deretter kan API-klienten få utsedt et AksessToken fra Helsenorge STS.
AksessToken som mottas fra HelseId eller Helsenorge STS skal deretter være med i Authorization header i alle HTTP-requestene. Se: https://helsenorge.atlassian.net/wiki/spaces/HELSENORGE/pages/23789578/02+-+Kall+til+Helsenorge+og+PVK+API+er+og+bruk+av+AccessToken
Fullmaktshavere
Returnerer en liste over hvem som har fått fullmakt (fullmaktshaver) fra en bestemt person (fullmaktsgiver).
Input parametre
Navn | Type | Lovlige verdier | Kommentar |
---|---|---|---|
fullmaktsgiverIdNrType | string | Volven kodeverk 8116. Lovlige verdier: “FNR” (Fødselsnummer) “DNR” (D-nummer) | Innført for å skille på D-nummer og FNR som nasjonal NIN |
fullmaktsgiverIdNr | string | fødselsnummer eller D-nummer (11 siffer) | Dette er fødselsnummer eller D-nummer til den innbygger som har avgitt fullmakter, og som det skal returneres en liste over fullmaktshavere for. |
fullmaktVirkeomrade | string | Tokenverdier (kan utvides) | Angir fullmaktens virkeområde, dvs. hvor den kan benyttes “helsenorge” - Fullmakten kan kun benyttes for digitale helsetjenester på Helsenorge “helseogomsorg” - Fullmakten kan benyttes i hele Helse og Omsorgsektoren “apotekogbandagist” - Fullmakten kan benyttes på apotek og bandagister |
fullmaktDefinisjonGuid | string | Eksisterende fullmaktsdefinisjon i PVK | Denne er opsjonell. Kan benyttes dersom man øsnker å begrense søket til en bestemt fullmakt innenfor et virkeområde (der det eksistere flere fullmaktdefinisjoner). |
Request eks:
Code Block |
---|
{
"fullmaktsgiverIdNrType": "FNR",
"fullmaktsgiverIdNr":"12048645510",
"fullmaktVirkeomrade": "apotekogbandagist"
} |
Responsparametre
Navn | Type | Lovlige verddier | Kommentar |
---|---|---|---|
fullmaktsgiverIdNrType | string | Volven kodeverk 8116. Lovlige verdier: “FNR” (Fødselsnummer) “DNR” (D-nummer) | Innført for å skille på D-nummer og FNR som nasjonal NIN |
fullmaktsgiverIdNr | string | fødselsnummer (11 siffer) | Dette er fødselsnummer eller D-nummer til den innbygger som har avgitt fullmakter (og som det ble spurt på). |
fullmaktVirkeomrade | string | Tokenverdier (kan utvides) | Angir fullmaktens virkeområde, dvs. hvor den kan benyttes “helsenorge” - Fullmakten kan kun benyttes for digitale helsetjenester på Helsenorge “helseogomsorg” - Fullmakten kan benyttes i hele Helse og Omsorgsektoren “apotekogbandagist” - Fullmakten kan benyttes på apotek og bandagister |
fullmaktshaverFunnet | boolean | Denne vil alltid være med i retur. | |
fullmaktDefinisjoner | array | Det vil være en liste med fullmathavere pr fullmaktdefinisjon innenfor det aktuelle virksomhetsområde. | |
| string | Eksisterende fullmaktsdefinisjon i PVK | Fullmaktdefinisjonens unike ID |
| string | Eksisterende fullmaktsdefinisjon i PVK | Fullmaktdefinisjonenes beskrivende navn |
| array | JSON-struktur | En liste med fulmakthaver (som er gitt av fullmaktgiver). |
|
| "fullmaktReferanseId" benyttes i etterfølgende kall for å få detaljer om en fullmakt/fullmaktsbeviset. |
Respons eks:
Code Block |
---|
{
"fullmaktsgiverIdNrType": "FNR",
"fullmaktsgiverIdNr":"12048645510",
"fullmaktVirkeomrade": "apotekogbandagist",
"fullmaktshaverFunnet":"TRUE",
"fullmaktDefinisjoner": [
{
"fullmaktDefinisjonGuid": "fd9faa5d-acf9-461f-a493-8f6f6c29a8d3",
"fullmaktDefinisjonNavn": "Fullmakt for å hente ut reseptbelagte apotekvarer",
"fullmakthavere": [
{
"fornavn":"Per",
"mellomnavn":"Ole",
"etternavn":"Hansen",
"fodselsdato":"1955-11-19",
"fullmaktReferanseId":"3FE2A80A-4200-42E2-817B-DA8A6236708A"
},
{
"fornavn":"Hans",
"mellomnavn":"Per",
"etternavn":"Olesen",
"fodselsdato":"1962-06-12",
"fullmaktReferanseId":"3F7457B8-821C-45A8-AE04-D3E4A0DAC0F0"
}
]
},
{
"fullmaktDefinisjonGuid": "904af8ec-0d8a-43dc-bb2e-dfccfc69f2cc",
"fullmaktDefinisjonNavn": "Fullmakt til å få utlevert reseptliste og journalinformasjon",
"fullmakthavere": [
{
"fornavn":"Ina",
"mellomnavn":"",
"etternavn":"Hansen",
"fodselsdato":"1954-10-17",
"fullmaktReferanseId":"4b702b23-27fa-467c-aa54-759483307579"
}
]
}
]
} |
Fullmaktsgivere
Returnerer en liste over hvem som har gitt fullmakt (fullmaktsgivere) til en bestemt person (fullmaktshaver).
Input parametre
Navn | Type | Lovlige verdier | Kommentar |
---|---|---|---|
fullmaktshaverIdNrType | string | Volven kodeverk 8116. Lovlige verdier: “FNR” (Fødselsnummer) “DNR” (D-nummer) | Innført for å skille på D-nummer og FNR som nasjonal NIN |
fullmaktshaverIdNr | string | fødselsnummer (11 siffer) | Dette er fødselsnummer eller D-nummer til den innbygger som har fått fullmakter av andre, og som det skal returneres en liste over fullmaktsgivere for. |
fullmaktVirkeomrade | string | Tokenverdier (kan utvides) | Angir fullmaktens virkeområde, dvs. hvor den kan benyttes “helsenorge” - Fullmakten kan kun benyttes for digitale helsetjenester på Helsenorge “helseogomsorg” - Fullmakten kan benyttes i hele Helse og Omsorgsektoren “apotekogbandagist” - Fullmakten kan benyttes på apotek og bandagister |
fullmaktDefinisjonGuid | string | Eksisterende fullmaktsdefinisjon i PVK | Denne er opsjonell. Kan benyttes dersom man øsnker å begrense søket til en bestemt fullmakt innenfor et virkeområde (der det eksistere flere fullmaktdefinisjoner). |
Request eks:
Code Block |
---|
{
"fullmaktshaverIdNrType": "FNR",
"fullmaktshaverIdNr":"12048645510",
"fullmaktVirkeomrade": "apotekogbandagist"
} |
Responsparametre
Navn | Type | Lovlige verddier | Kommentar |
---|---|---|---|
fullmaktshaverIdNrType | string | Volven kodeverk 8116. Lovlige verdier: “FNR” (Fødselsnummer) “DNR” (D-nummer) | Innført for å skille på D-nummer og FNR som nasjonal NIN |
fullmaktshaverIdNr | string | fødselsnummer (11 siffer) | Dette er fødselsnummer eller D-nummer til den innbygger som har avgitt fullmakter (og som det ble spurt på). |
fullmaktVirkeomrade | string | Tokenverdier (kan utvides) | Angir fullmaktens virkeområde, dvs. hvor den kan benyttes “helsenorge” - Fullmakten kan kun benyttes for digitale helsetjenester på Helsenorge “helseogomsorg” - Fullmakten kan benyttes i hele Helse og Omsorgsektoren “apotekogbandagist” - Fullmakten kan benyttes på apotek og bandagister |
fullmaktsgiverFunnet | boolean | Denne vil alltid være med i retur. | |
fullmaktDefinisjoner | array | Det vil være en liste med fullmathavere pr fullmaktdefinisjon innenfor det aktuelle virksomhetsområde. | |
| string | Eksisterende fullmaktsdefinisjon i PVK | Fullmaktdefinisjonens unike ID |
| string | Eksisterende fullmaktsdefinisjon i PVK | Fullmaktdefinisjonenes beskrivende navn |
| array | JSON-struktur | En liste med fulmaktsgivere (som er avgitt fullmakter til fullmaktshaver. |
|
| "fullmaktReferanseId" benyttes i etterfølgende kall for å få detaljer om en fullmakt/fullmaktsbeviset. |
Respons eks:
Code Block |
---|
{
"fullmaktshaverIdNrType": "FNR",
"fullmaktshaverIdNr":"12048645510",
"fullmaktVirkeomradeI": "apotekogbandagist",
"fullmaktsgiverFunnet":"TRUE",
"fullmaktDefinisjoner": [
{
"fullmaktDefinisjonGuid": "fd9faa5d-acf9-461f-a493-8f6f6c29a8d3",
"fullmaktDefinisjonNavn": "Fullmakt for å hente ut reseptbelagte apotekvarer",
"fullmaktsgivere": [
{
"fornavn":"Per",
"mellomnavn":"Ole",
"etternavn":"Hansen",
"fodselsdato":"1955-11-19",
"fullmaktReferanseId":"3FE2A80A-4200-42E2-817B-DA8A6236708A"
},
{
"fornavn":"Hans",
"mellomnavn":"Per",
"etternavn":"Olesen",
"fodselsdato":"1962-06-12",
"fullmaktReferanseId":"3F7457B8-821C-45A8-AE04-D3E4A0DAC0F0"
}
]
},
{
"fullmaktDefinisjonGuid": "904af8ec-0d8a-43dc-bb2e-dfccfc69f2cc",
"fullmaktDefinisjonNavn": "Fullmakt til å få utlevert reseptliste og journalinformasjon",
"fullmakthavere": [
{
"fornavn":"Ina",
"mellomnavn":"",
"etternavn":"Hansen",
"fodselsdato":"1954-10-17",
"fullmaktReferanseId":"4b702b23-27fa-467c-aa54-759483307579"
}
]
}
]
} |
FullmaktToken
Returnerer et digitalt verifiserbart fullmaktbevis.
Input parametre
Navn | Type | Lovlige verdier | Kommentar |
---|---|---|---|
fullmaktReferanseId | Guid | Referanse mottatt i tidligere respons | Denne er en unik referanse til et bestemt fullmaktsforhold |
Request eks:
{
"fullmaktReferanseId":"76daf7a1-3005-ea11-831a-000d3a29f858"
}
Responsparametre
Dette er et JWT signert av Helsenorge personverntjenester.
Respons eks:
{
"jwt": "<token>"
}
Format
encodeBase64(json-header) + '.' + encodeBase64(json-payload) + '.' + encodeBase64(signature) |
---|
Header
Kort claimnavn | Fullt claimnavn | Beskrivelse |
---|---|---|
alg | Algorithm | Hvilken algoritme som benyttes. Vil være "RS256" dvs. RSA-SHA256 |
kid | Key ID | Thumbprint av public sertifikat tilhørende privat nøkkel som ble benyttet til å generere token |
typ | Type | Type token det er, vil alltid være "JWT" |
x5c | X.509 certificate chain | Public X.509 sertifikat tilhørende den private nøkkelen som ble benyttet for å signerer tokenet (se https://tools.ietf.org/html/rfc7515) |
Eks:
{
"alg": "RS256",
"kid": "046B8AC1B02F94E943A8137CF52EA3F4D7C78429",
"typ": "JWT",
"x5c": [
“MIIE/DCCA+SgAwIBAgILAXj3aSwrszNYDaIwDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSMwIQYDVQQDDBpCdXlwYXNzIENsYXNzIDMgVGVzdDQgQ0EgMzAeFw0xODAxMjMwNzQ4MDVaFw0yMTAxMjMyMjU5MDBaMGIxCzAJBgNVBAYTAk5PMSEwHwYDVQQKDBhESVJFS1RPUkFURVQgRk9SIEUtSEVMU0UxHDAaBgNVBAMME1BFUlNPTlZFUk5USkVORVNURVIxEjAQBgNVBAUTCTkxNTkzMzE0OTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALEJZUfJTuVYi5U1mAMgrxvNiLrSiGlC9Fi87bpYnYC5TMndpZL67PtoDrWmtwI/bw7o5jvsbbJAgMuNBkabsBcrsRlPis0DBBUkoKA8QIEnjmhjHUEf3GN8nsDgTFBPupSGG2pUB+xTJ55Se5LSG5joWSy3fkMG4Rn9cTnRn2uYMsJ3W3h+G9799PuiBiLH65rTd99HlZfblKrd38270dYHOgjcvV0xjJ5BazUDLnlksDE6HUY1+ZnAR9ikmfsXKKMiMAwpMoTz8+D9jYU7QlNvEPGKYVm2NWPVZ1i6Ctj8/NSfyxsFPGDK7ZsmzpJOKi2Uj70ktbG+ZWyaOXw955sCAwEAAaOCAcIwggG+MAkGA1UdEwQCMAAwHwYDVR0jBBgwFoAUP671eAuSo3AgNV9a+vckoFIB8EEwHQYDVR0OBBYEFL272d5vrNjsC2c9QHcu9fF8fJ9JMA4GA1UdDwEB/wQEAwIGQDAWBgNVHSAEDzANMAsGCWCEQgEaAQADAjCBuwYDVR0fBIGzMIGwMDegNaAzhjFodHRwOi8vY3JsLnRlc3Q0LmJ1eXBhc3Mubm8vY3JsL0JQQ2xhc3MzVDRDQTMuY3JsMHWgc6Bxhm9sZGFwOi8vbGRhcC50ZXN0NC5idXlwYXNzLm5vL2RjPUJ1eXBhc3MsZGM9Tk8sQ049QnV5cGFzcyUyMENsYXNzJTIwMyUyMFRlc3Q0JTIwQ0ElMjAzP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3QwgYoGCCsGAQUFBwEBBH4wfDA7BggrBgEFBQcwAYYvaHR0cDovL29jc3AudGVzdDQuYnV5cGFzcy5uby9vY3NwL0JQQ2xhc3MzVDRDQTMwPQYIKwYBBQUHMAKGMWh0dHA6Ly9jcnQudGVzdDQuYnV5cGFzcy5uby9jcnQvQlBDbGFzczNUNENBMy5jZXIwDQYJKoZIhvcNAQELBQADggEBAGyiyoGeOq4gW87SR+Om9XPIXy2IeHvzIx2NDLO5l5fciz75F0Unio7AN/NJF3B7iTB6WrKfuf1FClYVZRWaKHR0PFON97OU0Dq35M7B/k3F+Z3/oNPaLoNGRLORybZ0lDu3qval7/LoTH685KnQCyiyQO7nOWQOiEtoRz7A3NwFvXPSiNNJfVKjtoMROtkEnYjeL2D/I6r5WJ8iHs4wVFx99PqqEJfBju6kG0FgcOQyGN/2GI7Bzugx7RZzgqfJPg3aGJWhbZ2f2hbUOU4vJjbOdjyv0fZkxiTfk2gCfHWleuVnDSS7WMSO/oNA5PufoufWQ5hs3G5ytnSILRdwIp0="
]
}
Payload
Kort claimnavn | Fullt navn for claim | Beskrivelse |
---|---|---|
jti | JWT-ID | En unik iditifier (GUID) for dette fullmaktsbeviset. (Det kan utstedes mange fullmaktsbevis basert på samme fullmakt (som også har sin unike identifikator) |
aud | Audience | Angir fullmaktens virkeområde, dvs. hvor den kan benyttes “helsenorge” - Fullmakten kan kun benyttes for digitale helsetjenester på Helsenorge “helseogomsorg” - Fullmakten kan benyttes i hele Helse og Omsorgsektoren “apotekogbandagist” - Fullmakten kan benyttes på apotek og bandagister |
pvk_ref | PVK reference | GUID i PVK som entydig identifiserer dette fullmaktsforholdet. (Samme GUID som i request) |
type | Fullmakt type | “ordinar”- Ordinær fullmakt “tildelt” - Tildelt fullmakt (fullmaktsgiver er ikke samtykkekompetent) |
sub | Subject | Fødselsnummer eller D-nummer til fullmaktgiver |
sub_id_type | Type identifikator | Volven kodeverk 8116. Lovlige verdier: “FNR” (Fødselsnummer) “DNR” (D-nummer) |
sub_birthdate | Subject Birthdate | Fødselsdato til fullmaktsgiver Eks: "1956-07-12" |
sub_given_name | Subject given name | Fornavn til fullmaktsgiver |
sub_family_name | Subject family name | Etternavn til fullmaktsgiver |
sub_middle_name | Subject middle name | Mellomnavn til fullmaktsgiver |
act_sub | Actor subject | Fødselsnummer til fullmaktshaver |
act_sub_id_type | Type identifikator | Volven kodeverk 8116. Lovlige verdier: “FNR” (Fødselsnummer) “DNR” (D-nummer) |
act_birthdate | Actor Birthdate | Fødselsdato til fullmakhaver Eks: "1986-07-10" |
act_given_name | Actor given name | Fornavn til fullmaktshaver |
act_family_name | Actor family name | Etternavn til fullmaktshaver |
act_middle_name | Actor middle name | Mellomnavn til fullmaktshaver |
act_scp | Actor scope | Omfanget av fullmakten. Dette er avtalte/definerte string-tokens som angir et eller flere omfang fullmakten kan ha (kan velges individuelt av innbygger, hvis flere). Disse verdiene defineres som del av fullmaktsdefinisjonen. verdier separert med “space” innefor strengen. Scopene er prefikset med verdien i “audience”. |
freetext_instructions | Eventuelle fritekstinstruksjoner fra fillmaktsgiver | Er med dersom fullmakten tillater at innbygger som gir fullmakten har anledning til å gi begrensninger/instruksjoner i fritelst. Max 2048 tegn. |
iss | Issuer | Hvem som har generert tokenet, vil alltid være "personvern.helsenorge.no" |
nfb | Not Before | Tidspunktet for når tokenet er gyldig. Vil alltid ha samme verdi som tidspunktet det ble generert på |
exp | Expiration Time | Tidspunktet for når tokenet utløper |
iat | Issued At | Tidspunktet for når tokenet ble generert. Vil aldri være gyldig i mer enn 30 minutter |
Eks:
Code Block |
---|
{
"jti": "d8ef103b-df1f-494d-8625-8e5431cccb47",
"aud": "no:apotekogbandagist",
"pvk_ref": "76daf7a1-3005-ea11-831a-000d3a29f858",
"type":"ordinar",
"sub": "13077204746",
"sub_id_type": "FNR",
"sub_birthdate":"1972-07-13",
"sub_given_name":"Ole",
"sub_family_name": "Hansen",
"sub_middle_name": "",
"act_sub": "07118600295",
"act_sub_id_type": "FNR",
"act_birthdate": "1986-11-07",
"act_given_name": "Hanne",
"act_family_name": "Pettersen",
"act_middle_name": "Simensbråten",
"act_scp": "no:apotek:journalinfo no:apotek:utleveringresepter",
"iss": "personvern.helsenorge.no",
"nbf": 1574150978,
"exp": 1574152778,
"iat": 1574150978
} |
Signatur
Tokenet genereres og signeres i Personvernkomponeten (PVK) ved bruk av dennes virksomhetssertifikat. Signeringsalgoritmen som benyttes er RSA-SHA256.
Eks: på fullt JWT-token (mangler noen av de nye claims som er beskrevet over):
{
“jwt”: “eyJhbGciOiJSUzI1NiIsImtpZCI6IjA0NkI4QUMxQjAyRjk0RTk0M0E4MTM3Q0Y1MkVBM0Y0RDdDNzg0MjkiLCJ0eXAiOiJKV1QiLCJ4NWMiOlsiTUlJRS9EQ0NBK1NnQXdJQkFnSUxBWGozYVN3cnN6TllEYUl3RFFZSktvWklodmNOQVFFTEJRQXdVVEVMTUFrR0ExVUVCaE1DVGs4eEhUQWJCZ05WQkFvTUZFSjFlWEJoYzNNZ1FWTXRPVGd6TVRZek16STNNU013SVFZRFZRUUREQnBDZFhsd1lYTnpJRU5zWVhOeklETWdWR1Z6ZERRZ1EwRWdNekFlRncweE9EQXhNak13TnpRNE1EVmFGdzB5TVRBeE1qTXlNalU1TURCYU1HSXhDekFKQmdOVkJBWVRBazVQTVNFd0h3WURWUVFLREJoRVNWSkZTMVJQVWtGVVJWUWdSazlTSUVVdFNFVk1VMFV4SERBYUJnTlZCQU1NRTFCRlVsTlBUbFpGVWs1VVNrVk9SVk5VUlZJeEVqQVFCZ05WQkFVVENUa3hOVGt6TXpFME9UQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQUxFSlpVZkpUdVZZaTVVMW1BTWdyeHZOaUxyU2lHbEM5Rmk4N2JwWW5ZQzVUTW5kcFpMNjdQdG9EcldtdHdJL2J3N281anZzYmJKQWdNdU5Ca2Fic0JjcnNSbFBpczBEQkJVa29LQThRSUVuam1oakhVRWYzR044bnNEZ1RGQlB1cFNHRzJwVUIreFRKNTVTZTVMU0c1am9XU3kzZmtNRzRSbjljVG5SbjJ1WU1zSjNXM2grRzk3OTlQdWlCaUxINjVyVGQ5OUhsWmZibEtyZDM4MjcwZFlIT2dqY3ZWMHhqSjVCYXpVRExubGtzREU2SFVZMStabkFSOWlrbWZzWEtLTWlNQXdwTW9UejgrRDlqWVU3UWxOdkVQR0tZVm0yTldQVloxaTZDdGo4L05TZnl4c0ZQR0RLN1pzbXpwSk9LaTJVajcwa3RiRytaV3lhT1h3OTU1c0NBd0VBQWFPQ0FjSXdnZ0crTUFrR0ExVWRFd1FDTUFBd0h3WURWUjBqQkJnd0ZvQVVQNjcxZUF1U28zQWdOVjlhK3Zja29GSUI4RUV3SFFZRFZSME9CQllFRkwyNzJkNXZyTmpzQzJjOVFIY3U5ZkY4Zko5Sk1BNEdBMVVkRHdFQi93UUVBd0lHUURBV0JnTlZIU0FFRHpBTk1Bc0dDV0NFUWdFYUFRQURBakNCdXdZRFZSMGZCSUd6TUlHd01EZWdOYUF6aGpGb2RIUndPaTh2WTNKc0xuUmxjM1EwTG1KMWVYQmhjM011Ym04dlkzSnNMMEpRUTJ4aGMzTXpWRFJEUVRNdVkzSnNNSFdnYzZCeGhtOXNaR0Z3T2k4dmJHUmhjQzUwWlhOME5DNWlkWGx3WVhOekxtNXZMMlJqUFVKMWVYQmhjM01zWkdNOVRrOHNRMDQ5UW5WNWNHRnpjeVV5TUVOc1lYTnpKVEl3TXlVeU1GUmxjM1EwSlRJd1EwRWxNakF6UDJObGNuUnBabWxqWVhSbFVtVjJiMk5oZEdsdmJreHBjM1F3Z1lvR0NDc0dBUVVGQndFQkJINHdmREE3QmdnckJnRUZCUWN3QVlZdmFIUjBjRG92TDI5amMzQXVkR1Z6ZERRdVluVjVjR0Z6Y3k1dWJ5OXZZM053TDBKUVEyeGhjM016VkRSRFFUTXdQUVlJS3dZQkJRVUhNQUtHTVdoMGRIQTZMeTlqY25RdWRHVnpkRFF1WW5WNWNHRnpjeTV1Ynk5amNuUXZRbEJEYkdGemN6TlVORU5CTXk1alpYSXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBR3lpeW9HZU9xNGdXODdTUitPbTlYUElYeTJJZUh2ekl4Mk5ETE81bDVmY2l6NzVGMFVuaW83QU4vTkpGM0I3aVRCNldyS2Z1ZjFGQ2xZVlpSV2FLSFIwUEZPTjk3T1UwRHEzNU03Qi9rM0YrWjMvb05QYUxvTkdSTE9SeWJaMGxEdTNxdmFsNy9Mb1RINjg1S25RQ3lpeVFPN25PV1FPaUV0b1J6N0EzTndGdlhQU2lOTkpmVktqdG9NUk90a0VuWWplTDJEL0k2cjVXSjhpSHM0d1ZGeDk5UHFxRUpmQmp1NmtHMEZnY09ReUdOLzJHSTdCenVneDdSWnpncWZKUGczYUdKV2hiWjJmMmhiVU9VNHZKamJPZGp5djBmWmt4aVRmazJnQ2ZIV2xldVZuRFNTN1dNU08vb05BNVB1Zm91ZldRNWhzM0c1eXRuU0lMUmR3SXAwPSJdfQ.eyJqdGkiOiJkOGVmMTAzYi1kZjFmLTQ5NGQtODYyNS04ZTU0MzFjY2NiNDciLCJhdWQiOiJodHRwczovL2hlbHNlbm9yZ2Uubm8iLCJzdWIiOiIxMzA3NzIwNDc0NiIsInB2a19yZWYiOiI3NmRhZjdhMS0zMDA1LWVhMTEtODMxYS0wMDBkM2EyOWY4NTgiLCJhY3Rfc3ViIjoiMDcxMTg2MDAyOTUiLCJhY3RfdHlwIjoiZnVsbG1ha3QiLCJhY3Rfc2NwIjoiaG4ubm8ucmVnaXN0ZXJpbm5zeW4gaG4ubm8uam91cm5hbGlubnN5biBobi5uby5kaWdpdGFsZXRqZW5lc3RlciIsImlzcyI6InBlcnNvbnZlcm4uaGVsc2Vub3JnZS5ubyIsIm5iZiI6MTU3NDE1MDk3OCwiZXhwIjoxNTc0MTUyNzc4LCJpYXQiOjE1NzQxNTA5Nzh9.fejVgmjNubQJ7GozeMiD9AyvSCeH79hAr62TLLzc_q6pvuTrPSMrdIX6vnilwl2pTrWfwOgPMgL8o31L0XTHsAoydHpvpm5q8AVs68Nmf8G8z7HtbPhe2k6vy34QC5z2cqHCopLD6wUPeRAZNDm6bBDZqsVntT5mkKQKvRcWGny93aMY5JwN19rLDSTjjzjXZhRTurqSRW3NcQfpISa6ixNvrXo0wLgMJxXNOH-UdP0a10GaDMbDi1G9cp7OsiBmL-BXkNopEsj021xwGpuMzTp0ZBPEIoAcPyR8SxEMAWukvn6ycTRDvV9UyFd7lgqo5zYRu0YEP6CLV6MQl9YZaQ”
}