Table of Contents |
---|
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 å:
Synkronisere initielt når man skal ha lokal kopi av alle innstillinger og holdes ajour ved replikering.
Kan benyttes som alternativ til replikering og lokal kopi dersom man f.eks. skal “vaske” et stort datasett mot en bestemt personverninnstilling (f.eks. reservasjon) og det er uhensiktsmessig å spørre om status for hver enkelt innbygger.
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:
samtykke
reservasjon
tilgangsbegrensning
...
aktiv
...
bool
...
Kan ha en av følgende verdier:
false (Betyr: Dersom Samtykke: Ikke samtykket; dersom reservasjon: Ingen Reservasjon satt, dersom Tilgangsbegrensning: Ingen tilgangsbegrensning satt.)
true (Betyr: Dersom Samtykke: Har samtykket; dersom reservasjon: Reservasjon satt, dersom Tilgangsbegrensning: Tilgangsbegrensning satt.
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..
Er alltid med dersom definisjonen er av type tilgangsbegrensning
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:
Angitte = Gjelder for det som er angitt på definisjonen eller det som er angitt av innbygger selv
Ovrige = Gjelder for alt unntatt det som er angitt på definisjonen eller det som er angitt av innbygger selv
Alle = Gjelder for alle elementer av angitt type.
...
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)
...
Table of Contents |
---|
Tjenesteoversikt
TjenesteNavn | HttpVerb | Beskrivelse |
---|---|---|
SjekkInnbyggersPiStatus | POST <system url>/personvern/Personverninnstillinger/SjekkInnbyggersPiStatus/v2 | Returnerer status på en bestemt Personverninnstilling for en gitt innbygger. |
HentInnbyggersPiForPart | POST <system url>/personvern/Personverninnstillinger/HentInnbyggersPiForPart/v2 | 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 | GET <system url>/personvern/Personverninnstillinger/HentInnbyggereAktivePiForDefinisjon/v2 | Returnerer en liste med fødselsnummer for alle innbyggere som har en aktiv personverninnstilling for en bestemt Personverninnstillingdefinisjon. Kan benyttes for å:
|
<system url> : Dette er bas.eurl for ekstern api’ene i de forskjellige testsystemer og i produksjon. Oversikt over disse finnes her: Testmiljøer og endepunkter
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
Felles objekter benyttet i respons fra tjenestene
Personverninnstilling definisjoner kan være utformet slik at de har metadata. Slike metadata har tre formål:
De angir i kodeverk personverninnstillingens generelle virkeområde, slik at dette kan tolkes maskinelt (uten å på forhånd vite hva en bestemt innstilling betyr).
Dersom en personverninnstillingdefinisjon tillater at innbygger selv kan sette en eller flere tidsperioder det innstillingen skal være gjeldende, er innbyggers valg med som metadata
For tilgangsbegrensninger er det alltid med metadata. Noen av disse er valg innbygger selv kan gjøre. (F.eks. blokkere tilgang til navngitt helsepersonell).
Litt mer om “faste-metadata”
I alle responser fra API’ene våre så har vi valgt å inkludere også de metadata som er faste for en personverninnstilling. Man kan si at dette kan virke unødvendig, da det register som har fått definert opp en personverninnstilling på Helsenorge, selv “vet” denne informasjonen. (Dvs. hva det betyr for registeret selv dersom innbygger har satt den aktuelle innstilling).
Hovedargumentet for å inkludere denne informasjonen, er at vi har stadig flere UseCase der også andre enn registeret selv benytter personverninnstillingen i sin egen tilgangsstyring. Det er derfor fornuftig å inkludere slik informasjon. Dette betyr at registeret som selv “eier” en innstilling selv kan velge om de vil ta hensyn til de faste metadataene eller ikke.
I API’et for å registrere innbyggers innstillinger som er mottatt utenfor Helsenorge, er de faste metadata for innstillingen ikke med (da jo Helsnorge uansett kjenner disse).
Metadata for samtykker og reservasjoner
Hovedstruktur
SaMetadata eller ReMetadata | Type | Kommentar |
---|---|---|
SaFasteMetadata eller ReFasteMetadata (conditional) | Se under. | Er med kun dersom det er definerte faste metadata på definisjonen. Normalt med i alle nyere definisjoner. |
SaInnbyggerMetadata eller ReInnbyggerMetdata (conditinal) | Se under | Er kun med dersom definisjonen tillater at innbygger setter tidsbegrensninger og innbygger har satt slike. |
Faste metadata for en definisjon
Dette er metadata som beskriver innstillingens virkeområde/omfang og som gjelder alle innbyggere.
fasteMetadata | Type | Lovlige verdier | Kommentar |
---|---|---|---|
tidsbegrensning | element (conditional) | Kun med hvis det er en fast tidsbegrensning for innstillingens virkeområde. Merk! Eventuelle tidsbegrensning gjelder felles for alle “Omfang” elementer (dersom det er flere av disse). | |
tidsbegrensetFra | string | Dato | Fra og med |
tidsbegrensetTil | string | Dato | Til og med |
omfangElementer | Liste | Det kan være flere enn et slikt element (eventuelt ingen) | |
omfangKode (mandatory) | 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 |
logiskOmfang
IO: Innhenting av 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.
DO: Deltagelse i ordning eller tjeneste | |||
logiskOmfang (optional) | string | Kan ha en av følgende tre verdier:
| |
presisering (optional) | 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:
helsepersonell
helseforetak
...
nummer
...
string
...
HPR-nummer eler organisasjonsnummer
...
navn
...
string
...
Sammensatt navn på helsepersonell eller foretakets navn
Eks (tilgangsbegrensning):
Code Block |
---|
{
"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"
} |
...
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.
...
definisjonGuid
type
status
...
string
int
string
...
Forhåndskjent verdi
En av tre verdier
Alltid "piAktiv"
...
GUID til personverninnstilling definisjonen.
1=samtykke, 2=reservasjon eller 3=tilgangsbegrensning
(Egentlig unødvendig, men tas med for eventuelle framtidige utvidelser)
Eks:
Code Block |
---|
{
"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
Metadata som innbygger kan sette selv
Dette er metadata som innbygger kan settes selv, dersom definisjonen tillater det, og som er individuelle pr. innbygger.
SaInnbyggerMetadata eller ReInnbyggerMetadata | Type | Lovlige verdier | Kommentar |
---|---|---|---|
tidsbergensning | element (conditional) | Kun med dersom definisjonen har gitt innbygger slik mulighet og innbygger har angitt en eller flere tidsperioder. Merk! Eventuell tidsbegrensning satt av innbygger gjelder for hele definisjonen (dvs. for alle eventuelle “omfang” elementer i den faste delen av definisjonen). | |
perioder | liste | ||
fraDato | string | Dato | Fra og med |
tilDato | string | Dato | til og med |
Metadata for tilgangsbegrensninger
Hovedstruktur
TbMetadata | Type | Kommentar |
---|---|---|
TbFasteMetadata (mandatory) | Se under. | Er med for alle definisjoner. |
TbInnbyggerMetadata (conditional) | Se under | Er med dersom definisjonen tillater at innbygger setter tidsbegrensninger eller definisjonen tilsier at innbygger selv må angi sperringen eller blokkeringens virkeområde. |
Faste metadata for en definisjon
Dette er metadata som beskriver innstillingens virkeområde/omfang og som gjelder alle innbyggere.
TbFasteMetadata | Type | Lovlige verdier | |
---|---|---|---|
tidsbegrensning (conditional) | element (conditional) | Kun med hvis det er en fast tidsbegrensning for innstillingens virkeområde. | |
tidsbegrensetFra | string | Dato | |
tidsbegrensetTil | string | Dato | |
omfangElementer | Liste | Det er alltid med et slikt listelemenet for Tilgangsbegrensninger. (Data modellen tillater flere, men vi har ingen usecase pr. nå der dette benyttes.) | |
omfangKode (mandatory) | string | Omfanget av tilgangsbegrensningen: kodeverk fra Volven 7608. Følgende verdier er lovlige for tilgangsbegrensning: SP: Sperre tilgang til helseopplysninger BL: Blokkere tilgang til helseopplysninger | |
logiskOmfang (mandatory) | string | Kan ha en av følgende tre verdier:
| |
typeAngivelse (mandatory) | string | Angir hvilken type angivelse som benyttes for å beskrive hva/hvem tilgangsbegrensningen gjelder for. Kan ha en av følgende 2 verdier:
Følgende to verdier er for fremtidig bruk, og ikke implementert full støtte for enda (kan implementeres når slik behov kommer fra sektoren):
| |
detaljertAngivelse (conditional) | element | ||
(liste av) kategoriOpplysninger (conditional) | string | Foreløpig ikke etablert kodeverk. Må avtales bilateralt mellom register og NHN. | |
(liste av) rolleTilPasient (conditional) | string | Volven kodeverk 9034. Feltet inneholder rollens verdi i kodeverket. Eksempel: “Fastlege”. |
Metadata som innbygger kan sette selv
Dette er metadata som beskriver innstillingens virkeområde/omfang og som gjelder alle innbyggere.
TbInnbyggerMetadata | Type | Lovlige verdier | Kommentar |
---|---|---|---|
tidsbergensning (conditional) | element | Kun med dersom definisjonen har gitt innbygger slik mulighet og innbygger har angitt en eller flere tidsperioder. | |
perioder | liste | ||
fraDato | string | Dato | Fra og med |
tilDato | string | Dato | til og med |
detaljertAngivelse (conditional) | element | Er med dersom definisjonen er utformet slik at innbygger selv kan velge hva/hvem tilgangsbegrensningen gjelder for. | |
Ikke støtte for enda (liste av) kategoriOpplysninger (conditional) | element | Foreløpig ikke etablert kodeverk. Må avtales bilateralt mellom register og NHN. | Er med dersom et “omfangElement” har “typeAngivelse = Kategori opplysninger” i den faste delen av definisjonen. |
(liste av) rolleTilPasient (conditional) | string | Volven kodeverk 9034. Feltet inneholder kodeverkets verdi. Eksempel: “rolle”: “Fastlege”. | Er med dersom et “omfangElement” har “typeAngivelse = Rolle til pasient” i den faste delen av definisjonen. |
(liste av) navngittHelseperson (conditional) | element | Er med dersom et “omfangElement” har “typeAngivelse = Helsepersonell” i den faste delen av definisjonen. | |
nummer (manadatory) | string | Helsepersonens HPR-nummer | |
navn (mandatory) | string | Helsepersonenes Navn | |
Ikke støtte for enda (liste av) helseforetak (conditional) | element | Er med dersom et “omfangElement” har “typeAngivelse = Ansatte i organisasjon” i den faste delen av definisjonen. | |
nummer (manadatory) | string | Helseforetakets organisasjonsnummer | |
navn (mandatory) | string | Helseforetakets Navn |
SjekkInnbyggersPiStatus
Input parametere
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 (oppdatert 2024-05-02)
Navn | Type | Lovlige verdier | Kommentar |
---|
innbyggerFnr | string |
Forhåndskjent verdi
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 |
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):
Code Block |
---|
{
"definisjonGuid":"3FE2A80A-4200-42E2-817B-DA8A6236708A",
"partKode":"NFS"
} |
eller
Code Block |
---|
{
"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:
samtykke
reservasjon
tilgangsbegrensning
...
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
innbyggerFnr
innbyggerTbMetadata
JSON liste
string
JSON
Gyldig fødselsnummer
Struktur med metadata for tilgangsbegrensning
...
En liste med alle de innbygger som har en aktiv instans (aktiv reservasjon, samtykke eller tilgangsbegrensning)
Alltid med i liste elementet
(C=Conditional). Er kun med dersom definisjonen er av type tilgangsbegrensning
Eks (samtykke evt. reservasjon):
...
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) | |
sekvensnummer (Ny Q2 2024) | int | Hvilket sekvensnummer dette er for innbygger instans av denne personverninnstillingdefinisjonen. Elementet er ikke med dersom innbygger aldri har satt verdi for aktuell personverninnstilling. | Løpenummer som begynner på 1 og økes med 1 for hver gang innbygger har satt/endret den aktuelle innstilling. |
opprettetTidspunkt (Ny Q2 2024) | time | Tidspunkt for når første instans av innbyggers personverninnstilling ble opprettet. Elementet er ikke med dersom innbygger aldri har satt verdi for aktuell personverninnstilling. | Tidspunkt for når sekvensnummer 1 ble opprettet, |
sistEndretTidspunkt (Ny Q2 2024) | time | Tidspunkt for nå innbygger sist satt/endret personnverninnstillingen. Elementet er ikke med dersom innbygger aldri har satt verdi for aktuell personverninnstilling. | Tidspunkt for siste endring. |
SaMetadata (element)
ReMetadata (element)
TbMetadata (element)
| 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.
|
Eksempler
Samtykker
Samtykke uten metadata
Code Block |
---|
{
"innbyggerFnr":"12048645510",
"definisjonGuid":"3FE2A80A-4200-42E2-817B-DA8A6236708A",
"definisjonNavn":"Samtykke til oppbevaring av biomateriale",
"partKode":"NFS",
"typePi": “samtykke”,
"aktiv": true,
"sekvensnummer":3,
"opprettetTidspunkt":"2020-01-16T11:09:38.4871148+01:00",
"sistEndretTidspunkt":"2020-03-12T11:09:38.4870056+01:00"
} |
Samtykke med fast tidsbegrensning og metadata
Her er det en fast tidsbegrensning for hvilken periode samtykket gjelder for. Videre er det i eksemplet to stk. omfangElement:
OF (oppføring)
IO (innhenting av helseopplysninger, med tilhørende presisering)
Code Block |
---|
{
"innbyggerFnr": "12048645510",
"definisjonGuid":"3FE2A80A-4200-42E2-817B-DA8A6236708A",
"definisjonNavn":"Samtykke til oppbevaring av biomateriale",
"partKode":"NFS",
"typePi":"samtykke",
"aktiv": true,
"sekvensnummer":3,
"opprettetTidspunkt":"2020-01-16T11:09:38.4871148+01:00",
"sistEndretTidspunkt":"2020-03-12T11:09:38.4870056+01:00",
"SaMetadata":
{
"SaFasteMetadata":
{
"tidsbegrensning":
{
"tidsbegrensetFra": "2022-01-01",
"tidsbegrensetTil": "2023-12-31"
},
"omfangElementer": [
{
"omfangKode": "OF"
},
{
"omfangKode": "IO",
"logiskOmfang": "Angitte",
"presisering": "Blodprøver"
}
]
}
}
} |
Reservasjon
Reservasjon uten metadata
Code Block |
---|
{
"innbyggerFnr":"12048645510",
"definisjonGuid":"3FE2A80A-4200-42E2-817B-DA8A6236708A",
"definisjonNavn":"Reservasjon mot lagring av helseopplysninger",
"partKode":"PDMR",
"typePi": "reservasjon",
"aktiv": false,
"sekvensnummer":2,
"opprettetTidspunkt":"2020-01-16T11:09:38.4871148+01:00",
"sistEndretTidspunkt":"2020-03-12T11:09:38.4870056+01:00"
} |
Reservasjon med innbygger satt tidsbegrensning og metadata
Her har reservasjonen metadata som forklarer i kodeverk hva den gjelder (utlevering av direkte personidentifiserbare opplysninger). Videre har innbygger satt 2 tidsperioder der reservasjonen gjelder.
Code Block |
---|
{
"innbyggerFnr":"12048645510",
"definisjonGuid":"3FE2A80A-4200-42E2-817B-DA8A6236708A",
"definisjonNavn":"Reservasjon mot utlevering av helseopplysninger",
"partKode":"PDMR",
"typePi": "reservasjon",
"aktiv": true,
"sekvensnummer":2,
"opprettetTidspunkt":"2020-01-16T11:09:38.4871148+01:00",
"sistEndretTidspunkt":"2020-03-12T11:09:38.4870056+01:00",
"ReMetadata":
{
"ReFasteMetadata":
{
"omfangElementer": [
{
"omfangKode": "UO",
"logiskOmfang": "Angitte",
"presisering": "Direkte personidentifiserbare opplysninger"
}
]
},
"ReInnbyggerMetadata":
{
"tidsbegrensning":
{
"perioder": [
{
"fraDato":"2022-01-01",
"tilDato":"2022-06-01"
},
{
"fraDato": "2022-09-01",
"tilDato": "2022-12-31"
}
]
}
}
}
} |
Tilgangsbegrensning
Tilgangsbegrensning av type sperre som gjelder alt helsepersonell
I dette eksemplet har vi også lagt på en tidsperiode som innbygger har satt der denne sperren gjelder.
Code Block |
---|
{
"innbyggerFnr":"12048645510",
"definisjonGuid":"9c869253-ed40-4447-abdb-9e2024a88af0",
"definisjonNavn":"Sperre tilgang for alt helsepersonell",
"partKode":"nilar",
"typePi": "tilgangsbegrensning",
"aktiv": true,
"sekvensnummer":3,
"opprettetTidspunkt":"2020-01-16T11:09:38.4871148+01:00",
"sistEndretTidspunkt":"2020-03-12T11:09:38.4870056+01:00",
"TbMetadata":
{
"TbFasteMetadata":
{
"omfangElementer": [
{
"omfangKode": "SP",
"logiskOmfang": "Alle",
"typeAngivelse": "Helsepersonell"
}
]
},
"TbInnbyggerMetadata":
{
"tidsbegrensning":
{
"perioder": [
{
"fraDato":"2022-01-01",
"tilDato":"2022-06-01"
}
]
}
}
}
} |
Tilgangsbegrensning av type blokkering som gjelder alt helsepersonell unntatt fastlegen
Dette er fast for definisjonen g kan ikke velges av innbygger). Vi har lagt på en innbygger satt tidsbegrensning i dette eksemplet.
Code Block |
---|
{
"innbyggerFnr":"12048645510",
"definisjonGuid":"a3c17c59-d197-47fd-aa51-64cdfdf847db",
"definisjonNavn":"Blokkere tilgang for alt helsepersonell unntatt fastlege",
"partKode":"RF",
"typePi": "tilgangsbegrensning",
"aktiv": true,
"sekvensnummer":2,
"opprettetTidspunkt":"2020-01-16T11:09:38.4871148+01:00",
"sistEndretTidspunkt":"2020-03-12T11:09:38.4870056+01:00"
"sekvensnummer":3,
"opprettetTidspunkt":"2020-01-16T11:09:38.4871148+01:00",
"sistEndretTidspunkt":"2020-03-12T11:09:38.4870056+01:00",
"TbMetadata":
{
"TbFasteMetadata":
{
"omfangElementer": [
{
"omfangKode": "BL",
"logiskOmfang": "Angitte",
"typeAngivelse": "Rolle til Pasient"
}
],
"detaljertAngivelse":
{
"rolleTilPasient": [
{
"rolle": "Fastlege"
}
]
}
},
"TbInnbyggerMetadata":
{
"tidsbegrensning":
{
"perioder": [
{
"fraDato":"2022-01-01",
"tilDato":"2022-06-01"
}
]
}
}
}
} |
Tilgangsbegrensning av type blokkering som gjelder angitt helsepersonell
Innbygger angir hvilket helsepersonell som det ska blokkeres tilgang for (vi har også her lagt på en innbygger bestemt tidsperiode).
Code Block |
---|
{
"innbyggerFnr":"12048645510",
"definisjonGuid":"61d0da0d-1e08-425f-b0c6-2a01019cc181",
"definisjonNavn":"Blokkere tilgang for angitt helsepersonell",
"partKode":"nilar",
"typePi": "tilgangsbegrensning",
"aktiv": true,
"sekvensnummer":3,
"opprettetTidspunkt":"2020-01-16T11:09:38.4871148+01:00",
"sistEndretTidspunkt":"2020-03-12T11:09:38.4870056+01:00",
"TbMetadata":
{
"TbFasteMetadata":
{
"omfangElementer": [
{
"omfangKode": "BL",
"logiskOmfang": "Angitte",
"typeAngivelse": "Helsepersonell"
}
]
},
"TbInnbyggerMetadata":
{
"tidsbegrensning":
{
"perioder": [
{
"fraDato":"2022-01-01",
"tilDato":"2022-06-01"
}
]
},
"detaljertAngivelse":
{
"navngittHelseperson": [
{
"nummer": "4128168",
"navn": "Linda Ingrid Telle"
},
{
"nummer":"1234567",
"navn":"Per Olsen"
}
]
}
}
}
} |
HentInnbyggersPiForPart
Dette tjenestekallet returnerer kun innstillinger aktuell innbygger har aktiv hos aktøren. Merk! EN innstilling anses aktiv selv om tidsperiode angitt for innstillingens virkeområde ikke er “aktiv”.
Input parametere
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 (oppdatert 2024-05-02)
Navn | Type | Kommentar | |
---|---|---|---|
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 | liste | JSON-struktur | En liste med de aktive personverninnstillinger som finnes for aktuell innbygger knyttet til den aktuelle part. Disse har eksakt samme struktur som i respons for andre tjenestekall som gjelder kun en enkelt innstilling. Derav dublering av innbyggers fødselsnummer og PartKode i hver returnert aktiv innstilling. |
|
|
|
|
sekvensnummer (Ny Q2 2024) | int | Hvilket sekvensnummer dette er for innbygger instans av denne personverninnstillingdefinisjonen. | Løpenummer som begynner på 1 og økes med 1 for hver gang innbygger har satt/endret den aktuelle innstilling. MERK! Mottagende system bør lagre siste mottatte sekvensnummer. Dersom det mottas en replikering med et sekvensnummer som er mindre (eller lik) et tidligere mottatt sekvensnummer, skal replikeringen overses. Dette kan skje dersom det er temporær nedetid i mottagende system, og Helsnorge/PVK retry-mekanisme gjør at replikeringensmeldingen blir “forsinket”, og innbygger i mellomtiden har satt ny innstilling. |
opprettetTidspunkt (Ny Q2 2024) | time | Tidspunkt for når første instans av innbyggers personverninnstilling ble opprettet. | Tidspunkt for når sekvensnummer 1 ble opprettet, |
sistEndretTidspunkt (Ny Q2 2024) | time | Tidspunkt for nå innbygger sist satt/endret personnverninnstillingen. | Tidspunkt for siste endring. |
| 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.
|
Eksempel
Eksemplet viser innbygger som har et aktivt samtykke med innbygger bestemt tidsperiode, samt en tilgangsbegrensning for angitt helsepersonell.
Code Block |
---|
{
"funnet": true,
"personverninnstillinger": [
{
"innbyggerFnr": "12048645510",
"definisjonGuid":"3FE2A80A-4200-42E2-817B-DA8A6236708A",
"definisjonNavn":"Samtykke til oppbevaring av biomateriale",
"partKode":"NFS",
"typePi":"samtykke",
"aktiv": true,
"sekvensnummer":3,
"opprettetTidspunkt":"2020-01-16T11:09:38.4871148+01:00",
"sistEndretTidspunkt":"2020-03-12T11:09:38.4870056+01:00",
"SaMetadata":
{
"SaFasteMetadata":
{
"tidsbegrensning":
{
"tidsbegrensetFra": "2022-01-01",
"tidsbegrensetTil": "2023-12-31"
},
"omfangElementer": [
{
"omfangKode": "OF"
},
{
"omfangKode": "IO",
"logiskOmfang": "Angitte",
"presisering": "Blodprøver"
}
]
}
}
},
{
"innbyggerFnr": "12048645510",
"definisjonGuid":"61d0da0d-1e08-425f-b0c6-2a01019cc181",
"definisjonNavn":"Blokkere tilgang for angitt helsepersonell",
"partKode":"NFS",
"typePi": "tilgangsbegrensning",
"aktiv": true,
"sekvensnummer":3,
"opprettetTidspunkt":"2020-01-16T11:09:38.4871148+01:00",
"sistEndretTidspunkt":"2020-03-12T11:09:38.4870056+01:00",
"TbMetadata":
{
"TbFasteMetadata":
{
"omfangElementer": [
{
"omfangKode": "BL",
"logiskOmfang": "Angitte",
"typeAngivelse": "Helsepersonell"
},
]
},
"TbInnbyggerMetadata":
{
"tidsbegrensning":
{
"perioder": [
{
"fraDato":"2022-01-01",
"tilDato":"2022-06-01"
}
]
},
"detaljertAngivelse":
{
"navngittHelseperson": [
{
"nummer": "4128168",
"navn": "Linda Ingrid Telle"
},
{
"nummer":"1234567",
"navn":"Per Olsen"
}
]
}
}
}
}
]
} |
HentInnbyggereAktivePiForDefinisjon
Fordi denne tjenesten kan returnere et meget stort antall objekter i responsen, er det en litt annen hovedstruktur der faste metadata for definisjonen beskrives kun en gang (og ikke for hver innbyggerinstans). Imildertid benyttes de samme responsobjekter som i de øvrige tjenestene. NB! Her benyttes HTTP verbet GET.
Input parametere
Navn | Type | Lovlige verdier | Kommentar |
---|---|---|---|
definisjonGuid | query string parameter | Forhåndskjent verdi | GUID som referer til en bestemt personverninnstilling. Må være kjent på forhånd av kallende system. |
partKode | query string parameter | 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 | query string parameter | Verdi fås i respons. | Skal være med i request. Nye kall må gjøres med mottatt pagingReference så lenge denne er større enn verdien “0”. |
Eks (første kall):
Code Block |
---|
definisjonGuid=3FE2A80A-4200-42E2-817B-DA8A6236708A&partKode=NFS&pagingReference=0 |
Responsparametre (endret 2025-05-02)
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”. |
En av følgende (avhengig av “typePi”:
| |||
personvernInnstillinger
| Element (liste)
|
| En liste med alle de innbygger som har en aktiv instans (aktiv reservasjon, samtykke eller tilgangsbegrensning) |
Eksempler
Eks (reservasjon, en innbygger har individuell innstilling)
Code Block |
---|
{
"definisjonGuid":"3FE2A80A-4200-42E2-817B-DA8A6236708A",
"definisjonNavn":"Reservasjon mot utlevering av helseopplysninger",
"partKode":"PDMR",
"typePi": "reservasjon",
"pagingReference": 0,
"ReFasteMetadata":
{
"omfangElementer": [
{
"omfangKode": "UO",
"logiskOmfang": "Angitte",
"presisering": "Direkte personidentifiserbare opplysninger"
}
]
},
"personvernInnstillinger": [
{
"innbyggerFnr": "12048645510",
"sekvensnummer": 1,
"opprettetTidspunkt":"2020-01-16T11:09:38.4871148+01:00",
"sistEndretTidspunkt":"2020-03-12T11:09:38.4870056+01:00"
},
{
"innbyggerFnr":"11059643310",
"sekvensnummer": 3,
"opprettetTidspunkt":"2020-01-16T11:09:38.4871148+01:00",
"sistEndretTidspunkt":"2020-03-12T11:09:38.4870056+01:00",
"ReInnbyggerMetadata":
{
"tidsbegrensning":
{
"perioder": [
{
"fraDato":"2022-01-01",
"tilDato":"2022-06-01"
},
{
"fraDato": "2022-09-01",
"tilDato": "2022-12-31"
}
]
}
}
},
{
"innbyggerFnr": "81205649216",
"sekvensnummer": 3,
"opprettetTidspunkt":"2021-01-16T11:09:38.4871148+01:00",
"sistEndretTidspunkt":"2023-03-12T11:09:38.4870056+01:00"
}
]
} |
Eks (tilgangsbegrensning, to innbyggere har aktiv innstilling)
Code Block |
---|
{ "definisjonGuid":"61d0da0d-1e08-425f-b0c6-2a01019cc181", "definisjonNavn":"Blokkere tilgang for angitt helsepersonell", "partKode":"nilar", "typePi": "tilgangsbegrensning", "pagingReference": 0, "TbFasteMetadata": { "omfangElementer": [ { "omfangKode": "BL", "logiskOmfang": "Angitte", "typeAngivelse": "Helsepersonell" } ] }, "personvernInnstillinger": [ { "innbyggerFnr": "12048645510", "sekvensnummer": 2, "opprettetTidspunkt":"2021-01-16T11:09:38.4871148+01:00", "sistEndretTidspunkt":"2023-03-12T11:09:38.4870056+01:00", "TbInnbyggerMetadata": { "detaljertAngivelse": { "navngittHelseperson": [ { "nummer": "4128168", "navn": "Linda Ingrid Telle" }, { "nummer":"1234567", "navn":"Per Olsen" } "innbyggerFnr":"12048645510" ] }, { } "innbyggerFnr":"11059643310"} } ] } |
Eks (tilgangsbegrensning):
Code Block |
---|
{, { "definisjonGuidinnbyggerFnr":"91b682e1-6a6d-4f3d-ad25-233dfddbe49011059643", "definisjonNavnsekvensnummer":"Sperring mot6, innsyn i prøvesvar", "partKodeopprettetTidspunkt":"NFS2021-01-16T11:09:38.4871148+01:00", "typePisistEndretTidspunkt": "tilgangsbegrensning"2023-03-12T11:09:38.4870056+01:00", "pagingReference": 0, "personvernInnstillingerTbInnbyggerMetadata": [ { "innbyggerFnrtidsbegrensning":"12048645510", { "innbyggerTbMetadata":[ "perioder": [ { { "type":"helsepersonell", "nummerfraDato":"12345672022-01-01", "navntilDato":"Per Olsen2022-06-01" }, }, { { "type":"helsepersonell", "nummerfraDato": "98765432022-09-01", "navntilDato": "2022-12-31"Lisa Elin Kultvedt" }] }, {] "innbyggerFnr":"11059643310"}, "innbyggerTbMetadatadetaljertAngivelse":[ { "typenavngittHelseperson":"helsepersonell", [ { "nummer":"1234599", "navnnummer": "Kim Hansen786432", }, "navn": "Hans {Helle" "type":"helsepersonell", } "nummer":"9876599",] } "navn":"Nina Petersen" } }] } }] } |
Respons ved feil
Alle tjenester i API'ene har følgende logikk for HTTP-respons:
...