Oppgave API

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 Oppgave (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

Jun 25, 2024

Teknologi

REST + FHIR HelseId.jpg

AMQP + FHIR

 

Forretningsbehov

Id Brukerhistorie Forretningsmessige akseptansekriterier   Som aktør ønsker jeg at innbygger skal fylle ut et skjema slik at jeg innhenter nødvendig/ønsket informasjon elektronisk     Som aktør ønsker jeg å sende en forespørsel om at innbygger skal samtykke til en bestemt type behandling 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 Som aktør ønsker jeg å be innbygger om å ta stilling til bruk av verktøy slik at innbygger tar et aktivt valg om å ta i bruk det verktøyet jeg har forskrevet Som aktør ønsker jeg å kunne gi tilgang til/peke til relevant informasjon som del av en behandling eller forløp slik at innbygger settes i stand til å ta gode valg og mestre egen helse, og vi som behandlere kan gi mer effektiv helsehjelp

 

 

 

Prosesser og flyt

gliffy

 

Innsending av Oppgave

Payload

En oppgave er alltid representert med en FHIR Task: FHIR Task - Oppgave

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: Benyttede FHIR Ressurser i Skjemaløsningen

REST API

Autorisasjon

HelseId sin autoriseringstjeneste for maskin-til-maskin skal benyttes:

  1. Velg Helsenorge Ekstern API i HelseId sin selvbetjeningsløsning

    1. Velg deretter scope “Oppgave

    2. Når tilgangen er godkjent av Helsenorge, kan aksesstoken hentes ut fra HelseId

Se ytterligere detaljer her: 3. Ekstern applikasjon kaller Helsenorge API i systemkontekst

Bruk av API’et

  • (HTTP POST): Helsenorge bestemmer ressursens ID. FHIR - REST Operasjoner

  • 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/Bundle

  • Se her for oversikt over baseURL’er til de forskjellige systemene: Testmiljøer og endepunkter

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.

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>Norsk Helsenett SF</OrganisationName> <Ident> <Id>112374</Id> <TypeId V="HER" DN="Identifikator fra Helsetjenesteenhetsregisteret (HER-id)" S="2.16.578.1.12.4.1.1.9051" /> </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>13766991003</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: Meldingsutveksling med Helsenorge

Feilsituasjoner og feilkoder

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