Verktøy API

API-navn

Verktoy API

Funksjonelt område

API-versjon og dato publisert

Siste versjon av API-et May 11, 2023

Status

I Drift

API-dokumentasjon sist endret

May 3, 2023

Teknologi

REST

API-ets formål

API-et gjør det mulig å hente ut informasjon om digitale helseverktøy som ligger i Verktøykatalogen samt å kunne forskrive disse verktøyene til innbygger.

API-et tilbyr tjenester for å:

  • Forskrive et verktøy til innbygger fra behandler-del av verktøyet eller fra EPJ. Når et verktøy forskrives, vil innbygger varsles og enkelt finne det forskrevne verktøyet etter innlogging på Helsenorge. Dette er et alternativ til at behandler logger seg på Verktøyformidleren for å forskrive verktøy til innbygger. Pasienten vil oppleve det helt likt uavhengig av om behandler har brukt Verktøyformidleren eller gjort det direkte fra annen løsning som har tatt i bruk APIet for forskrivning.

  • Hente ut en liste med verktøy og deres metadata med mulighet for å filtrere på fagområder, målgrupper, språk, om verktøyet krever forskrivning og om verktøyet kan brukes uten å måtte logge inn på Helsenorge.

  • Hente ut en liste med verktøy og deres metadata basert på søk på verktøynavn og predefinerte søkeord.

  • Hente ut alle metadata for ett enkelt verktøy

  • Hente ut informasjon om hvilke behandlere som har forskrevet verktøyet til aktuell innbygger. Dette er mulig ved at Helsenorge deler informasjon om behandler som har forskrevet verktøyet med verktøyet etter innlogging og oppstart.

Fordeler med API-et

  • Tjeneste for å foreskrive verktøy til innbygger gir en enklere prosess for behandler når verktøy skal forskrives direkte fra verktøyet selv eller annen ekstern løsning behandler benytter (som alternativ til å bruke Verktøyformidleren). Det gjør det mulig å sende et verktøy til pasienten direkte fra ønsket løsning f.eks behandler-delen av verktøyet eller direkte fra EPJen. Dette er mest aktuelt for helsepersonell som kun skal forskrive ett spesifikt verktøy og ikke ha fleksibiliteten til å velge ut og forskrive blant alt som ligger i verktøykatalogen.

  • Tjenester for å hente ut informasjon om verktøy kan benyttes av eksterne aktører som ønsker å bruke og presentere informasjon om digitale helseverktøy på Helsenorge på i sine løsninger. På denne måten kan eksterne aktører vise utvalgt informasjon om verktøy direkte fra verktøykatalogen fremfor å duplisere og manuelt vedlikeholde informasjon i egen løsning. Informasjonen vi da alltid være oppdatert og synkronisert med siste endringer som er gjort i Verktøykatalogen automatisk.

  • Tjeneste for å hente ut informasjon om behandlere som har forskrevet verktøyet til innbyggere gjør det mulig for verktøyene å følge opp bruken og lage funksjonalitet basert på relasjoner mellom innbygger og behandler. Leverandører kan bruke dette til f.eks å kontrollere påkrevde sertifiseringer og lisenser, følge med på bruk og utbredelse og få innsikt i hvilke type behandlere som benytter verktøyet. Det kan også brukes for å opprette nødvendige koblinger mellom innbyggere og pasienter i verktøyet slik at f.eks verktøy med behandler-del kan sørge for at behandler kun ser sine egne pasienter i verktøyet.

Hvordan benytte API-et

Type API

REST

Metode og parametre til endepunktet

Forskriv verktøy til innbygger

  • Beskrivelse: Forskrivning av et bestemt verktøy til innbygger. Innbygger vil varsles på Helsenorge og finne forskrevet verktøy under “flisa” verktøy (se funksjonell beskrivelse av Digitale Verktøy). Verktøyet må være definert i Verktøykatalogen på forhånd, og verktøyets unike ID må være kjent i forskrivningsfunksjonen i Verktøyet.

  • HTTP-verb: POST

  • Tjeneste: verktoy

  • Sikkerhetsmodell: System til system

Request

Request eksempel

Request eksempel

/verktoyformidleren/api/v1/Verktoy

Parameternavn

Type

Beskrivelse

Parameternavn

Type

Beskrivelse

VerktoyId

guid

Verktøyets unike ID slik det er lagret i Verktøykatalogen

