Table of Contents | ||||
---|---|---|---|---|
|
Hva er en generisk oppgave
...
Helseaktøren sender oppgaven til innbygger via Helsenorge.
Innbygger varsles om mottatt oppgave og kan logge seg inn på Helsenorge å finne mottatt oppgave.
Innbygger kan se oppgavens innhold, se frister, samt starte oppgaven i eksternt system (via lenke som avsender sendte med i oppgaven)
Innbygger vil også påminnes om eventuelt ikke utført oppgave når fristen nærmer seg
Eksternt system må understøtte single-sign-on via Helsenorge innloggingsløsning: 03 - Innbygger innlogging - Helsenorge som OpenID Connect provider
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:
Være abonnent på Helsenett.
Anskaffe virksomhetssertifikater
Registrere sitt system i Adresseregisteret med støtte for den aktuelle meldingstypen.
Implementere meldingsbasert integrasjon med Helsenorge via AMQP: Meldingsutveksling med Helsenorge og PVK
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
AksessToken må inkluderes i Authorization header: Se: https://helsenorge.atlassian.net/wiki/spaces/HELSENORGE/pages/23789578/02+-+Kall+til+Helsenorge+og+PVK+API+er+og+bruk+av+AccessToken
(HTTP POST): https://helsenorge.atlassian.net/wiki/spaces/HELSENORGE/pages/1254654012/FHIR+-+REST+
Operasjoner#Lagre-enFHIRressursp%C3%A5HelsenorgeHeader: Skal i henhold til sikkerhetsmodellen inneholde: Access token man fikk fra Helsenorge sikkerhetstjeneste
Body: Skal inneholde FHIR Task (i XML eller JSON)
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 | ||
---|---|---|
|
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 OperationOutcomeEks 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: