Versions Compared

Key

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

Innledning

Gjennom bruk av FHIR-ressurser i skjemaløsningen har vi lagt til rette for at flere av grensesnittene som er beskrevet i den overordnede beskrivelse kan benytte forskjellig teknologi for integrasjon. Aktøren velger om man ønsker å benytte meldingsbasert integrasjon eller integrasjon via API’er. For noen av grensesnittene støttes kun en av integrasjonsmetodene. Dette vil framgå av beskrivelsen av hvert enkelt grensesnitt under.

En rekke av REST-grensesnittene (som alternativ til meldingsformidling) er under utvikling (høst 2021). Endelig release dato gis på forespørsel.

Detaljert teknisk dokumentasjon finnes på denne siden (med undersider)Skjemaløsningen på Helsenorge tilbyr aktører å sende inn skjemaoppgaver som refererer til at skjemaet skal fylles ut av innbygger i et eksternt system. I denne dokumentasjonen kalles et slikt system for “ekstern skjemautfyller”. Når innbygger velger å utføre oppgaven (starte utfylling av skjema), tilrettelegges det for at innbygger skal oppleve en mest mulig sammenhengende flyt, selv om både Helsenorge og et eksternt system er involvert i oppgaveløsingen. Dette for å oppnå en god brukeropplevelse, og for å etterleve Prinsipper for innbyggertjenester - kobling mellom Helsenorge og andre løsninger i markedet. (Se prinsipp 2 og 3 om hhv. personverninnstillinger og oversikt.)

Krav til ekstern skjemautfyller

Generelle kvalitetskrav for integrasjonspartnere er angitt her: Kvalitetskrav til integrasjonspartnere

Spesifikt for eksterne skjemautfyllere

  1. Allment aksepterte krav for brukskvalitet skal oppfylles, herunder at løsningen er universelt utformet og fungerer på mobile enheter.

  2. Lover og forskrifter samt “Normens” krav knyttet til personvern og sikkerhet skal være ivaretatt.

  3. Innbyggeren skal slippe å logge inn på nytt ved overgang til den eksterne skjemautfylleren.

    1. Ekstern skjemautfyller skal benytte Helsenorge OpenID Connect provider for å fastslå innbyggers identitet Se her om denne løsningen: 03 - Innbygger innlogging - Helsenorge som OpenID Connect provider

    2. Innbyggers utlogging fra ekstern skjemautfyller skal ikke medføre at innbygger logges ut av Helsenorge (vises p.t. to ulike faner)

  4. Den eksterne skjemautfylleren skal presentere det aktuelle skjemaet for innbygger direkte, uten behov for ytterligere navigasjon.

  5. Ekstern skjemautfyller skal understøtte at pasienten representeres av en annen innlogget innbygger.

    1. Helsenorge OpenID Connect provider gir informasjon om både representert innbygger og innlogget innbygger, samt type representasjonsforhold. Denne informasjonne skal i så fall benyttes.

    2. Det skal framgå i den eksterne skjemautfylleren hvem som er innlogget og hvem som er pasienten.

    3. Det skal framgå i skjemasvaret hvem som har fylt ut skjemaet dersom det ikke er pasienten selv.

  6. Ekstern skjemautfyller skal levere en kopi av utfylt skjema til innbyggers helsearkiv på Helsenorge.

    1. Detaljert teknisk dokumentasjon av FHIR-ressursene og XML-eksempler finnes her: Teknisk detalj dokumentasjon - skjemaløsning

  7. Ekstern skjemautfyller

...

  1. skal ha oppetid, tilgjengelighet og drift som for Helsenorge, i praksis 24/7 tilgjengelighet og drift og det skal være tydelig hvem som kontaktes ved tekniske og funksjonelle feil.

  2. Ekstern skjemautfyller skal ha responstider som for Helsenorge, med 99% av alle sidevisninger med responstid på under 2s

  3. Ekstern skjemautfyller skal være skalert og ytelsestestet forventet volum av bruk.

  4. Ekstern skjemautfyller skal ha etablert testmiljø integrert med Helsenorge og tilgjengelig for ende til ende funksjonell og tekniisk verifisering

Ekstern skjemautfyller sender ferdig utfylt skjema til Helsenorge

Denne funksjonaliteten er kun tilgjengelig dersom utfylling er resultat av en skjemaoppgave (dvs. FHIR Task).

Payload

Det

...

  1. Ekstern skjemautfyller kan selv “huske” kontekst dvs. ta vare på DocumentReference.Id mellom lagring og uthenting av mellomlagret dokument.

  2. Ekstern skjemautfyller har ikke kontekst informasjon, men må søke opp mellomlagret dokument basert på innbyggers fødselsnummer og kunnskap om skjemaoppgavens “identifier” (dvs. Task.Identifier).

...

er to varianter av payload, der kun den ene er implementert så langt (se Bruksscenarier):

  • Ekstern skjemautfyller sender selv skjemasvar til aktør og sender kun lesbar kopi av svaret til innbygger på Helsenorge: FHIR DocumentReference med PDF Se her for detaljer

  • MERK Ikke implementert enda: Dersom Helsenorge skal formidle skjemasvar til aktør, sender ekstern skjemautfyller både skjemasvar i sitt eget (proprietære) format samt innbyggers lesbare kopi i en FHIR Bundle: Se her for detaljer

    • Dette siste er et bruksscenarie som ikke er support for enda (høst 2023), implementeres avhengig av behov fra sektoren.

REST API

Autorisasjon

To metoder for tilgang er tilgjengelige:

  1. HelseId sin autoriseringstjeneste for maskin-til-maskin kan benyttes:

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

    2. Velg deretter scope “Skjema

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

  2. API-klienten kan alternativt autentisere seg mot Helsenorge Sikkerhetstjeneste.

    1. API-klienten må forhåndskonfigureres på Helsenorge med sin public key

    2. Fullmaktinformasjon API-et skal benyttes i system-til-system kontekst: 01 - System til System

    3. Deretter kan API-klienten få utsedt et AksessToken fra Helsenorge STS.

AksessToken som mottas fra HelseId eller Helsenorge STS skal deretter være med i Authorization header i alle HTTP-requestene. Se: https://helsenorge.atlassian.net/wiki/spaces/HELSENORGE/pages/23789578/02+-+Kall+til+Helsenorge+og+PVK+API+er+og+bruk+av+AccessToken

Bruk av API’et

Her skal det benyttes Create - HTTP POST https://helsenorge.atlassian.net/wiki/spaces/HELSENORGE/pages/1254654012/FHIR+-+REST+Operasjoner#Create---HTTP-POST

  • Create (HTTP POST): Her bestemmer Helsenorge ressursens ID. (Hvis kun PDF)

    • Eks: POST [base]/skjema/v1/DocumentReference

Meldingsbasert integrasjon (AMQP)

Innsending av skjemasvar fra ekstern skjemautfyller til Helsenorge som Hodemelding med FHIR DocumentReference eller en FHIR Bundle er beskrevet her: AMQP Skjemautfyller

(Opsjon) Ekstern skjemautfyller mellomlagrer delvis utfylt skjema på Helsenorge

Denne funksjonaliteten er kun tilgjengelig dersom utfylling er resultat av en skjemaoppgave (dvs. FHIR Task). Brukes kun i samråd med Helsenorge i tilfeller der mellomlagring er hensiktsmessig.

  • Ekstern skjemautfyller antas å ha proprietært format for delvis utfylt skjema. Dette lagres derfor alltid som en binær octetstreng på Helsenorge og representeres via FHIR ressursen: FHIR DocumentReference

REST API

Rest-API er under implementering, ta kontakt for release-dato.

Scenario a): Ekstern skjemautfyller “husker” mellomlagret dokument sin ressurs.id

REST API

Lagring av delvis utfylt skjemasvar

Det benyttes sikkerhetsmodell med System-til-system: 01 - System til System

Lagre skjemainstans: Create (HTTP POST): Her bestemmer Helsenorge ressursens ID. https://helsenorge.atlassian.net/wiki/spaces/HELSENORGE/pages/1254654012/FHIR+-+REST+Operasjoner#Create---HTTP-POST

  • Eks: POST [base]/skjema/v1/DocumentReference

    /fe0e4d02-0d0a-43be-8784-0ac336fefec3

Uthenting av tidligere mellomlagret delvis utfylt skjemasvar

Det benyttes sikkerhetsmodell med System-til-system: 01 - System til System

Pattern 1: Ekstern skjemautfyller “husker” mellomlagret dokument sin ressurs ID slik denne ble returnert fra Helsenorge

Hente skjemainstans: Read (HTTP GET): Lagret skjemainstans hentes direkte basert på ressurs ID

...

. https://helsenorge.atlassian.net/wiki/spaces/HELSENORGE/pages/1254654012/FHIR+-+REST+Operasjoner#Read---HTTP-GET

  • Eks: GET [base]/skjema/v1/DocumentReference/fe0e4d02-0d0a-43be-8784-0ac336fefec3

...

Pattern 2: Ekstern skjemautfyller

...

husker ikke

...

ressursens id, men må søke opp mellomlagret dokument

  • Lagre skjemainstans: Create Hente lagret dokument: Search (HTTP POST): Her bestemmer Helsenorge ressursens ID. Det forventes ikke at ekstern skjemautfyller “husker” returnert ressurs.id. Se detaljer her.

    • Eks: POST [base]/skjema/v1/DocumentReference

    Hente lagret dokument: Search (HTTP POST): Her skal det benyttes innbyggers fødselsnummer og skjemaoppgavens Identifier” slik disse er angitt i DocumentReference.

    Eks:

    kan det benyttes verdier i elementer i DocumentReference som ekstern skjemautfyller kjenner. https://helsenorge.atlassian.net/wiki/spaces/HELSENORGE/pages/1254654012/FHIR+-+REST+Operasjoner#Search---HTTP-POST-(_search)

    • POST [base]/skjema/v1/DocumentReference/_search?

      • Body: Content-Type: application/x-www-form-urlencoded + Eks 1: Man kjenner innbyggers fødselsnummer og oppgavens (task) sin identifier:

subject.identifier=urn:oid:2.16.578.1.12.4.1.4.1|01126222358&related.identifier=urn:ietf:rfc:3986|urn:uuid:3a5ca27f-949a-429d-ae67-d19567bc37b8

Der: 01126222358 = Innbyggers fødselsnummer (det er valgt POST og parametere i body fordi innbyggers fødselsnummer aldri skal være i URL’er)

Der: 3a5ca27f-949a-429d-ae67-d19567bc37b8 = er Task.Identifier slik denne er knyttet opp i DocumentReference som et relatert dokument. Se her for detaljer.

Meldingsbasert integrasjon (AMQP)

  • Denne funksjonen tilbys ikke med meldingsformidling.

Ekstern skjemautfyller sender ferdig utfylt skjema til Helsenorge

Payload

Det er to varianter av payload (se Bruksscenarier):

  • Ekstern skjemautfyller sender selv skjemasvar til aktør og sender kun lesbar kopi av svaret til innbygger på Helsenorge: FHIR DocumentReference med PDF Se her for detaljer

  • Dersom Helsenorge skal formidle skjemasvar til aktør, sender ekstern skjemautfyller både skjemasvar i sitt eget (proprietære) format samt innbyggers lesbare kopi i en FHIR Bundle: Se her for detaljer

    • Merk! Dette er et bruksscenarie som ikke er support for enda (høst 2021), implementeres avhengig av behov.

REST API

Rest-API er under implementering, ta kontakt for release-dato.

Her kan ekstern skjemautfyller benytte to alternative HTTP verb for å lager PDF’en:

  • Update (HTTP PUT): Denne benyttes dersom aktøren selv ønsker å bestemme ressursens ID. Denne må i så fall være en UUID. Se detaljer her.

    • Eks: PUT [base]/skjema/v1/DocumentReference/1db43884-89f4-4e6a-a396-0cc49761ce9f (Hvis kun PDF)

  • Create (HTTP POST): Her bestemmer Helsenorge ressursens ID. (Hvis kun PDF)

    Eks: POST [base]/skjema/v1/DocumentReference

    Ikke implementert enda: Body: Eks 2: Man benytter/kjenner DocumentReference.identifier

identifier=urn:ietf:rfc:3986|urn:uuid:fe0e4d02-0d0a-43be-8784-0ac336fefec3

Meldingsbasert integrasjon (AMQP)

...

  • Denne funksjon<liteten tilbys ikke med meldingsformidling.