Tjenesteoversikt
TjenesteNavn | HttpVerb | Beskrivelse |
---|---|---|
SjekkInnbyggersPiStatus | POST <system url>/personvern/v2/Personverninnstillinger/SjekkInnbyggersPiStatus | Returnerer status på en bestemt Personverninnstilling for en gitt innbygger. |
HentInnbyggersPiForPart | POST <system url>/personvern/v2/Personverninnstillinger/HentInnbyggersPiForPart | Returnerer en liste over personverninnstillinger for en bestemt innbygger som tilhører en bestemt aktør inklusiv innstillingenes status. Merk! Denne returnerer kun status på de Personverninnstillinger der det finnes en instans hos aktuell innbygger og der denne har status "Aktiv", dvs. at den er virksom. Historikk vises derfor ikke. |
HentInnbyggereAktivePiForDefinisjon | POST <system url>/personvern/v2/Personverninnstillinger/HentInnbyggereAktivePiForDefinisjon | Returnerer en liste med fødselsnummer for alle innbyggere som har en aktiv personverninnstilling for en bestemt Personverninnstillingdefinisjon. Kan benyttes for å:
|
Autorisasjon og aksesstoken
Alle API’er krever at klienten på forhånd har autentisert seg mot vår Sikkerhetstjeneste og fått utstedt et aksesstoken som skal være med i tjenestekallene til det enkelte API. DigitalAktiv tjenesten krever ikke at kallet utføres i context av en innlogget bruker dvs. at det benyttes UseCase 1 (system-til-system) beskrevet her: 01 - System til System
SjekkInnbyggersPiStatus
Input parametre
Navn | Type | Lovlige verdier | Kommentar |
---|---|---|---|
innbyggerFnr | string | fødselsnummer (11 siffer) | Dette er fødselsnummer til innbygger det spørres på. |
definisjonGuid | string | Forhåndskjent verdi | GUID som referer til en bestemt personverninnstilling. Må være kjent på forhånd av kallende system. |
definisjonNavn | string | Navn på innstillingen | Beskrivende kortnavn på den forespurte personverndefinisjon. Må være kjent på forhånd av kallende system. (Denne er egentlig overflødig da GUID uansett er unik, vi har likevel valgt å ta denne med.) |
partKode | string | Forhåndsavtalt verdi | Kortnavn som identifisere det aktuelle register/screeningprogram/forskningsprosjekt som eier den aktuelle personverninnstilling. Må være kjent på forhånd av kallende system. (Denne er egentlig overflødig da GUID uansett er unik, vi har likevel valgt å ta denne med.) |
Eks:
{
"innbyggerFnr":"12048645510",
"definisjonGuid":"3FE2A80A-4200-42E2-817B-DA8A6236708A",
"definisjonNavn":"Samtykke til oppbevaring av biomateriale",
"partKode":"NFS"
}
Responsparametre
Navn | Type | Lovlige verdier | Kommentar |
---|---|---|---|
innbyggerFnr | string | fødselsnummer (11 siffer) | Dette er fødselsnummer til innbygger det ble spurt på (og som svaret gjelder). |
definisjonGuid | string | GUID | GUID for den personverninnstilling definisjon det ble spurt på. |
definisjonNavn | string | Navn på innstillingen | Beskrivende kortnavn på den forespurte personverndefinisjon. |
partKode | string | Forhåndsavtalt verdi | Kortnavn som identifisere det aktuelle register/screeningprogram/forskningsprosjekt som eier den aktuelle personverninnstilling. |
typePi | string | Type personverninnstilling | Kan ha en av følgende verdier:
|
aktiv | bool | Kan ha en av følgende verdier:
MERK! En innstilling er markert som aktiv selv om den eventuelt ikke er virksom ut fra metadata som kan tillate tidsbegrensninger (se under) | |
SaMetadata ReMetadata TbMetadata | JSON | Struktur med metadata knyttet til aktuell personverninnstilling. Kan både være faste metadata for definisjonen, og metadata som innbygger selv kan sette, dersom dette er tillatt/nødvendig for den aktuelle definisjon | (C=Conditional). Er med dersom definisjonen har faste metadata eller har metadata som innbygger setter..
|
Metadata for samtykker og reservasjoner
SaMetadata eller ReMatadata | Type | Lovlige verdier | Kommentar |
---|---|---|---|
fastTidsbegrensning | element | ||
tidsbegrensetFra | string | Dato | |
tidsbegrensetTil | string | Dato | |
innbyggerTidsbergensninger | element | ||
periode | liste | ||
fraTidspunkt | string | Dato | Fra og med |
tilTidspukt | string | Dato | til og med |
omfangElement | Liste | Det kan være flere enn et slikt element (eventuelt ingen) | |
omfang | string (kodeverdi) | Omfanget av samtykke/reservasjon: kodeverk fra Volven 7608. Følgende verdier er aktuelle for Samtykke eller Reservasjon: DT: Digital tilgang OF: Oppføring UO: Utlevering av helseopplysninger IO: Innhenting av helseopplysninger DO: Deltagelse i ordning eller tjeneste | |
logiskOmfang | string | Kan ha en av følgende tre verdier:
| |
presisering | string | Fritekstfelt: Bilateralt avtalt mellom Register og NHN | Presisering ift. Omfang, benyttes hvis nødvendig |
Metadata for tilgangsbegrensninger
TbMetadata | Type | Lovlige verdier | Kommentar |
---|---|---|---|
fastTidsbegrensning | element | ||
tidsbegrensetFra | string | Dato | Fra og med |
tidsbegrensetTil | string | Dato | Til og med |
innbyggerTidsbergensninger | element | ||
periode | liste | ||
fraTidspunkt | string | Dato | Fra og med |
tilTidspukt | string | Dato | til og med |
Element | Liste | Det vil alltid være minst et slikt element for tilgangsbegrensninger. Dette angir nærmere sperringen- eller blokkeringens virkeområde. | |
omfang | string (kodeverdi) | Omfanget av tilgangsbegrensningen: kodeverk fra Volven 7608. Følgende verdier er aktuelle for tilgangsbegrensning: SP: Sperre tilgang til helseopplysninger BL: Blokkere tilgang til helseopplysninger | Sperre: Helsepersonell med tjenestlig behov kan fremdeles få tilgang i en akuttsituasjon. Blokkere: Helsepersonell kan ikke gis tilgang til helseopplysninger før blokkeringen oppheves av innbygger. |
logiskOmfang | string | Kan ha en av følgende tre verdier:
| |
presisering | string | Fritekstfelt: Bilateralt avtalt mellom Register og NHN | Presisering ift. Omfang, benyttes hvis nødvendig |
Eksempler
Eks (samtykke uten metadata):
{
"innbyggerFnr":"12048645510",
"definisjonGuid":"3FE2A80A-4200-42E2-817B-DA8A6236708A",
"definisjonNavn":"Samtykke til oppbevaring av biomateriale",
"partKode":"NFS",
"typePi": “samtykke”,
"aktiv": true
}
Eks (reservasjon):
{
"innbyggerFnr":"12048645510",
"definisjonGuid":"3FE2A80A-4200-42E2-817B-DA8A6236708A",
"definisjonNavn":"Reservasjon mot lagring av helseopplysninger",
"partKode":"PDMR",
"typePi": “reservasjon”,
"status":"piIkkeAktiv"
}
Metadata knyttet til en instans av en tilgangsbegrensning (variabler som settes av innbygger)
Navn | Type | Kommentar |
---|---|---|
type | string | Kan ha en av følgende verdier:
|
nummer | string | HPR-nummer eler organisasjonsnummer |
navn | string | Sammensatt navn på helsepersonell eller foretakets navn |
Eks (tilgangsbegrensning):
{ "innbyggerTbMetadata": [ { "type": "Helsepersonell", "nummer": "4128168", "navn": "Linda Ingrid Telle" }, { "type":"helsepersonell", "nummer":"1234567", "navn":"Per Olsen" } ], "innbyggerFnr": "27047706365", "definisjonGuid": "67af5fcd-a4a0-4d58-bd2f-ffa77406421d", "definisjonNavn": "Blokkere tilgang for utvalgt helsepersonell", "partKode": "nilar", "typePi": "tilgangsbegrensning", "status": "piAktiv" }
HentInnbyggersPiForPart
Input parametre
Navn | Type | Lovlige verdier | Kommentar |
---|---|---|---|
innbyggerFnr | string | fødselsnummer (11 siffer) | Dette er fødselsnummer til innbygger det spørres på. |
partKode | string | Forhåndskjent verdi | Kortnavn som identifisere det aktuelle register/screeningprogram/forskningsprosjekt som eier den aktuelle personverninnstilling. |
Eks:
{
"innbyggerFnr":"12048645510",
"partKode":"NFS"
}
Responsparametre
Navn | Type | Kommentar | |
---|---|---|---|
innbyggerFnr | string | fødselsnummer (11 siffer) | Dette er fødselsnummer til innbygger det ble spurt på (og som svaret gjelder). |
partKode | string | Forhåndskjent verdi | Kortnavn som identifisere det aktuelle register/screeningprogram/forskningsprosjekt som eier den aktuelle personverninnstilling. |
funnet | boolean | Denne vil alltid være med i retur. | "true" dersom minst en aktiv personverninnstilling ble funnet for innbygger tilhørende den parten det forespørres på. |
personvernInnstillinger | array | JSON-struktur | En liste med de aktive personverninnstillinger som finnes for aktuell innbygger knyttet til den aktuelle part. |
|
|
|
|
Eks:
{ "innbyggerFnr":"12048645510", "partKode":"NFS", "personvernInnstillinger": [ { "definisjonGuid":"3FE2A80A-4200-42E2-817B-DA8A6236708A", "definisjonNavn":"Samtykke til oppbevaring av biomateriale", "typePi":1, "status":"piAktiv" }, { "definisjonGuid":"f379375-ac8c-49af-b9a2-f01240052986", "definisjonNavn":"Reservasjon mot bruk uten separat tillatelse", "typePi":2, "status":"piAktiv" }] }
HentInnbyggereAktivePiForDefinisjon
Input parametre
Navn | Type | Lovlige verdier | Kommentar |
---|---|---|---|
definisjonGuid | string | Forhåndskjent verdi | GUID som referer til en bestemt personverninnstilling. Må være kjent på forhånd av kallende system. |
partKode | string | Forhåndsavtalt verdi | Kortnavn som identifisere det aktuelle register/screeningprogram/forskningsprosjekt som eier den aktuelle personverninnstilling. Må være kjent på forhånd av kallende system. |
pagingReference | int | Verdi fås i respons. | Skal være med i request i etterfølgende kall dersom det er behov for paging, og kan være med i første request, men må da ha verdien 0. |
Eks (første kall):
{ "definisjonGuid":"3FE2A80A-4200-42E2-817B-DA8A6236708A", "partKode":"NFS" }
eller
{ "definisjonGuid":"3FE2A80A-4200-42E2-817B-DA8A6236708A", "partKode":"NFS", "pagingReference": 0 }
Responsparametre
Navn | Type | Lovlige verdier | Kommentar |
---|---|---|---|
definisjonGuid | string | GUID | GUID for den personverninnstilling definisjon det ble spurt på. |
definisjonNavn | string | Navn på innstillingen | Beskrivende kortnavn på den forespurte personverndefinisjon. |
partKode | string | Forhåndsavtalt verdi | Kortnavn som identifisere det aktuelle register/screeningprogram/forskningsprosjekt som eier den aktuelle personverninnstilling. |
typePi | string | Type personverninnstilling | Kan ha en av følgende verdier:
|
pagingReference | int | Dersom den har verdien 0, trenger det ikke å gjøres flere kall. Dersom annen verdi, må det gjøres etterfølgende kall med angitt pagingReference. | Nytt kall må gjøres med pagingReference så lenge denne er større enn verdien “0”. |
personvernInnstillinger
| JSON liste
|
| En liste med alle de innbygger som har en aktiv instans (aktiv reservasjon, samtykke eller tilgangsbegrensning)
|
Eks (samtykke evt. reservasjon):
{ "definisjonGuid":"3FE2A80A-4200-42E2-817B-DA8A6236708A", "definisjonNavn":"Samtykke til oppbevaring av biomateriale", "partKode":"NFS", "typePi": "samtykke", "pagingReference": 0, "personvernInnstillinger": [ { "innbyggerFnr":"12048645510" }, { "innbyggerFnr":"11059643310" } ] }
Eks (tilgangsbegrensning):
{ "definisjonGuid":"91b682e1-6a6d-4f3d-ad25-233dfddbe490", "definisjonNavn":"Sperring mot innsyn i prøvesvar", "partKode":"NFS", "typePi": "tilgangsbegrensning", "pagingReference": 0, "personvernInnstillinger": [ { "innbyggerFnr":"12048645510", "innbyggerTbMetadata":[ { "type":"helsepersonell", "nummer":"1234567", "navn":"Per Olsen" }, { "type":"helsepersonell", "nummer":"9876543", "navn":"Lisa Elin Kultvedt" }] }, { "innbyggerFnr":"11059643310", "innbyggerTbMetadata":[ { "type":"helsepersonell", "nummer":"1234599", "navn":"Kim Hansen" }, { "type":"helsepersonell", "nummer":"9876599", "navn":"Nina Petersen" }] }] }
Respons ved feil
Alle tjenester i API'ene har følgende logikk for HTTP-respons:
Statuskode når kallet er utført ok: 200
Statuskode ved feil internt på Helsenorge: 500
Statuskode ved feil i request: 400
Statuskode ved manglende tilganger: 403
Statuskode ved feil eller manglende autorisasjon: 401
Ved HTTP-statuskoder som tilsier at det har oppstått en feil returneres også en respons med feilkode og feilmelding.
Eks:
{
"Code": "SEC-110000",
"Message": "Token is expired or invalid"
}