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. For disse kan aktøren velge 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.
Aktørs integrasjon - Sende inn skjemaoppgave og motta utfylt skjema
Innsending av skjemaoppgave
Payload
En skjemaoppgave er alltid representert ved en FHIR Task: Detaljert beskrivelse: FHIR Task - Oppgave
I noen tilfeller kan en ekstern aktør ha behov for å sende med skjemadefinisjonen som skal benyttes. I slikt tilfelle skal det benyttes en FHIR Bundle med FHIR Task og Skjemadefinisjon. Se detaljert spesifikasjon av Bundle
REST API
Her kan aktør benytte to alternative aksjoner:
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]/Task/ee94ef9e-e2ca-48e6-953d-98fc1c5b2eed
Eks:
PUT [base]/Bundle/79e159f5-dfbe-415d-922e-48477f336a43
Create (HTTP POST): Her bestemmer Helsenorge ressursens ID. Se detaljer her.
Eks:
POST [base]
Meldingsbasert integrasjon (AMQP)
Innsending av skjemaoppgave som Hodemelding med FHIR Task eller FHIR Bundle er beskrevet i kapittel 3.26 Oppgaveforespørsel i Implementasjonsguiden
Sending av ferdig utfylt skjemasvar fra Helsenorge
Payload
Helsenorge sender alltid mer enn en FHIR ressurs i et skjemasvar. Dette er alltid en FHIR Bundle. Det finnes to varianter (se Bruksscenarier):
Skjemasvar der Helsenorge sin skjemautfyller benyttes: https://helsenorge.atlassian.net/wiki/spaces/HELSENORGE/pages/1008369665/Benyttede+FHIR+Ressurser#Standardisert-skjemarespons-FHIR-QuestionnaireResponse
Skjemasvar der det er benyttet proprietære skjemasvar (ekstern skjemautfyller): https://helsenorge.atlassian.net/wiki/spaces/HELSENORGE/pages/1008369665/Benyttede+FHIR+Ressurser#Propriet%C3%A6r-strukturert-skjemarespons-(kan-benyttes-ved-ekstern-utfyller)
REST API
Foreløpig støtter Helsenorge ikke å “poste” skjemasvar til en FHIR-server hos mottager. Kun meldingsbasert integrasjon støttes for formidling av skjemasvar.
Meldingsbasert integrasjon (AMQP)
Innsending av skjemasvar som Hodemelding med FHIR Bundle er beskrevet i kapittel 3.28.2 Dialog Skjemainnsending i Implementasjonsguiden
Integrasjon mellom ekstern skjemautfyller og Helsenorge
Ekstern skjemautfyller mellomlagrer delvis utfylt skjema på Helsenorge
Innledning
Denne funksjonaliteten er kun tilgjengelig dersom utfylling er resultat av en skjemaoppgave (dvs. FHIR Task).
Det understøttes to scenarier:
Ekstern skjemautfyller kan selv “huske” kontekst dvs. ta vare på DocumentReference.Id mellom lagring og uthenting av mellomlagret dokument.
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).
Payload
Ekstern skjemautfyller antas å ha proprietært format for delvis utfylt skjema. Dette lagres som en binær octetstreng på Helsenorge og representeres via FHIR ressursen: FHIR DocumentReference
REST API
Scenario a): Ekstern skjemautfyller “husker” mellomlagret dokument sin ressurs.id
Lagre skjemainstans : Update (HTTP PUT): Det forutsettes at ekstern utfyller selv bestemme ressursens ID. Denne må være en UUID. Se detaljer her.
Eks:
PUT [base]/DocumentReference/fe0e4d02-0d0a-43be-8784-0ac336fefec3
Hente skjemainstans: Read (HTTP GET): Lagret skjemainstans hentes direkte basert på ressurs ID. Se detaljer her.
Eks:
GET [base]/DocumentReference/fe0e4d02-0d0a-43be-8784-0ac336fefec3
Scenario b): Ekstern skjemautfyller har ikke kontekst, men må søke opp mellomlagret dokument
Lagre skjemainstans: Create (HTTP POST): Her bestemmer Helsenorge ressursens ID. Det forventes ikke at ekstern skjemautfyller “husker” returnert ressurs.id. Se detaljer her.
Eks:
POST [base]
Hente lagret dokument: Search (HTTP POST): Her skal det benyttes innbyggers fødselsnummer og skjemaoppgaven Identifier” slik disse er angitt i DocumentReference.
Eks:
POST [base]/DocumentReference/_search?
Body:
Content-Type: application/x-www-form-urlencoded
+subject.identifier=urn:oid:2.16.578.1.12.4.1.4.1|01126222358&related.identifier=urn:ietf:rfc:3986|urn:uid: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)
...
Child pages (Children Display) |
---|