InnbyggerFnr

string

Innbyggers fødselsnummer (type string). Merk! det vil bli feilrespons dersom innbygger ikke er digital aktiv på Helsenorge.

BehandlerHprNr

string

Dette skal være behandlers HPR-nummer dersom dette er kjent i systemet som benytter API-et.

BehandlerFnr

string

Kan benyttes dersom behandlers HPR-nummer ikke er kjent i systemet som benytter API-et

Request eksempel

Request eksempel

JSON:

HPR-nummer kjent i system som benytter API:

{ "VerktoyId": "68ce99fd-6243-4ab0-b5bc-3ca81dbd53ba", "InnbyggerFnr": "0506634187", "BehandlerHprNr": "123467" }

JSON:

Kun behandlers fødselsnummer er kjent i systemet som benytter API’et:

{ "VerktoyId": "68ce99fd-6243-4ab0-b5bc-3ca81dbd53ba", "InnbyggerFnr": "0506634187", "BehandlerFnr": "12067231456" }

Respons

Respons eksempel

Respons eksempel

Benyttes kun i eldre integrasjoner. Tom streng nå.

{ "PseudoId": "" }

Verktøymetadataliste

  • Beskrivelse: Verktøyliste med mulighet for filtrering av metadata. Eventuelle filtre sendes med request som queryparametre.
    Tjenesten støtter paginering, default er 10 verktøy pr. side. Maks antall verktøy pr. side er 50.

  • HTTP-verb: GET

  • Tjeneste: SelvstendigVerktoy

  • Sikkerhetsmodell: System til system

Request

Request eksempel

Request eksempel

/v1/SelvstendigVerktoy?Fagomrader=2&Malgrupper=2&Sprak=1&KanLeggesTilAvInnbygger=false&KunAnonymTilgang=true&Siderefereanse=1&AntallVerktoy=20

Request parametre:

Parameternavn

Type

Beskrivelse

Parameternavn

Type

Beskrivelse

Fagomrader

list<enum>

Fagområde som verktøyet tilhører:

  1. Psykisk helse

  2. Fysisk helse

  3. Livsstil

Klassifiseringer

list<string>

SNOMED CT-klassifisering for verktøyet.

Malgrupper

list<enum>

Verktøyets målgrupper:

  1. Barn

  2. Ungdom

  3. Voksne

  4. Eldre

Sprak

list<enum>

Hvilke språk som verktøyet støtter

  1. Bokmål

  2. Nynorsk

  3. Engelsk

KanLeggesTilAvInnbygger

bool?

Om verktøyet er tilgjengelig for alle, eller om det kun er tilgjengelig hvis innbygger får det tilsendt fra en behandler.

KunAnonymTilgang

bool?

Om verktøyet er helt åpent (ikke krever innlogging) og er tilgjengelig for alle,
eller om det krever sentral brukerprofil og kun er tilgjengelig hvis innbygger får det tilsendt fra en behandler.

Sidereferanse

int

I forbindelse med paginering, hvilken side som skal returneres.

AntallVerktoy

int

Antall verktøy som returneres, maks antall er 50.

Respons

Respons eksempel

Respons eksempel

Respons-parametere:

Parameternavn

Type

Beskrivelse

Parameternavn

Type

Beskrivelse

VerktoyId

guid

Verktøyets unike id

Navn

string

Verktøyets navn

Ingress

string

Innledende beskrivelse av verktøyet

Beskrivelse

string

Beskrivelse av verktøyet

OpprettetDato

DateTime

Når verktøyet ble opprettet

EndretDato

DateTime

Når verktøyet sist ble endret

VerktoyFormalTypeId

int

Enumverdi for verktøyets formål:

Verdier: 2, 4, 5

VerktoyFormalNavn

string

Navn på verktøyets formål

Verdier:

  • Læring (VerktoyFormalTypeId: 2)

  • Behandling (VerktoyFormalTypeId: 4)

  • Kartlegging (VerktoyFormalTypeId: 5)

FagligAnsvarlig

string

Hvem som har det faglige ansvaret for verktøyet

UtvikletAv

string

Hvem som har utviklet verkøyet

SprakKode

string

Hvilke språk verktøyet støtter.

Verdier:

  • "en-GB" (engelsk)

  • "nn-NO" (nynorsk)

  • "nb-NO" (bokmål)

SprakNavn

string

Språknavn:

Verdier:

  • Engelsk

  • Norsk Nynorsk

  • Norsk Bokmål

FagomradeType

int

Fagområde verktøyet tilhører

Verdier: 1, 2, 3

FagomradeNavn

string

Navn på fagområde:

  • Psykisk helse (FagomradeType: 1)

  • Fysisk Helse (FagomradeType: 2)

  • Livsstil (FagomradeType: 3)

LenkeType

enum

Type lenke tilknyttet verktøyet. Returnerer verdi 50 som er den eneste gyldige verdien i denne responsen.

LenkeTypeNavn

string

Lenketypens navn, returnerer: “Lenke til verktøy“

Url

Uri

Lenke til verkøyet

Sokeord

List<string>

Predefinerte søkeord som beskriver verktøyet

MalgruppeTypeId

int

Id for verkøyets målgrupper

Verdier: 1, 2, 3, 4

MalgruppeNavn

string

Målgruppenavn

Verdier:

  • Barn (MalgruppeTypeId: 1)

  • Ungdom (MalgruppeTypeId: 2)

  • Voksne (MalgruppeTypeId: 3)

  • Eldre (MalgruppeTypeId: 4)

GrafiskElementId

int

Id til verkøyets grafiske element

GrafiskElementTypeNavn

string

Type grafisk element

Verdier:

  • Bilde

  • Ikon

InnholdstypeId

int

Id for verktøyets innholdstype

Verdier: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

InnholdstypeNavn

string

Navn på innholdstype

Verdier:

  • Video (InnholdstypeId: 1)

  • Podcast (InnholdstypeId: 2)

  • Informasjon (InnholdstypeId: 3)

  • Oppgaver (InnholdstypeId: 4)

  • Spill (InnholdstypeId: 5)

  • Chat (InnholdstypeId: 6)

  • Forum (InnholdstypeId: 7)

  • Egenregistreringer (InnholdstypeId: 8)

  • Måleverktøy (InnholdstypeId: 9)

  • Anbefalinger og råd (InnholdstypeId: 10)

Behandlerinnsyn

string

Beskriver verktøyets behandlerinnsyn

Verdier:

  • “Ingen”

  • “Krever”

  • “Tilbys i verktøyet”

KlassifiseringKode

string

Klassifiseringskode

KlassifiseringNavn

string

Klassifiseringnavn

KreverForskrivning

bool

Om verktøyet må forskrives av behandler

Organisasjonsnummer

int

Organisasjonsnummer til verktøyets dataansvarlig

Organisasjonsnavn

string

Organisasjonsnavn til verktøyets dataansvarlig

AntattTid

int?

Antatt tid det tar å gjennomføre verktøyet (angitt i minutter).

Verktøymetadata

  • Beskrivelse: Metadata for ett valgt verktøy angitt med en unik id (guid).

  • HTTP-verb: GET

  • Tjeneste: SelvstendigVerktoy

  • Sikkerhetsmodell: System til system

Request

Request eksempel

Request eksempel

/v1/SelvstendigVerktoy/08ead360-0d65-448c-ba9e-8a08f0921c90

Parameternavn

Type

Beskrivelse

Parameternavn

Type

Beskrivelse

 

guid

Unik id for verktøy

Respons

Respons eksempel

Respons eksempel

Respons-parametere:

Parameternavn

Type

Beskrivelse

Parameternavn

Type

Beskrivelse

VerktoyId

guid

Verktøyets unike id

Navn

string

Verktøyets navn

Ingress

string

Innledende beskrivelse av verktøyet

Beskrivelse

string

Beskrivelse av verktøyet

OpprettetDato

DateTime

Når verktøyet ble opprettet

EndretDato

DateTime

Når verktøyet sist ble endret

VerktoyFormalTypeId

int

Enumverdi for verktøyets formål:

Verdier: 2, 4, 5

VerktoyFormalNavn

string

Navn på verktøyets formål

Verdier:

  • Læring (VerktoyFormalTypeId: 2)

  • Behandling (VerktoyFormalTypeId: 4)

  • Kartlegging (VerktoyFormalTypeId: 5)

FagligAnsvarlig

string

Hvem som har det faglige ansvaret for verktøyet

UtvikletAv

string

Hvem som har utviklet verkøyet

SprakKode

string

Hvilke språk verktøyet støtter.

