...
Innledning
Løsningen for digitale skjema på Helsenorge består av følgende hovedkomponenter:
Gliffy | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
En aktør kan sende inn en skjemaoppgave til innbygger. Her benyttes FHIR ressurs Task
...
Innbygger får varsel om mottatt skjemaoppgave og vil logge seg på Helsenorge. Der vil innbygger se oppgaven samt kunne gå til utfylling av skjema.
Innbygger kan også søke opp skjemaer, eller starte skjemautfylling via dyplenker, og fylle ut disse uten at en aktør har sendt inn en skjemaoppgave.
Dersom et skjema som skal fylles ut ligger i Helsenorge skjemakatalog, hentes skjemadefinisjonen fra Skjemakatalogen og sendes med til Helsenorge skjemautfyller når utfylling starter.
Dersom skjemaoppgaven peker til en ekstern skjemautfyller, aktiveres denne når innbygger velger å starte Skjemaoppgaven. Det skal være sømløst uthopp fra Helsenorge, dvs. at:
Innbygger slipper å logge inn på nytt
Innbygger kommer direkte til det aktuelle skjemaet
Kontekst bevares når det gjelder representasjonsforhold (om innbyggeren representerer seg selv eller en annen gjennom foreldreansvar eller fullmakt).
Når skjema er fylt ut av innbygger i Helsenorge skjemautfyller (enten som resultat av en innsendt skjemaoppgave eller at innbygger selv har valgt et skjema), vil:
Helsenorge sende resultatet tilbake til aktør(er) som skal ha skjemasvaret
...
Mottager(e) av skjemasvar kan være angitt i Skjemaoppgaven.
Mottager(e) kan være fast definert på skjemaer som ligger i Helsenorge Skjemakatalog
Noen skjema i skjemakatalogen tilbyr innbygger å velge mottager fra et sett forhåndsdefinerte mottagere
PDF-kopi og strukturert skjemasvar arkiveres fra forretninglogikken på Helsenorge. Det lagres både strukturert skjemasvar (QuestionnaireRespons) og PDF-versjon i innbyggers Helsearkiv på Helsenorge.
...
(Det kan også lagres andre FHIR-ressurser som er utledet av det strukturerte skjemasvaret)
Når skjema er fylt ut av innbygger i ekstern skjemautfyller, vil:
Ekstern skjemautfyllere selv sende utfylt skjemasvar til mottager uavhengig av Helsenorge.
En ekstern skjemautfyller skal alltid sende en lesbar (PDF) kopi av utfylt skjema til
...
Helsenorge slik at innbygger har en kopi av dette
...
Dersom Helsenorge skjemautfyller benyttes, aktiveres denne fra forretninglogikken på Helsenorge. Skjemautfyller sender både strukturert skjemasvar (QuestionnaireRespons) og PDF-versjon tilbake til Helsenorge.
...
Dersom skjemaoppgaven peker til en eksterne skjemautfyller aktiveres denne når innbygger velger å fylle ut skjema fra Skjemaoppgaven.
...
i sitt Helsearkiv på Helsenorge
Noen eksterne skjemautfyllere er ikke laget for (har hjemmel til) å lagre pasientopplysninger. For å understøtte et slikt scenario tilbyr Helsenorge etter separat avtale at en ekstern skjemautfyller kan mellomlagre- og hente ut igjen, et delvis utfylt skjema
...
Aktørers integrasjon med Helsenorge
Gjennom bruk av FHIR-ressurser i skjemaløsningen har vi lagt til rette for at grensesnittene 1, 4 og 6 over kan benytte forskjellig teknologi for integrasjon. Alle disse tre grensesnittene understøttes med meldingsformidling, og vil også komme med synkron integrasjon gjennom API’er.
Grensesnitt 10 over (mellomlagring av delvis utfylt skjema på Helsenorge) støttes kun synkront (dvs. gjennom API)
API’er
Alle FHIR API’er på Helsenorge støtter et subset av den fulle spesifikasjonen: http://hl7.org/fhir/http.html
Det skal benyttes HTTPS
Det støttes ikke versjonering av FHIR-ressurser
Klienter kan ikke velge hvilken respons som ønskes ved å benytte “
Prefer Header for HTTP”
. Avhengig av hvilken HTTP operasjon som benyttes, returneres enten hele FHIR-ressursen eller kun resultatet av operasjonen (se under).
Update - HTTP PUT
Klienter kan benytte “Update” for å kreere en ny ressurs på Helsenorge med en ressurs ID bestemt av klienten. Ressurs-ID’en skal være den samme i URL’en og i FHIR-ressursen. ID’en skal være globalt unik (dvs. en GUID). Ressursen kan siden aksesseres i API’er ved angi Type og Id.
Støttede FHIR-ressurs typer:
Task
DocumentReference
Request/response:
HTTP-request:
PUT [base]/[type]/[id]
HTTP-body: En FHIR ressurs av type
[type]
- Ressursens-ID skal være satt og være global unik.HTTP respons:
OK: 201 - created
Feil: 400 - error + FHIR OperationOutcome
Create - HTTP POST
...
på
...
Helsenorge
...
Støttede FHR-ressurs typer:
Task
DocumentReference
Request/response:
HTTP-request:
POST [base]/[type]
HTTP-body: En FHIR ressurs av type
[type]
(Dersom ressursen har en ressurs-ID fra før, vil denne endres)HTTP respons:
OK: 201 - created. Ved suksessfull opprettelse av ressursen og påfølgende respons SKAL
Location
headeren være satt inneholdende logisk id , i tillegg returneres den opprettede ressursen i sin helhet.Feil: 400 - error + FHIR OperationOutcome
Transaction - HTTP POST
Støttede FHR-ressurs typer:
Bundle (med Bundle.type = “transaction”)
Task
Questionnaire
QuestionnaireResponse
DocumentReference
Request/response:
...
HTTP-request: POST [base]
...
HTTP-body:
En FHIR ressurs av type
Bundle
(Dersom Bundle har en ressurs-ID fra før, vil denne endres)Hver ressurs i Bundle SKAL etterfølges av hvilken operasjon som skal utføres. Det støttes KUN HTTP PUT, dvs. at alle ressursene i Bundelen må ha en ressurs ID tilordnet av klienten. Denne skal være en GUID.
HTTP respons:
...
.
...
Feil: 400 - error + Bundle med et sett FHIR OperationOutcome
Read - HTTP GET
Støttede FHIR-ressurs typer:
Task
DocumentReference
Questionnaire
QuestionnaireResponse
Request/response:
HTTP-request:
GET [base]/[type]/[id]
HTTP-body: N/A
HTTP respons:
OK: 200 - OK + FHIR-resource of
[type]
with resource-ID[id]
Feil: 404 - Not Found
Search - HTTP GET (med parametere)
Støttede FHIR-ressurs typer:
Task
DocumentReference
Questionnaire
QuestionnaireResponse
Request/response:
HTTP-request:
GET [base]/[type] {?[parameters]}
HTTP-body: N/A
HTTP respons:
200 OK + Bundle med Bundle.type = “
searchset”
med en samling av FHIR ressurser av type[type]
og som tilfredsstiller søkeparameterne. Dersom søket ikke ga noe resultat inneholder Bundelen ingen ressurser.Feil:
401 - Not Authorized
404 - Not Found - Hvis man ikke støtter ressurstypen
Delete - HTTP DELETE
Støttede FHIR-ressurs typer:
DocumentReference
QuestionnaireResponse
Request/response:
HTTP-request:
DELETE [base]/[type]/[id]
HTTP-body: N/A
HTTP respons:
OK: 204 - No Content
Feil: 405 - Method not Allowed
...