Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Hva er en generisk oppgave

For noen typer oppgaver utføres hele, eller deler, av oppgaven i en arbeidsflyt på Helsenorge. Dette gjelder blant annet Skjemaoppgaver og Samtykkeforespørsler.

For oppgaver man vil at innbygger skal utføre, men der oppgave i sin helhet utføres i et annet system (utenfor Helsenorge) har vi definert en generisk oppgavetype.

Overordnet om integrasjon mellom eksternt system og Helsenorge

Arbeidsflyten for denne type oppgaver er som følger:

  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.

Bruk av 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

Sending av generisk oppgave til innbygger

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:

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):

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

  • No labels