Teknisk beskrivelse

Teknisk beskrivelse

Applikasjonen

Skjemabyggeren er et nettbasert verktøy skrevet i React for å generere skjemadefinisjoner. Applikasjonen har ingen avhengigheter til backend-systemer eller APIer og bruker lokal fillagring på brukers maskin.

Skjemadefinisjoner kan lastes inn ved at bruker trykker "Last opp skjema" og deretter velger en fil fra "Åpne fil"-dialogboksen som åpnes. På samme måte når bruker trykker "Lagre" så lagres en lokal fil med Questionnaire-en i json-format.

Sikkerhet

Applikasjonen har ingen koblinger til API eller til andre systemer.

Brukerstyrt flyt

 

Forklaring:

  • "Bruker" representerer brukeren av Skjemabyggeren.

  • "Last opp spørreskjema" er et bruksmønster der brukeren kan laste opp et eksisterende spørreskjema fra en fil.

  • "Start nytt spørreskjema" er et bruksmønster der brukeren kan begynne å lage et nytt spørreskjema fra bunnen av.

  • "Fortsett spørreskjema" er et bruksmønster der brukeren kan fortsette arbeidet på spørreskjemaet fra forrige nettlesersesjon.

  • "Utvikle spørreskjema" er et bruksmønster der brukeren kan legge til, redigere eller slette spørsmål og konfigurere ulike egenskaper for spørreskjemaet, som spørsmålstype, alternativer, poengsetting/skåring osv.

  • "Last ned spørreskjema" er et bruksmønster der brukeren kan eksportere det ferdige spørreskjemaet som en JSON-fil. JSON-filen inneholder strukturen og detaljene i spørreskjemaet, og kan enkelt deles og lagres.

Disse bruksmønstrene representerer de primære handlingene en bruker kan utføre i Skjemabyggeren. Brukeren kan enten laste opp et eksisterende spørreskjema, starte et nytt eller fortsette arbeidet på et tidligere lagret spørreskjema. Deretter kan de utvikle spørreskjemaet ved å tilpasse innhold og struktur, og til slutt laste det ned som en JSON-fil.

Egenskaper som kan settes i en skjemadefinisjon. 

Skjemadefinisjoner som genereres av Skjemabyggeren inneholder global og lokal helsenorge funksjonalitet. Lokale utvidelser håndteres i Helsenorges skjemautfyller, men skal oversees og ikke tas hensyn til i andre fhir-baserte skjemautfyllere. 

Dette gjelder utvidelser der Extension URI er , merket med "NHN.no" og "Ehelse.no". 

 

Trenger du mer informasjon om praktisk bruk av skjemabyggeren, se brukerveiledningen. 

Skjemadetaljer

Navn

Beskrivelse

Extension 

Extension Uri

 

Id

Unik ID som benyttes for alle versjoner. Kan settes manuelt, eller via guid som default

Nei

 

 

Language

