Oppgave API

Dette er et API som kan benyttes til forskjellige type oppgaver en helseaktør ønsker at innbygger skal utføre.

Dette API’et kan benyttes for å sende en oppgave til innbygger, og eventuelt i ettertid endre utvalgte parametere på en oppgave som allerede er innsendt.

Alle oppgaver til innbygger er modellert som en FHIR ressurs av type Task. For skjemaoppgaver kan oppgaven også inneholde andre FHIR ressurser i en FHIR Bundle. Men, selve oppgaven er alltid en FHIR Task.

Gjennom bruk av FHIR-ressurser har vi lagt til rette for at aktøren kan benytte forskjellig teknologi for integrasjon. Aktøren velger om man ønsker å benytte meldingsbasert integrasjon eller FHIR API.

 

Forutsetninger for bruk av Hendelsesvarsel (under utarbeidelse):

Følgende aktører kan bruke tjenesten:

  • Offentlig helseaktør, eller aktør med offentlig avtale

  • Aktører med tjenester på Helsenorge

API-navn

Oppgave

Funksjonelt område

Oppgave

API-versjon og dato publisert

v1.0 Oct 27, 2020

Status

I drift

API-dokumentasjon sist endret

Feb 11, 2021

Teknologi

REST + FHIR

AMQP + FHIR

 

Forretningsbehov

Id

Brukerhistorie

Forretningsmessige akseptansekriterier

 

Som aktør ønsker jeg at innbygger skal fylle ut et skjema

slik at jeg innhenter nødvebndig/ønsket informasjon elektronisk

 

 

Som aktør ønsker jeg å sende en foresprøsel om at innbygger skal samtykke til en bestemt type bvehandling

slik at jeg kan foreta databehandling av personopplysninger i henhold til samtykkets omfang

 

 

Som aktør ønsker jeg å be innbygger utføre en oppgave i et eksternt system

der dette er ønsket/nødvendig som en del av ytelse av helsehjelp

 

 

 

 

Prosesser og flyt

 

Innsending av Oppgave

Payload

En oppgave er alltid representert med en FHIR Task: https://helsenorge.atlassian.net/wiki/spaces/HELSENORGE/pages/742948883

I skjemaløsningen kan det i tilleg sendes med andre FHIR ressurser. Det skjer da som en FHIR Bundle (der et av elementene må være en Task). Se detaljer om dette her: https://helsenorge.atlassian.net/wiki/spaces/HELSENORGE/pages/1008369665

REST API

  • Det benyttes sikkerhetsmodell system-til-system: https://helsenorge.atlassian.net/wiki/spaces/HELSENORGE/pages/1886191617

    • AksessToken inkluderes i header i etterfølgende HTTP-kall til API’et:

  • (HTTP POST): Helsenorge bestemmer ressursens ID.

  • URL til REST API:

    • Dersom Payload er bare Task: POST [baseUrl for ekstern-API til HN-system]/oppgave/v1/Task

    • Dersom Payload er en Bundle (opsjon i Skjemaløsningen): POST [baseUrl for ekstern-API til HN-system]/oppgave/v1 (Med Body = Bundle)

  • Se her for oversikt over baseURL’er til de forskjellige systemene:

Meldingsbasert integrasjon (AMQP)

Sending av Hendelsesvarsel kan også skje ved meldingsbasert integrasjon. (Vil først implementeres når første aktør har slik behov). Hodemeldingen inneholder da eksakt samme “payload” som det som postes i REST-API’et.

  • Se prinsippene for meldingsbasert integrasjon med FHIR API’er på helsenorge:

Struktur på AMQP-melding ved meldingsbasert integrasjon

Tjeneste

Oppgaveforespørsel

Bruksområde

Forespørsel fra helsepersonell til Innbygger med en oppgave som man ønsker at innbygger skal utføre.

Hodemelding

Obligatorisk, og benyttes i henhold til beskrivelse i

Obligatorisk verdi i MsgHead/MsgInfo/Type er:

<Type V="DIALOG_INNBYGGER_OPPGAVEFORESPØRSEL" DN="Dialog med innbygger – oppgaveforespørsel" />

Obligatorisk verdi i MsgHead/MsgInfo/Ack er:

<Ack DN="Ja" V="J"/>

Dialogmelding

Ikke aktuelt å bruke for denne tjenesten.

