Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

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.

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

tilTidspukt

string

Dato

omfangElement

Liste

omfang

string

Omfanget av samtykke/reservasjon: kodeverk fra Volven 7608. Følgende verdier er aktuelle for Samtykke eller erservasjon:

logiskOmfang

string

presisering

string

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

{
    "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.

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

{  
   "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:

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

{   
   "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"
}



  • No labels