Angivelse av språk. Angis i hht. BCP-47 (http://tools.ietf.org/html/bcp47 )

Hovedspråket er Norsk Bokmål.

Bruker kan endre språk på skjemaet og skjemautfyllerens komponenter og tekster.  Skjemautfyller er på følgende språk: Norsk Bokmål, Norsk Nynorsk, Engelsk og Nordsamisk. Språk på følgende format: nb-NO.

Språk legges til og oversettes i egen seksjon - se senere. 

Nei

 

 

Version

Funksjonell versjon i skjemadefinisjonen

Nei

 

 

Name

Teknisk navn er siste ledd i URL til skjema. Alle språkversjoner av et skjema har samme, unike “Teknisk navn”. 

Nei

 

 

Title

Tittel - Overskrift, vises som H1 i skjemaet

Nei

 

 

Status

Status. Er påkrevet. draft | active | retired | unknown

Nei

 

 

Date

Funksjonell dato. Dato for siste endring av spørreskjemaet.

Nei

 

 

Publisher

Tekstlig representasjon av organisatorisk eier

Nei

 

 

Description

Beskrivelse av innholdet i spørreskjemaet. Dette vises ikke i utfylleren, men vil være relevant for aktører som skal velge et passende skjema som skal benyttes. Kan benyttes f.eks. i verktøykatalogen

Nei

 

 

Purpose

Beskriver hvorfor skjemaet er laget, og hvorfor design og funksjonalitet er om det er. Kan referere til bakgrunnsmateriale og forskning, for eksempel "instrumenter" relatert til skjemaet.

Nei

 

 

Contact

Kontaktinformasjon til organisatorisk eier av skjema.

Nei

 

 

Copyright

Restriksjoner på bruk, betaling osv.

Nei

 

 

security

Benyttes til kategorisering av skjema, samt til tilgangsstyring ut fra samtykkenivå: 

  • Registerinnsyn (Basis) 

  • Journalinnsyn (Basis +) 

  • Helsetjeneste (Full) Helsetjeneste, Forvaltning, Sekundærbruk. 

Man kan snart, på Helsenorge reservere seg fra å motta skjema til sekundærbruk. 

  1. Helseregister    

Brukes for informasjon og tjenester knyttet til innbyggers innsyn og rettigheter i ulike registre, for eksempel besvare innsynsforespørsler

2. Pasientjournal    

Brukes for informasjon og tjenester knyttet til innbyggers personvernrettigheter i pasientjournal, for eksempel besvare innsynsforespørsler

3. Helsehjelp    

Brukes for informasjon og tjenester knyttet til innbyggers direkte behandling, helsehjelp og forebygging og hvordan videre behandlingsløp, oppfølging og informasjon skal håndteres, for eksempel sende oppgaver, timeavtaler eller annet til innbygger ifm. pasientforløp

4. Forvaltning    

Brukes for informasjon og tjenester knyttet til helseforvaltning og helseøkonomiforvaltning, for eksempel sende ut vedtak

5. Sekundærbruk

Brukes for informasjon og tjenester knyttet til forskning, helseundersøkelser og annen sekundærbruk, for eksempel invitere til deltakelse og sende ut informasjon fra forskningsprosjekter og helseundersøkelser

"security": [ { "code": "3", "display": "Helsehjelp", "system": "urn:oid:2.16.578.1.12.4.1.1.7618" } ]

Nei

 

 

Skrivetilgang som gjelder på Helsenorge

  • Standardinnstilling for skrivetilgang:

    • Innbygger selv

    • Foreldre på vegne av barn under 12 år

    • Foreldre på vegne av barn 12-16 år

    • Representant med tildelt fullmakt

    • Representant med ordinær fullmakt

  • Avvik fra dette kan settes ved å velge en eller flere, i tillegg til innbygger selv som alltid er satt på: 

    • Kun innbygger selv (alltid på i gui)

    • Foreldre på vegne av barn under 12 år

    • Foreldre på vegne av barn 12-16 år

    • Representant med ordinær fullmakt

    • Representant med tildelt fullmakt

    • Innbyggere med adressesperre

Nei

 

Skjemainnstillinger

 

 

 

 

 

Endpoint

Mottaker. Kun til bruk der skjemaet skal sendes til predefinerte mottakere. (Format: Endpoint/32)

Det kan også angis mottakere i selve skjemadefinisjonen i et eget skjemaelement, slik at dette feltet ikke er obligatorisk.

Ja

http://ehelse.no/fhir/StructureDefinition/sdf-endpoint

 

AuthenticationRequirement

Om den som skal fylle ut skjemaet må logge seg inn eller ei.

Ja

http://ehelse.no/fhir/StructureDefinition/sdf-authenticationrequirement

 

presentationbuttons

Vising av knapperad

  • static

  • none

Ja

http://helsenorge.no/fhir/StructureDefinition/sdf-presentationbuttons

 

GenererPDF

Om det skal genereres PDF eller ei. 

 

Ja

http://ehelse.no/fhir/StructureDefinition/sdf-generatepdf

 

Skjule tekster i PDF

En kan skjule hjelpetekster, instruksjoner og sidebartekster i PDF, for bedre lesbarhet. 

"system":"http://helsenorge.no/fhir/CodeSystem/AttachmentRenderOptions"

"code": "hide-help", "display": "Hide help texts" 

"hide-sublabel", "display": "Hide sublabel texts"

"code": "hide-sidebar", "display": "Hide sidebar texts"

Ja

http://helsenorge.no/fhir/StructureDefintion/sdf-itemControl-visibility

 

binary

Angir hvilken documentReference som benyttes. Altså relasjonen mellom questionnaire og documentReference

Document reference og binary må lastes opp i skjemakatalogen for å kunne benyttes på helsenorge.

Format: "Binary/1234"

Ja

http://helsenorge.no/fhir/StructureDefinition/sdf-questionnaire-print-version

 

navigator

Angir om navigator skal være på eller av "navigator" skrur den på

Ja

http://helsenorge.no/fhir/StructureDefinition/sdf-questionnaire-navgiator-state

 

saveCapabilities

Lagringsattributter er definert globalt på skjemadefinisjonen.

Det er følgende alternativer i dag:

  • 3 Ingen lagring

  • 2 Kun lagring 

  • 1 Lagring og mellomlagring.  

Hvilke knapper som vises, styres som i dag: 

  1. Send inn (Om det er endepunkt. Også ved videresending med endepunkt)

  2. Fullfør (Ikke endepunkt, ikke videresending)

  3. Gå videre (Ikke endepunkt, kun videresending)

  4. Mellomlagre (Styres av saveCapabilities Er på i 1 og 2)

Ja

http://helsenorge.no/fhir/StructureDefinition/sdf-save-capabilities

 

useContext

Kun for bruk av NHN

Nei

"system": "http://helsenorge.no/fhir/CodeSystem/workflow", "code": "request", "display": "Henvendelse"

Sidebar - hjelpeskuffen på Helsenorge

 

 

 

 

 

SOTHeaders

Standardtekst fra Helsenorge.

Samarbeidspartner supplerer med egen tekst. Se retningslinjer for dette.  

"system": "http://hl7.org/fhir/ValueSet/questionnaire-item-control", "code": "sidebar"

{ "system": "http://ehelse.no/fhir/ValueSet/SOTHeaders", "code": "SOT-1", "display": "SOT-1" }

Ja

http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl

 

SOTHeaders

Standardtekst fra Helsenorge.

Samarbeidspartner supplerer med egen tekst. Se retningslinjer for dette. 

"system": "http://hl7.org/fhir/ValueSet/questionnaire-item-control", "code": "sidebar"

{ "system": "http://ehelse.no/fhir/ValueSet/SOTHeaders", "code": "SOT-2", "display": "SOT-2" }

Ja

http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl

 

SOTHeaders

Samarbeidspartner supplerer med egen tekst. Se retningslinjer for dette. 

"system": "http://hl7.org/fhir/ValueSet/questionnaire-item-control", "code": "sidebar"

{ "system": "http://ehelse.no/fhir/ValueSet/SOTHeaders", "code": "SOT-3", "display": "SOT-3" } ],

Ja

http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl

Språk

 

 

 

 

 

language

For hvert språk som etableres, genereres det en questionnaire pr språk med en unik id, men med samme tekniske navn. Det muliggjør språkvalg når man henter opp skjema via teknisk navn. I situasjoner der en skal lenke direkte til skjema, uten språkvalg, kan en benytte unik id.

"language": "nb-NO"

"language": "nn-NO"

Man kan i verktøyet oversette tekster til de ulike språkene. 

Nei

 

Avanserte innstillinger

 

 

 

 

image-20251128-115211.png

 

 

Se egen side for extension-eksempler:

 

https://helsenorge.atlassian.net/wiki/x/A4Cgtw

 

Spørsmålstyper og komponenter

Alle datatyper som defineres må følge FHIR-standarden. https://www.hl7.org/fhir/R4/datatypes-definitions.html

Felt i Skjemabygger

Seksjon

Spørsmålstype

Brukergrensesnittkontroll

Notat

Felt i Skjemabygger

Seksjon

Spørsmålstype

Brukergrensesnittkontroll

Notat

 

display

 

Forklarende tekst

Forklarende tekst ment til å veilede brukeren

 

group

 

Seksjon/gruppe

Seksjon som må ha minimum ett spørsmålselement, den øverste gruppen starter på h2 deretter benyttes en mindre font nedover

 

ItemControl på grupper. http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl

  • summary-container: De gruppene som er merket med "summary-container" får en ekstra merking i PDF rendring

  • summary: Legger kodede groups først i PDF, Datatype: group

  • grid: En gruppeseksjon merket med itemControl = 'grid' indikerer at underordnede elementer av typen = 'group' i rutenett-delen er rader, og spørsmål under radgruppene er organisert som kolonner i rutenettet.

  • gtable: Tabell med visning av repeterende grupper

  • table: Tabell med svaralternativer som kolonner, med underliggende items i siste kollonne

  • table-hn1: Tabell med spørsmål og svar i to kolonner

  • table-hn2: Tabell med egendefinerte kolonner og overskrifter

 

question

 

 

 

 

 

boolean

Sjekkbox

 

 

 

decimal

Numerisk kontroll

Man aktiverer desimaltall under "Validering" på elementet.

Desimaldelen er synlig, men det er kun heltallsdelen som påvirkes av opp-/nedknappene. Desimaldelen må manuelt endres. 

 

 

integer

Numerisk kontroll

Samme som desimal, men uten desimaldelen.

 

 

date og dateTime

Datokontroll

Man kan velge mellom ulike datoformat

 

 

 

time

Tidskontroll

Kun tidsdelen vises

 

 

string

Tekstboks

Inntastingsfelt som kun vises på en linje

 

 

text

Større tekstboks, type TextArea

Inntastingsfelt som kan vises over X antall linjer. 

Itemcontrol på text  http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl

  • help: viser et spørsmålstegn og når man trykker på den vises hjelpeteksten Datatype: text

  • help-link: viser et spørsmålstegn og når man trykker på den vises hjelpeteksten som hentes fra en ekstern kilde Datatype: text

  • inline: Teksten vises som en ekspanderende seksjon Datatype: text

  • highlight: Gir et uthevet tekstfelt. Benyttes først i skjema som første item. Datatype: text

  • sidebar: Gir tekst i hjelpeskuffen. Må kombineres med en code som plasserer teksten rett sted.  Datatype: text. Se egen seksjon for dette over “Sidebar - hjelpeskuffen på Helsenorge”