Verktøy API
- 1 API-ets formål
- 2 Hvordan benytte API-et
- 2.1 Type API
- 2.2 Metode og parametre til endepunktet
- 2.2.1 Forskriv verktøy til innbygger
- 2.2.2 Verktøymetadataliste
- 2.2.3 Verktøymetadata
- 2.2.4 Verktøysøk
- 2.2.5 Grafisk element
- 2.2.6 Veiledningstjeneste
- 2.2.7 Behandlerinformasjon
- 2.3 Feilmeldinger
- 2.4 Swagger
- 2.5 Miljøer
- 2.6 Terms and Conditions
- 2.7 Begrensninger
- 2.8 Testing
- 3 Versjonering og endringer
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 | Jun 27, 2024 |
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 behandlerdel av verktøyet eller fra EPJ. Dette er et alternativ til at behandler logger seg på Verktøyformidleren for å forskrive verktøy til innbygger. Når et verktøy forskrives vil innbygger få verktøyet tilsendt som en oppgave med frist. Innbygger varsles om oppgaven og blir bedt om å velge å ta i bruk verktøyet. Verktøyet vil da automatisk legges i ‘Mine verktøy’. Innbygger/pasient vil oppleve det helt likt uavhengig av om behandler har brukt Verktøyformidleren eller gjort det direkte fra verktøyet/EPJ.
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 behandlerdel 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 om ny oppgave og må ta et aktivt valg om å ta i bruk verktøyet (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. 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 “verktoysendtilinnbygger”
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
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: 02 - Kall til Helsenorge og PVK API'er og bruk av AccessToken
Request
Request eksempel |
---|
/v1/Verktoy |
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 |
FristDato | DateTime? | Valgfritt. Frist benyttes for å angi når oppgaven skal utføres. Hvis ikke frist angis settes den to uker frem i tid. Innbygger vil også ha mulighet til å utføre oppgaven i tre måneder etter at fristen har utløpt. MERK! Helsenorge benytter kun angitte datoer i forretningslogikken. (Dvs. eventuell angivelse av time, minutt etc., tas ikke hensyn til) |
Melding | string | Valgfritt. En tekstlig beskrivelse av oppgaven som vises til innbygger. Vises i tillegg til en standardtekst om at innbygger har mottatt en oppgave om å ta i bruk et verktøy. Maks. 1500 tegn. |
Request eksempel | |
---|---|
JSON: HPR-nummer kjent i system som benytter API, dato for frist og egen melding er angitt: {
"VerktoyId": "68ce99fd-6243-4ab0-b5bc-3ca81dbd53ba",
"InnbyggerFnr": "0506634187",
"BehandlerHprNr": "123467",
"FristDato": "2024-09-11",
"Melding": "Spesifikk info om å ta i bruk verktøyet."
} | 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 |
---|
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. 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 “verktoykatalog_read”
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
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: 02 - Kall til Helsenorge og PVK API'er og bruk av AccessToken
Request
Request eksempel |
---|
/v1/SelvstendigVerktoy?Fagomrader=2&Malgrupper=2&Sprak=1&KanLeggesTilAvInnbygger=false&KunAnonymTilgang=true&Siderefereanse=1&AntallVerktoy=20 |
Request parametre:
Parameternavn | Type | Beskrivelse |
---|---|---|
Fagomrader | list<enum> | Fagområde som verktøyet tilhører:
|
Klassifiseringer | list<string> | SNOMED CT-klassifisering for verktøyet. |
Malgrupper | list<enum> | Verktøyets målgrupper:
|
Sprak | list<enum> | Hvilke språk som verktøyet støtter
|
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, |
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-parametere:
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:
|
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:
|
SprakNavn | string | Språknavn: Verdier:
|
FagomradeType | int | Fagområde verktøyet tilhører Verdier: 1, 2, 3 |
FagomradeNavn | string | Navn på fagområde:
|
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:
|
GrafiskElementId | int | Id til verkøyets grafiske element |
GrafiskElementTypeNavn | string | Type grafisk element Verdier:
|
InnholdstypeId | int | Id for verktøyets innholdstype Verdier: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 |
InnholdstypeNavn | string | Navn på innholdstype Verdier:
|
Behandlerinnsyn | string | Beskriver verktøyets behandlerinnsyn Verdier:
|
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. 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 “verktoykatalog_read”
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
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: 02 - Kall til Helsenorge og PVK API'er og bruk av AccessToken
Request
Request eksempel |
---|
/v1/SelvstendigVerktoy/08ead360-0d65-448c-ba9e-8a08f0921c90 |
Parameternavn | Type | Beskrivelse |
---|---|---|
| guid | Unik id for verktøy |
Respons
Respons eksempel |
---|
Respons-parametere:
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:
|
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:
|
SprakNavn | string | Språknavn: Verdier:
|
FagomradeType | int | Fagområde verktøyet tilhører Verdier: 1, 2, 3 |
FagomradeNavn | string | Navn på fagområde:
|
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:
|
GrafiskElementId | int | Id til verkøyets grafiske element |
GrafiskElementTypeNavn | string | Type grafisk element Verdier:
|
InnholdstypeId | int | Id for verktøyets innholdstype Verdier: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 |
InnholdstypeNavn | string | Navn på innholdstype Verdier:
|
Behandlerinnsyn | string | Beskriver verktøyets behandlerinnsyn Verdier:
|
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: Sikkerhetsmodell: System til system. 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 “verktoykatalog_read”
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
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: 02 - Kall til Helsenorge og PVK API'er og bruk av AccessToken
Request
Request eksempel |
---|
/v1/SelvstendigVerktoy/SokSelvstendigVerktoy?SokeOrd=test&RowCount=10 |
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-parametere:
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: Sikkerhetsmodell: System til system. 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 “verktoykatalog_read”
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
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: 02 - Kall til Helsenorge og PVK API'er og bruk av AccessToken
Request
Request eksempel |
---|
/verktoy/v1/GrafiskElement/5 |
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: Sikkerhetsmodell: System til system. 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 “verktoyadminveiledning”
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
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: 02 - Kall til Helsenorge og PVK API'er og bruk av AccessToken
Request
Request eksempel | |
---|---|
| Request Body: |
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
|
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 |
---|---|---|
VerktoyId | guid | Verktøyets unike id |
Respons
Respons-eksempel
Respons-parametere
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:
|
Navn | string | Fullt navn til behandler som har sendt verktøyet til innbyggeren |
Feilmeldinger
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
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: Testmiljøer og endepunkter
Terms and Conditions
Vilkår og betingelser for bruk av API-et: Vilkår og betingelser for bruk av APIer og kommunikasjonsprosesser
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.