Koppla ihop formulärmallen med tidbokning
<beskrivning> eller länkar
Steg 1 - Ta fram beräkning som kopplar ihop formuläret med tidbokning
I dagsläget har varken lokal eller regional administratör behörighet att skapa beräkningar för att koppla ihop formulärmallen med tidbokningen.
Beräkningar görs i formulärtjänsten del som heter ExternalApplication.
Länk till Formulärtjänstens dokumentation: Steg för steg, konfiguration
Exempel på beräkning Fysioterapimottagning
Nedan skript visar hur en beräkning kan se ut
TODO: byt ut denna mot Sunnes
when $q: Questions() then double result = 0; // result motsvarar utgång // hämta invånares svar på fråga Q1 int svarsQ1 = $q.get("Q1").intValue(); if ( svarsQ1 == 1 ) { // Q1:1. Under 18 år result = 0; } else if ( svarsQ1 == 2 ) { // Q1:2. 18 - 25 år // hämta invånares svar på fråga Q2 int svarsQ2 = $q.get("Q2").intValue(); if ( svarsQ2 == 1 ) { // Q2:1: Ja, för samma besvär som jag vill boka tid för nu // hämta invånares svar på fråga Q3 int svarsQ3 = $q.get("Q3").intValue(); if ( svarsQ3 == 1 ) { // Q3:1: Kurator result = 2; } else { // Q3:2: Psykolog result = 3; } } else if ( svarsQ2 == 2 || svarsQ2 == 3 ) { // Q2:2: Ja, men för ett annat besvär // Q2:3: NEJ // hämta invånares svar på fråga Q4 int svarsQ4 = $q.get("Q4").intValue(); if ( svarsQ4 == 1 ) { // Q4:1: Ja, Jag tänker ofta så // hämta invånares svar på fråga Q6 int svarsQ6 = $q.get("Q6").intValue(); if ( svarsQ6 == 1 ) { // Q6:1: JA result = 4; } else { // Q6:2: NEJ // hämta invånares svar på fråga Q7 int svarsQ7 = $q.get("Q7").intValue(); if ( svarsQ7 == 1 ) { // Q7:1 Ja result = 4; } else if ( svarsQ7 == 2 ) { // Q7:2 Nej, bara vaga tankar result = 3; } else { // Q7:3 Nej, inte alls // hämta invånares svar på fråga Q8 int svarsQ8 = $q.get("Q8").intValue(); if ( svarsQ8 == 1 || svarsQ8 == 2 || svarsQ8 == 3 || svarsQ8 == 4 || svarsQ8 == 5 || svarsQ8 == 8 ) { result = 3; } else { result = 2; } } } } else if( svarsQ4 == 2 ) { // Q4:2: Ja, jag tänker så ibland // hämta invånares svar på fråga Q9 int svarsQ9 = $q.get("Q9").intValue(); if ( svarsQ9 == 1 ) { // Q9:1: JA result = 5; } else { //Q9:2: NEJ // hämta invånares svar på fråga Q10 int svarsQ10 = $q.get("Q10").intValue(); if ( svarsQ10 == 1 ) { // Q10:1: Ja result = 4; } else if ( svarsQ10 == 2 || svarsQ10 == 3 ) { // Q10:2: Nej, bara vaga tankar // hämta invånares svar på fråga Q11 int svarsQ11 = $q.get("Q11").intValue(); if ( svarsQ11 == 1 || svarsQ11 == 2 || svarsQ11 == 3 || svarsQ11 == 4 || svarsQ11 == 5 || svarsQ11 == 8 ) { result = 3; } else { result = 2; } } } } else { // Q4:3: NEJ // hämta invånares svar på fråga Q5 int svarsQ5 = $q.get("Q5").intValue(); if ( svarsQ5 == 1 || svarsQ5 == 2 || svarsQ5 == 3 || svarsQ5 == 4 || svarsQ5 == 5 || svarsQ5 == 8 ) { result = 3; } else { result = 2; } } } } else if ( svarsQ1 == 3 ) { // 3. Över 25 år result = 1; } // spara utgång för att kunna läsas/kopplas till uthopps-URL outcome.set( result ); end
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
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 external application i Formulärtjänsten, 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: |