Verdier:

  • "en-GB" (engelsk)

  • "nn-NO" (nynorsk)

  • "nb-NO" (bokmål)

SprakNavn

string

Språknavn:

Verdier:

  • Engelsk

  • Norsk Nynorsk

  • Norsk Bokmål

FagomradeType

int

Fagområde verktøyet tilhører

Verdier: 1, 2, 3

FagomradeNavn

string

Navn på fagområde:

  • Psykisk helse (FagomradeType: 1)

  • Fysisk Helse (FagomradeType: 2)

  • Livsstil (FagomradeType: 3)

LenkeType

enum

Type lenke tilknyttet verktøyet. Returnerer verdi 50 som er den eneste gyldige verdien i denne responsen.

LenkeTypeNavn

string

Lenketypens navn, returnerer: “Lenke til verktøy“

Url

Uri

Lenke til verkøyet

Sokeord

List<string>

Predefinerte søkeord som beskriver verktøyet

MalgruppeTypeId

int

Id for verkøyets målgrupper

Verdier: 1, 2, 3, 4

MalgruppeNavn

string

Målgruppenavn

Verdier:

  • Barn (MalgruppeTypeId: 1)

  • Ungdom (MalgruppeTypeId: 2)

  • Voksne (MalgruppeTypeId: 3)

  • Eldre (MalgruppeTypeId: 4)

GrafiskElementId

int

Id til verkøyets grafiske element

GrafiskElementTypeNavn

string

Type grafisk element

Verdier:

  • Bilde

  • Ikon

InnholdstypeId

int

Id for verktøyets innholdstype

Verdier: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

InnholdstypeNavn

string

Navn på innholdstype

Verdier:

  • Video (InnholdstypeId: 1)

  • Podcast (InnholdstypeId: 2)

  • Informasjon (InnholdstypeId: 3)

  • Oppgaver (InnholdstypeId: 4)

  • Spill (InnholdstypeId: 5)

  • Chat (InnholdstypeId: 6)

  • Forum (InnholdstypeId: 7)

  • Egenregistreringer (InnholdstypeId: 8)

  • Måleverktøy (InnholdstypeId: 9)

  • Anbefalinger og råd (InnholdstypeId: 10)

Behandlerinnsyn

string

Beskriver verktøyets behandlerinnsyn

Verdier:

  • “Ingen”

  • “Krever”

  • “Tilbys i verktøyet”

KlassifiseringKode

string

Klassifiseringskode

KlassifiseringNavn

string

Klassifiseringnavn

KreverForskrivning

bool

Om verktøyet må forskrives av behandler

Organisasjonsnummer

int

Organisasjonsnummer til verktøyets dataansvarlig

Organisasjonsnavn

string

Organisasjonsnavn til verktøyets dataansvarlig

AntattTid

int?

Antatt tid det tar å gjennomføre verktøyet (angitt i minutter).

Verktøysøk

  • Beskrivelse: Søk som returnerer liste med navn og id på verktøy basert på verktøynavn og definerte søkeord. Søkeresultatet returnerer opp til 50 verktøy(default), men kan overstyres med paramter 'RowCount'.

  • HTTP-verb: GET

  • Tjeneste: SelvstendigVerktoy

  • Sikkerhetsmodell: System til system

Request

Request eksempel

Request eksempel

/v1/SelvstendigVerktoy/SokSelvstendigVerktoy?SokeOrd=test&RowCount=10

Parameternavn

Type

Beskrivelse

Parameternavn

Type

Beskrivelse

SokeOrd

string

Søket søker etter ord som begynner med søkeordet og som må være mellom 3-256 karakterer lang.

RowCount

int

Antall verktøy som ønskes returnert i response. By default returneres det inntil 50 verktøy som er maks antall. Dette kan nedjusteres med denne parameteren.

Respons

Respons eksempel

Respons eksempel

Respons-parametere:

Parameternavn

Type

Beskrivelse

Parameternavn

Type

Beskrivelse

VerktoyId

guid

Verktøyets unike id

Navn

string

Verktøyets navn

Grafisk element

  • Beskrivelse: Tjeneste for å hente ett bilde/ikon med id til det grafiske elementet som innparameter.

  • HTTP-verb: GET

  • Tjeneste: GrafiskElement

  • Sikkerhetsmodell: System til system

Request

Request eksempel

