Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
minLevel1
maxLevel7

Hva er en generisk oppgave

...

  1. Helseaktøren sender oppgaven til innbygger via Helsenorge.

  2. Innbygger varsles om mottatt oppgave og kan logge seg inn på Helsenorge å finne mottatt oppgave.

  3. Innbygger kan se oppgavens innhold, se frister, samt starte oppgaven i eksternt system (via lenke som avsender sendte med i oppgaven)

    1. Innbygger vil også påminnes om eventuelt ikke utført oppgave når fristen nærmer seg

  4. Eksternt system må understøtte single-sign-on via Helsenorge innloggingsløsning: 03 - Innbygger innlogging - Helsenorge som OpenID Connect provider

  5. Når innbygger har fullført oppgaven i eksternt system, skal dette rapportere tilbake til Helsenorge at oppgaven er utført.

...

Oppgave - FHIR Task

  • En generisk oppgave representeres alltid som en FHIR ressurs av typen Task (http://hl7.org/fhir/task.html )

  • Hvordan FHIR Task skal benyttes for er beskrevet i detalj her: FHIR Task - Oppgave

    • Merk at FHIR Task.focus er av type “Task” for generiske oppgaver

...

Innsending av generisk oppgave

...

En generisk oppgave kan sendes til innbygger på to alternative måter.

Meldingsbasert integrasjon

FHIR Tasket kan sendes som et “document” i en Hodemelding via AMQP til Helsenorge. Denne løsningen er beskrevet her: AMQP Oppgaveforespørsel

For å benytte meldingsbasert integrasjon med Helsenorge, må aktøren:

Eksempel Hodemelding med generisk oppgave

FHIR API

Det er også mulig å registrere en oppgave til innbygger på Helsenorge via REST API på Helsenorge.

For å benytte dette må ekstern aktør:

...

Støtte sikkerhetsmodellen for Helsenorge med bruk av Helsenorge sikkerhetstjeneste med UseCase System til System

Benytte REST API for Oppgave på Helsenorge:

...

https://{baseURL}/oppgave/v1/task

...

{baseUrl) for Helsenorge API’ene i de forskjellige testsystemer og produksjonssystemet finnes her: Testmiljøer og endepunkter

...

REST API

Hente AksessToken

  • API-klienten må på forhånd være definert i Helsenorge sikkerhetstjeneste med de ødvedig tilganger til API

  • API-klienten må hente AksessToken for å kunne benytte API. Se sikkerhetsmodell 01 - System til System

Etterfølgende kall til REST-API

Eksempel: Bruk av API

Kall til Helsenorge sikkerhetstjeneste

Kalle Helsenorge sikkerhetstjeneste med forhåndsregistrert API-klient for å få AccessToken:

Request

Form urlencoded

curl -X POST \
-H 'Content-Type=application/x-www-form-urlencoded' \
-d 'grant_type=client_credentials&client_id=<Client Id (GUID)>&client_secret=<Client Secret>' \
<URL til Helsenorge sikkerhetstjeneste> (Se: Testmiljøer og endepunkter )

JSON

curl -X POST \
-H "Content-Type: application/json" \
-d '{"grant_type": "client_credentials", "client_id": "<Client Id (GUID)>", "client_secret": "<Client Secret>' \
<URL>  (Se: Testmiljøer og endepunkter )

Response

{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsInZlciI6MSwidHlwXzIiOiJyZWYifQ.eyJqdGkiOiJlNjJmNGExYS1hYmZiLTQ3OGYtYjUwOS0xMzZlM
zhkYTVhYzIiLCJjbGllbnRfaWQiOiI1ZDRmNzlhNS00NTliLTQyOWEtOTcwYS03ZWRjMjQzMjk2MGMiLCJjbGllbnRfbmFtZSI6IkVrc3Rlcm4gdGVzd
GtsaWVudCIsInJlZl90b2tlbiI6IlZhNEhId2xjc1l6aTlZN1k3bEp5akw1V2dZbXVQaHVZakNDblp5bUdGRm8iLCJyZWZfdG9rZW5fdHlwZSI6IkZ1b
GwiLCJ6b25lIjoiZWtzdGVybl9pbnRlcm5ldHQiLCJuYmYiOjE1NTQxMDE4NTMsImV4cCI6MTU1NDEwMzY1MywiaWF0IjoxNTU0MTAxODUzLCJpc3MiO
iJzaWtrZXJoZXQuaGVsc2Vub3JnZS5ubyJ9.hZvCrBx2yNiMzP3_dx0tYBxCookFFQ8EDWtPp3PfUCQ",
"expires_in": 1800,
"token_type": "bearer"
}

Etterfølgende kall til endepunktet for Oppgave

Request

curl -X POST \
-H "Content-Type: application/xml" -H "Authorization: Bearer <access_token>"\
-d 'FHIR Task i xml' \
<BaseUrl/oppgave/v1/task> (For BaseUrl, se: Testmiljøer og endepunkter )

FHIR Task i xml (samme innhold som Document i Hodemelding):

View file
name2021-10-06_FHIR-Task_Samtykkeforespørsel.xml

Respons

  • HTTP respons:

  • OK: 201 - created. Ved suksessfull opprettelse av ressursen og påfølgende respons vil Location headeren være satt inneholdende logisk id , i tillegg returneres den opprettede ressursen i sin helhet.

  • Feil: 400 - error + FHIR OperationOutcome

    POST

    • Eks Task: POST [base]/oppgave/v1/Task

  • Eksempel på Payload (FHIR Task):

Meldingsbasert integrasjon (AMQP)

Innsending av skjemaoppgave som Hodemelding med FHIR Task eller FHIR Bundle er beskrevet her: AMQP Oppgaveforespørsel

Eksempel på Hodemelding med generisk oppgave: