Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

Innledning

Løsningen for digitale skjema på Helsenorge består av følgende hovedkomponenter:

  1. En aktør kan sende inn en skjemaoppgave. Her benyttes FHIR ressurs Task (Detaljert dokumentasjon av hvordan Task skal benyttes finnes her: FHIR Task - Oppgave )

  2. 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.

  3. 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.

  4. Når skjema er fylt ut av innbygger (enten som resultat av en innsendt skjemaoppgave eller at innbygger selv har valgt et skjema), vil Helsenorge sende resultatet tilbake til aktør som skal ha skjemasvaret (se detaljert dokumentasjon av skjemasvar fra Helsenorge her: FHIR Ressurser benyttet for Digitale Skjema )

    1. Mottager(e) av skjemasvar kan være angitt i Skjemaoppgaven.

    2. Mottager(e) kan være fast definert på skjemaer som ligger i Helsenorge Skjemakatalog

    3. Noen skjema tilbyr innbygger å velge mottager.

  5. Noen eksterne skjemautfyllere sender selv utfylt skjemasvar til mottager uavhengig av Helsenorge.

  6. En ekstern skjemautfyller skal alltid sende en lesbar (PDF) kopi av utfylt skjema til helsenorge slik at innbygger har en kopi av dette. (Se detaljert spesifikasjon av innhold her: FHIR Ressurser benyttet for Digitale Skjema )

  7. Dersom Helsenorge skjemautfyller benyttes, aktiveres denne fra forretninglogikken på Helsenorge. Skjemautfyller sender både strukturert skjemasvar (QuestionnaireRespons) og PDF-versjon tilbake til Helsenorge.

  8. Dersom skjemaoppgaven peker til en eksterne skjemautfyller aktiveres denne når innbygger velger å fylle ut skjema fra Skjemaoppgaven.

  9. Dersom et skjema som skal fylles ut ligger i Helsenorge skjemakatalog, hentes skjemadefinisjonen ned og sendes med til skjemautfyller.

  10. Noen eksterne skjemautfyllere er ikke laget for (har hjemmel til) å lagre pasientopplysninger. For å understøtte et slikt scenario tilbyr Helsenorge at en ekstern skjemautfyller kan mellomlagre- og hente ut igjen, et delvis utfylt skjema på Helsenorge.

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:

Create - HTTP POST

Klienter kan benytte “Create” for å kreere en ny ressurs på Helsenorge. Det er Helsenorge som bestemmer ressurs-ID’en.

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:

    • OK: 200 + Bundle med Bundle.type = “transaction-response”

    • 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

Meldingsbasert integrasjon

  • No labels