Skip to content

navikt/helse-speed

Repository files navigation

speed

Et mellomlager for PDL som bruker Redis for caching.

speed-async reagerer på identendringsmeldinger via PDLs LEESAH-topic og sørger for at cachen slettes for de aktuelle identene.

Kom i gang

For å komme kjapt i gang anbefales det å bruke tbd-libs. Siste versjon finner du på pakkeoversikten.

build.gradle.kts:

val tbdLibsVersion = "2025.08.07-09.55-15719a86"

dependencies {
    api("com.github.navikt.tbd-libs:azure-token-client-default:$tbdLibsVersion")
    api("com.github.navikt.tbd-libs:retry:$tbdLibsVersion")
    api("com.github.navikt.tbd-libs:speed-client:$tbdLibsVersion")
}

applikasjonskode:

val env = System.getenv()
val httpClient = HttpClient.newHttpClient()
val azure = createAzureTokenClientFromEnvironment(env)
val speedClient = SpeedClient(httpClient, jacksonObjectMapper().registerModule(JavaTimeModule()), azure)

// bruker retry-biblioteket for retries
val identer = retryBlocking {
    when (val svar = speedClient.hentFødselsnummerOgAktørId("identen man søker på", callId)) {
        is Result.Error -> throw RuntimeException(svar.error, svar.cause)
        is Result.Ok -> svar.value
    }
}

API

Autentisering

Azure Bearer Token

Call Id

Settes som callId-header. Viss det ikke er satt vil Speed lage en.

Endepunkter

POST /api/person — opplysninger om en ident

Request Body
{
  "ident": "[identen_man_søker_på. fnr/aktørId/npid]"
}
Response
HTTP 404 om identen ikke finnes
HTTP 500 ved feil

Response body:

{
  "feilmelding": "en feilmelding som kan forklare problemet",
  "callId": "callId fra requesten"
}
HTTP 200 ved OK

Response body:

{
  "fødselsdato": "1992-08-02",
  "dødsdato": null,
  "fornavn": "NORMAL",
  "mellomnavn": null,
  "etternavn": "MUFFINS",
  "adressebeskyttelse": "UGRADERT",
  "kjønn": "MANN"
}

POST /api/ident — gjeldende identer

Request Body
{
  "ident": "[identen_man_søker_på. fnr/aktørId/npid]"
}
Response
HTTP 404 om identen ikke finnes
HTTP 500 ved feil

Response body:

{
  "feilmelding": "en feilmelding som kan forklare problemet",
  "callId": "callId fra requesten"
}
HTTP 200 ved OK

Response body:

{
  "fødselsnummer": "02889298149",
  "aktørId": "2236655458597",
  "npid": null,
  "kilde": "CACHE"
}

POST /api/historiske_identer — historiske identer

Request Body
{
  "ident": "[identen_man_søker_på. fnr/aktørId/npid]"
}
Response
HTTP 404 om identen ikke finnes
HTTP 500 ved feil

Response body:

{
  "feilmelding": "en feilmelding som kan forklare problemet",
  "callId": "callId fra requesten"
}
HTTP 200 ved OK

Response body:

{
  "fødselsnumre": ["gammelt_fnr", "enda_eldre_fnr"]
}

Henvendelser

Spørsmål knyttet til koden eller prosjektet kan stilles som issues her på GitHub.

For NAV-ansatte

Interne henvendelser kan sendes via Slack i kanalen #team-bømlo-værsågod.

About

No description or website provided.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 10