Koppla ihop formulärmallen med tidbokning
Det krävs några steg för att koppla ihop en formulärmall med tidbokning
Ta fram beräkning utifrån de olika frågorna och svaren i formuläret för att peka på ett visst utfall (id på en utgång)
Länka från beräkning i formulärmallen till tidbokningstjänst
Lägg in URL-parameter vid utdelning av tjänst
Steg 1 - Ta fram beräkning som räknar ut utfallen av frågor/svar
I formulärmallen finns möjlighet att lägga in beräkningar för att ange vilka resultat i formulärets frågor/svar som ska leda till vilket utfall.
Beräkningen skrivs med kod i formulärtjänstens designverktyg, så personer med kunskap om enklare typer av kodning kan göra detta.
Länk till Formulärtjänstens dokumentation: Steg för steg, konfiguration
För att underlätta, rekommenderas att ett beslutsträd tas fram för att enklare skapa scriptet. Se exempel: Beslutsträd som hjälp i arbetet med flödet
Exempel på beräkning Fysioterapimottagning
Nedan skript visar hur en beräkning kan se ut. Utgångarna kan ha ett värde mellan 0 och 5, dvs totalt 6 utgångar.
TODO: komplettera med beskrivningar i scriptet som mappar mot frågorna i beslutsträdet
when $q: Questions() then double result = 0; int svarsQ1 = $q.get("Q1").intValue(); if ( svarsQ1 == 1 ) { int svarsQ3 = $q.get("Q3").intValue(); if( svarsQ3 == 1 ) { result = 0; } else { result = 1; } } else if ( svarsQ1 == 2 ) { int svarsQ2 = $q.get("Q2").intValue(); int svarsQ4 = $q.get("Q4").intValue(); int svarsQ7 = $q.get("Q7").intValue(); if ( svarsQ2 == 1 || svarsQ2 == 2 ) { if ( svarsQ7 == 2 ) { result = 1; } else if( svarsQ4 == 2 ) { result = 3; } else { result = 2; } } else if ( svarsQ2 == 3 || svarsQ2 == 4 ) { if ( svarsQ7 == 2 ) { result = 1; } else if( svarsQ4 == 2 ) { result = 0; } else { result = 4; } } } else if ( svarsQ1 == 3 ) { int svarsQ6 = $q.get("Q6").intValue(); if( svarsQ6 == 1 ) { result = 2; } else if( svarsQ6 == 2 ) { result = 1; } else { result = 2; } } else if ( svarsQ1 == 4 ) { int svarsQ5 = $q.get("Q5").intValue(); int svarsQ9 = $q.get("Q9").intValue(); if( svarsQ9 == 2 ) { result = 1; } else if( svarsQ5 == 2) { result = 3; } else { result = 4; } } outcome.set( result ); end
Kontrollera beräkningen
Beräkningen kan kontrolleras genom en förhandsgranskningsvy. Genom att välja vad invånaren kan svara, blir resultatet olika baserat på vad som är inlagt i scriptet. Se mer i Formulärtjänstens dokumentation [länk].
Steg 2 - Länka från beräkning i formulärmallen till tidbokningstjänst
I externalApplication kopplas en vidarelänkning från beräkningen i formulärmallen
Exempel på länkning
förklara delarna i url:en
https://tidbok.1177.se/make?configid=c3fb8b23-466b-45b2-bc35-b7b42565ebf7&hsaid=TSTNMT2321000156-112C&timetypeCode=2&terms=false
Steg 3 - lägg in URL-parameter vid utdelning av tjänst
[beskrivning av detta steg]
Läs mer hos Formulärtjänstens dokumentation:
Uthoppslänk på mottagningens startsida i inloggat läge
Exempel på URL-parameter
förklara delarna i url:en
?externalApplication=TRIAGE_VARMLAND
Tips och trix
Problem / behov | Lösning |
---|---|
Vid konfigurering av beräkningen i formulärmallen, går det inte att peka på samma utgång från flera frågor/svarsalternativ | Frågan och svarsalternativen behöver kopieras och kan inte gå ihop till samma. Dvs inte: Utan: |