Gå til innhold

Hent egenandelsfritakstatus

Endepunkt for å sjekke om en borger er fritatt fra å betale egenandel for en gitt tjenestetype på en gitt dato.

Fritak gjelder hvis borgeren har innvilget frikort for det kalenderåret tjenestedatoen faller i. For tjenester levert av apotek eller bandasjist gjelder i tillegg at minstepensjonister er fritatt.

Reservasjon: Borgere kan reservere seg mot den automatiske frikortordningen. For borgere med reservasjon vil tjenesten alltid svare negativt (harEgenandelsfritak: false). Borgere med reservasjon må selv fremvise frikortbevis.

Krav: cache svar på klientsiden

For å unngå unødvendige, duplikate oppslag skal svar caches på klientsiden. Se Caching og duplikate oppslag.


Endepunkt

Felt Verdi
Path /api/frikortsporring/helseid/v1
Metode POST
Auth HelseID DPoP-token (scope: hdir:frikortsporring/read)

Request

Headers

Header Påkrevd Verdi
Authorization Ja DPoP <helseid-token>
DPoP Ja DPoP-bevis. Må være bundet til request-URI og HTTP-metode.
Content-Type Ja application/jose
Correlation-Id Nei Valgfri UUID for sporing. Hvis ikke angitt, genererer API-et en ny ID. Returneres alltid i responsen.

Request body

Request-body sendes som en JWE-kryptert streng. Kryptering er påkrevd fordi request-innholdet avslører at en borger har mottatt en bestemt type helsetjeneste på en gitt dato, noe som utgjør sensitive personopplysninger. Helsedirektoratets policy krever ende-til-ende-kryptering av sensitive data på offentlig sky. TLS alene er ikke tilstrekkelig da data ellers ender i klartekst ved TLS-terminering. Se JWE-kryptering for detaljer om kryptering.

Det dekrypterte innholdet i JWE-payloaden skal være følgende JSON:

{
  "borgerIdent": "12345678901",
  "tjenestetypeKode": "LE",
  "tjenestedato": "2026-06-15"
}

Felter i request

Felt Type Påkrevd Beskrivelse
borgerIdent String Ja Fødselsnummer (11 siffer) eller D-nummer (11 siffer) for borgeren det gjøres oppslag for.
tjenestetypeKode String Ja Kode for tjenestetype. Se kodeverk for gyldige verdier.
tjenestedato String Ja Dato for behandlingen eller utleveringen (ISO 8601, YYYY-MM-DD). Fritaksstatus vurderes for denne datoen.

Response

HTTP-statuskoder

Statuskode Beskrivelse
200 OK Oppslaget var vellykket. Se response body.
400 Bad Request Ugyldig request (ugyldig JWE, ugyldig JSON, valideringsfeil).
401 Unauthorized Autentisering feilet — token er ugyldig eller utløpt.
403 Forbidden Konsumenten har ikke en aktiv avtale med Helfo som gir tilgang. Se Kontroll av avtaleforhold.
404 Not Found Ukjent API-path.
405 Method Not Allowed HTTP-metode er ikke tillatt for dette endepunktet.
429 Too Many Requests For mange forespørsler sendt på kort tid. Vent i henhold til Retry-After.
500 Internal Server Error Uventet feil på serversiden.

Response body (200 OK)

Responsen returneres som ukryptert JSON med Content-Type: application/json.

{
  "harEgenandelsfritak": true
}
Felt Type Beskrivelse
harEgenandelsfritak Boolean true hvis borgeren er fritatt fra egenandel for den angitte tjenesten på den angitte datoen. false hvis borger ikke er fritatt fra egenandel.

Response headers

Header Beskrivelse
Correlation-Id Unik ID for kallet. Oppgi denne ved support-henvendelse.
Retry-After Kun ved 429 — antall sekunder å vente før neste forsøk.
Allow Kun ved 405 — HTTP-metodene som er tillatt for dette endepunktet.

Feilresponser

Ved feil (4xx/5xx) returneres en JSON-body med følgende struktur:

{
  "correlationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "feilkode": "UGYLDIG_REQUEST",
  "melding": "Request-body er ikke gyldig JWE Compact Serialization",
  "timestamp": "1716283200000"
}
Felt Type Beskrivelse
correlationId String Unik ID for kallet (UUID). Oppgi denne ved support-henvendelse.
feilkode String Maskinlesbar feilkode — se tabell under.
melding String Menneskelig lesbar feilmelding (ikke egnet for maskinell tolkning).
timestamp String Tidspunkt for feilen (Unix millisekunder siden epoch).

Feilkoder

Feilkode HTTP-status Beskrivelse
UGYLDIG_REQUEST 400 Ugyldig JWE, ugyldig JSON i dekryptert payload, eller valideringsfeil.
AUTENTISERING_FEILET 401 JWT-token er ugyldig, utløpt eller ikke tillitskontrollert.
INGEN_TILGANG 403 Konsumenten mangler aktiv avtale eller nødvendige rettigheter.
IKKE_FUNNET 404 Ukjent API-path.
METODE_IKKE_TILLATT 405 HTTP-metode er ikke tillatt for dette endepunktet.
FOR_MANGE_FORESPORSLER 429 Konsumenten har sendt for mange forespørsler i et gitt tidsrom.
INTERN_FEIL 500 Uventet feil på serversiden. Oppgi correlationId ved support-henvendelse.

Caching og duplikate oppslag

For å unngå unødvendige kall til tjenesten skal det i utgangspunktet kun sendes én spørring per borger per døgn per behandler/tjenesteyter.

Et duplikat-oppslag er her et oppslag en behandler/tjenesteyter gjør som er identisk med et oppslag samme behandler har gjort tidligere samme døgn — altså samme fødselsnummer, tjenestedato og tjenestetypekode. For eksempel at en lege gjør flere oppslag samme døgn med samme fødselsnummer, dato og tjenestetypekode.

Store mengder duplikate oppslag skaper unødvendig ekstrabelastning på tjenesten og er med på å skape driftsutfordringer som kunne vært unngått. Det forventes at journalsystemet er i stand til å ta vare på kall gjort siste døgn, slik at det ikke kjøres flere identiske oppslag innenfor samme døgn.


Eksempler

Request

POST /api/frikortsporring/helseid/v1 HTTP/1.1
Host: frikortbifrost.nav.no
Authorization: DPoP eyJhbGciOiJSUzI1NiIsInR5cCI6ImF0K2p3dCJ9...
DPoP: eyJ0eXAiOiJkcG9wK2p3dCIsImFsZyI6IkVTMjU2Iiw...
Content-Type: application/jose
Correlation-Id: 3fa85f64-5717-4562-b3fc-2c963f66afa6

eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2R0NNIiwia2lkIjoiZnJpa29ydGJpZnJvc3QtZW5jLTIwMjYwMzEyLTEifQ...

Response — borger er fritatt

HTTP/1.1 200 OK
Content-Type: application/json
Correlation-Id: 3fa85f64-5717-4562-b3fc-2c963f66afa6

{
  "harEgenandelsfritak": true
}

Response — borger er ikke fritatt

HTTP/1.1 200 OK
Content-Type: application/json
Correlation-Id: 3fa85f64-5717-4562-b3fc-2c963f66afa6

{
  "harEgenandelsfritak": false
}

Response — ugyldig request

HTTP/1.1 400 Bad Request
Content-Type: application/json
Correlation-Id: 3fa85f64-5717-4562-b3fc-2c963f66afa6

{
  "correlationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "feilkode": "UGYLDIG_REQUEST",
  "melding": "Valideringsfeil: 'tjenestetypeKode' er ikke en gyldig kode",
  "timestamp": "1716283200000"
}

Response — autentisering feilet

HTTP/1.1 401 Unauthorized
Content-Type: application/json
Correlation-Id: 3fa85f64-5717-4562-b3fc-2c963f66afa6

{
  "correlationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "feilkode": "AUTENTISERING_FEILET",
  "melding": "JWT-token er ugyldig eller utløpt",
  "timestamp": "1716283200000"
}

Testpersoner

Vi har et sett med testpersoner som kan brukes i testmiljøet. Disse personene har ulike kombinasjoner av fritaksstatus og identtype (FNR/DNR) for å teste forskjellige scenarier.

Borgerident Egenandelsfritak Beskrivelse
22898595734 Ja Har frikort for inneværende år.
53859401909 Ja Har frikort for inneværende år.
17839597738 Nei Har ikke frikort.
47927200909 Nei Har ikke frikort.
25909799913 Ja (Blåresept) Har ikke frikort, men har status som minstepensjonist. Vil returnere true på tjenestetype A, B, S.