iCalender

Ikke aktuelt å bruke for denne tjenesten

Helsepersonell

Ikke aktuelt å bruke for denne tjenesten.

Pasientrelasjon

Ikke aktuelt å bruke for denne tjenesten.

Vedlegg

Ikke aktuelt å bruke for denne tjenesten

FHIR ressurs (i Document)

  • Oppgaven er alltid modellert som en FHIR Task:

  • I skjemaløsningen kan andre ressurser sendes inn sammen med Task. Dette gjøres i en FHIR Bundle. Se:

Støtte for kommunikasjonsprosessen i Adresseregisteret

Følgende prosess skal aktiveres i adresseregisteret for å støtte funksjonaliteten.

Prosess

Funksjonalitet

Versjon

Dialog_Innbygger_Oppgaveforesporsel

Basisversjon for kommunikasjonsprosess

1.0

Tabellen under viser hvilke roller som inngår i prosessen, hvilke funksjoner de ulike rollene kan gjøre og hvilke meldinger som benyttes.

Versjon

Rolle

Funksjon

Meldingsinnhold

1.0

Innbygger

Applikasjonskvittering

 

Helsepersonell

TilUtforelse

FHIR (Task eventuelt Bundle)

Eksempel på bruk av FHIR Task i Hodemelding

<?xml version="1.0" encoding="iso-8859-1"?> <MsgHead xmlns="http://www.kith.no/xmlstds/msghead/2006-05-24"> <MsgInfo> <!-- Meldingens funksjon Volven-kodeverk 8279 --> <Type V="DIALOG_INNBYGGER_OPPGAVEFORESPØRSEL" DN="Dialog med innbygger - forespørsel om å utføre oppgave" /> <MIGversion>v1.2 2006-05-24</MIGversion> <GenDate>2019-12-29T11:34:00.0513824+01:00</GenDate> <MsgId>d43723fe-a526-4c00-86b2-da3f4ae52cb8</MsgId> <Ack DN="Ja" V="J" /> <Sender> <Organisation> <OrganisationName>HELSEDIREKTORATET</OrganisationName> <Ident> <Id>2397</Id> <TypeId V="HER" S="2.16.578.1.12.4.1.1.9051" DN="Her-id" /> </Ident> <Organisation> <OrganisationName>DD.TEST</OrganisationName> <Ident> <Id>8091467</Id> <TypeId V="HER" S="2.16.578.1.12.4.1.1.9051" DN="Her-id" /> </Ident> </Organisation> </Organisation> </Sender> <Receiver> <Organisation> <OrganisationName>Direktoratet for e-helse</OrganisationName> <Ident> <!-- HERID i TEST: 115851, HERID i Prod: ? --> <Id>115851</Id> <TypeId V="HER" S="2.16.578.1.12.4.1.1.9051" DN="Her-id" /> </Ident> <Organisation> <OrganisationName>Digitale innbyggertjenester</OrganisationName> <!-- HERID'er i DEV/TEST: TEST01: 8093248, TEST02: 8093247, QA: 8093249, MAS-01: 8093244, MAS-02: 8093239 --> <Ident> <Id>8093248</Id> <TypeId V="HER" S="2.16.578.1.12.4.1.1.9051" DN="Her-id" /> </Ident> </Organisation> </Organisation> </Receiver> <Patient> <!-- Samme informasjon finnes i FHIR objektet, men må være med for å tilfredstille Hodemeldingen (benyttes ikke av Helsenorge) --> <Ident> <Id>13116900216</Id> <TypeId V="FNR" DN="Fødselsnummer" S="2.16.578.1.12.4.1.1.8116"/> </Ident> </Patient> </MsgInfo> <Document> <!-- Dette er et selvstendig objekt som inneholder all informasjon som er nødvendig for å kunne utføre oppgaven. Resten av (hode) meldingen er i utgangspunktet KUN transport. --> <ContentDescription>FHIR Task</ContentDescription> <RefDoc> <MsgType V="XML" DN="XML-instans" /> <Content> <Task> ………….. </Task> </Content> </RefDoc> </Document> </MsgHead>

Generell info om meldingsutveksling med Helsenorge

For overordnet informasjon om meldingsutveksling med Helsenorge se her:

Feilsituasjoner og feilkoder

Se her for informasjon om feilkoder ved innsending og oppdatering av oppgaver: