Innledning
Det skal være sømløst uthopp fra Helsenorge til en ekstern skjemaufyller. Dette betyr at innbygger skal slippe å logge inn på nytt. Det er derfor nødvendig at ekstern skjemautfyller benytter Helsenorge OpenID Connect provider for å fastslå innbyggers identitet samt eventuelle representasjonsforhold som benyttes. Se her om denne løsningen: 03 - Innbygger innlogging - Helsenorge som OpenID Connect provider
Detaljert teknisk dokumentasjon av FHIR-ressursene og XML-eksempler finnes her: Teknisk detalj dokumentasjon - skjemaløsning
Ekstern skjemautfyller mellomlagrer delvis utfylt skjema på Helsenorge
Denne funksjonaliteten er kun tilgjengelig dersom utfylling er resultat av en skjemaoppgave (dvs. FHIR Task).
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
Ekstern skjemautfyller skal alltid benytte Create - https://helsenorge.atlassian.net/wiki/spaces/HELSENORGE/pages/1254654012/FHIR+-+REST+Operasjoner#Create---HTTP-POST
Når ekstern skjemautfyller skal hente ut mellomlagret skjema igjen, kan den benytte to forskjellige “patterns”:
Dersom den tar vare på ressursens ID som returneres fra Helsenorge kan denne benyttes i en Read - HTTP GET: https://helsenorge.atlassian.net/wiki/spaces/HELSENORGE/pages/1254654012/FHIR+-+REST+Operasjoner#Read---HTTP-GET
Ressursen kan hentes ut igjen med en Search - HTTP POST (_search), der man benytter kjente verdier som er lagret i elementer på ressursen (her DocumentReference) https://helsenorge.atlassian.net/wiki/spaces/HELSENORGE/pages/1254654012/FHIR+-+REST+Operasjoner#Search---HTTP-POST-(_search)
REST API
Lagring av delvis utfylt skjemasvar
Det benyttes sikkerhetsmodell med System-til-system: 01 - System til System - V2
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
Uthenting av tidligere mellomlagret delvis utfylt skjemasvar
Det benyttes sikkerhetsmodell med System-til-system: 01 - System til System - V2
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
Hente lagret dokument: Search (HTTP POST): Her 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: 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.
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 funksjonen tilbys ikke med meldingsformidling.
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 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
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 2021), implementeres avhengig av behov.
REST API
Det benyttes sikkerhetsmodell med System-til-system: 01 - System til System - V2
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