Request eksempel

/verktoy/v1/GrafiskElement/5

Parameternavn

Type

Beskrivelse

Parameternavn

Type

Beskrivelse

 

int

Id til grafisk element

Respons

Ved suksess returneres bildefil, HTTP-status 200.

Veiledningstjeneste

  • Beskrivelse: Tjeneste for å oppdatere metadata på en eksisterende veiledningstjeneste

  • HTTP-verb: PUT

  • Tjeneste: Veiledningstjeneste

  • Sikkerhetsmodell: System til system

Request

Request eksempel

Request eksempel

/v1/Veiledningstjeneste/3fa85f64-5717-4562-b3fc-2c963f66afa6

Request Body:

Parameternavn

Type

Beskrivelse

Parameternavn

Type

Beskrivelse

Id

guid

Id til veiledningstjeneste hentes fra siste ledd i URL til tjenesten. Id i request body ignoreres.

Telefon

string

Veiledningstjeneste telefonnummer

Url

string

Url til veiledningstjenesten

Apningstider

List<enum>

Liste med åpningstider for veiledningstjenesten

  • Dag - enumverdier mandag-søndag

  • FraKl - TimeSpan?, åpent fra klokkeslett

  • TilKl -TimeSpan?, åpent til klokkeslett

  • ApenHeleDagen - bool?, åpent hele dagen

Behandlerinformasjon

  • Beskrivelse: Tjeneste for å hente informasjon om en behandler som har sendt et verktøy til innbygger

  • HTTP-verb: GET

  • Tjeneste: Behandler

  • Sikkerhetsmodell: Innbygger OIDC

Request

Request eksempel
Request-parametere

Parameternavn

Type

Beskrivelse

Parameternavn

Type

Beskrivelse

VerktoyId

guid

Verktøyets unike id

Respons

Respons-eksempel
Respons-parametere

Parameternavn

Type

Beskrivelse

Parameternavn

Type

Beskrivelse

Id

string

Id til behandler som har sendt verktøyet til innbyggeren. Enten HPR-nummer eller fødselsnummer

IdType

string

Type id for id til behandler som har sendt verktøyet til innbyggeren

Verdier:

  • HPR: HPR-nummer

  • FNR: Fødselsnummer

Navn

string

Fullt navn til behandler som har sendt verktøyet til innbyggeren

Feilmeldinger

Kode

HttpStatus

Beskrivelse

Kode

HttpStatus

Beskrivelse

VER-000202

400

Request er null

VER-000205

400

Søkeord er en tom streng eller null

VER-000254

400

Søkeordet er enten for kort eller for lang (må være mellom 3-256 tegn).

VK-001126

404

Fant ingen verktøy med angitt id

VK-001206

400

Ugyldig sidestørrelse ved uthenting av verktøyliste

VER-000209

400

Ugyldig verdi for id

VER-000204

400

Verdi for enum er ikke definert

PVF-000239

400

Finner ikke helsepersonellinformasjon for angitt HPR-nummer

VER-000218

400

Verktøy allerede forskrevet til innbygger av samme behandler

VER-000232

400

Verktøy allerede forskrevet

VER-000228

400

Innbygger er ikke digitalt aktiv på helsenorge

VER-000207

400

Finner ikke verktøy med angitt verktøy id

PVS-000204

500

Feil ved underliggende tjeneste

VER-000260

400

Verktøyet er ikke sendt fra en behandler

VER-000261

400

Finner ikke kobling mellom verktøy og innbygger

Swagger

Swagger - Verktøy External API

Autentisering og autorisasjon

  • API-et 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. For mer informasjon se

  • Vi har valgt å ikke kreve innlogging med HelseID for å forskrive verktøy til innbygger. Dette API-et støtter kun System til System-autorisasjon.

Miljøer

Standard for hvordan URL-en til API-et vil se ut i alle miljøene: https://<BaseUrl>​/verktoy/v1​/

Oversikt over tilgjengelige miljøer finnes her:

Terms and Conditions

Vilkår og betingelser for bruk av API-et:

Begrensninger

Ved forskrivning av verktøy må den eksterne aktøren på forhånd kjenne verktøyets unike GUID i Verktøykatalogen.

Testing

Oppsett av API-klient i test-miljø avtales som en del av kundeoppkoplingen

Versjonering og endringer

Dett er første versjon av API-et.