Nybokning, boka tid
- 1 Flödet
- 2 Tjänstekontrakt som används vid flödet Nybokning
- 3 Steg 1 - mottagning
- 4 Godkänn villkorstext
- 5 Steg 2 - Bokningen avser
- 5.1 GetAllTimeTypes
- 6 Steg 3 - Datum & tid (inkl. personal)
- 7 Steg 4 - information till vården
- 8 Steg 5 - bekräfta bokningen
- 9 Bokningsbekräftelse i gränssnittet
- 9.1 MakeBooking
- 9.1.1 Felmeddelanden
- 9.1 MakeBooking
- 10 Bekräftelse i 1177 inkorg
Flödet
Denna sida går igenom flödet när invånaren ska boka en ny tid och hur de olika delarna mappar till vilka tjänstekontrakt och vilka fält.
Steg 1 | Steg 2 | Steg 4 | Steg 5 | ||||
---|---|---|---|---|---|---|---|
När byte av mottagning inte stöds. När byte av mottagning stöds |
|
|
|
|
|
|
|
Tjänstekontrakt som används vid flödet Nybokning
1177 e-tjänster gör ett anrop med GetSupportedContracts 1 gång per dygn och resultatet sparas ned i en cache. 1177 tidbokning kontrollerar cachen när en invånare startar flödet, för att kunna anpassa flödet till de frivilliga kontrakten GetAllPerformers och GetAllHealthcareFacilities.
Steg 1
GetAllHealthcareFacilitites - valfritt tjänstekontrakt. Hämtar en lista med mottagningar som bokning kan göras på
Steg 2
GetAllTimeTypes - obligatoriskt tjänstekontrakt. Hämtar vad bokningen avser (tidstyper).
Steg 3 och 4
GetAllPerformers - valfritt tjänstekontrakt. Hämtar vilken personal som kan erbjudas för efterfrågad tidstyp.
GetAvailableDates - obligatoriskt tjänstekontrakt. Hämtar datum där det finns minst en ledig tid för avsedd tidstyp.
GetAvailableTimeslots - obligatoriskt tjänstekontrakt. Hämtar lediga tider för avsedd tidstyp.
Steg 5
MakeBooking - obligatoriskt tjänstekontrakt. Bokar den valda tiden.
Bekräftelse i 1177 inkorg
AddMessage - används för att skicka en bokningsbekräftelse till 1177 inkorg.
GetAllCareTypes som finns beskrivet i tjänstedomänen crm:scheduling stöds ej i flödet
Steg 1 - mottagning
Mottagning
Om tjänstekontraktet GetAllHealthcareFacilities inte stödjs, visas endast den mottagning som initialt valdes.
Välj annan mottagning
GetAllHealthcareFacilities
Listan med mottagningar visas endast om GetAllHealthcareFacilities stödjs enligt tjänsteadresseringskatalogen (GetSupportedServiceContracts).
Mottagningarna som returneras via GetAllHealthcareFacilities måste finnas i 1177 e-tjänster med motsvarande tjänstekonfiguration för nybokning. Finns inte mottagningarna eller om de saknar tjänst för nybokning så filtreras de bort i rullgardinslistan.
Det får inte finnas fler än ett tidbokningssystem ansluten till mottagningen.
Regionerna ansvarar för att säkerställa att mottagningarna stödjer samma tidstyper (i annat fall kan det blir fel om invånaren kommer in i tidbokningsflödet från t.ex. triagering och väljer en annan mottagning)
GetAllHealthcareFacilities stöds inte i de fall mottagningen använder child-HSA-id (läs mer om child här). I dessa fall visas ingen lista med mottagningar.
Om tjänstekontraktet GetAllHealthcareFacilities används så hämtas en lista på tillgängliga mottagningar och dessa presenteras.
När sidan laddas in hämtas alla tillgängliga mottagningar. Om den mottagning invånaren kom in i tjänsten via returneras så är den förvald och relevant villkorstext visas, annars är ingen mottagning förvald.
Gränssnitt | Tjänstekontrakt GetAllHealthcareFacilitites | Kommentar |
---|---|---|
| Begäran |
|
healthcare_facility | HSA-id för mottagning/vårdenhet | |
subject_of_care | Personnummer för den invånare som bokningen avser. Format enligt yyyymmddxxxx. Kan användas för att filtrera vad en tjänsteproducent ska returnera för en viss patient (även vid nybokning). | |
bookingId | Internt bokningsid. Används ej vid nybokning. Vid öppen kallelse används bokningsid för att läsa upp den fiktiva bokningen. Detta bokningsid behövs för att tjänsteproducenten ska kunna filtrera på egenskaper för en grundbokning. | |
| Svar |
|
healthcareFacilityInfos 0..* | Lista med tillgängliga mottagningar/vårdenheter Om mottagningen returnerar sig själv i GetAllHealthcareFacilities väljs den automatiskt. Om mottagningen inte returnerar sig själv i GetAllHealthcareFacilities väljs inget i listan utan valet “Välj vårdenhet” visas. | |
healthcareFacility 1..1 | Mottagningens hsa-id. Visas ej i gränssnittet. | |
healthcareFacilityName 0..1 | Mottagningens namn. Visas i gränssnittet. Ignoreras och hämtas istället från HSA, baserat på hsa-id. |
Godkänn villkorstext
För vald mottagning visas villkorstext upp för användaren som ska läsas igenom och godkännas genom att kryssa i “Jag har tagit del av den fullständiga informationen”. Om mottagning ändras av invånaren (som erbjuds via GetAllHealthcareFacilites), ändras villkorstexten till den valda mottagningens.
Villkorstext hämtas från 1177 e-tjänsters personalsida. På sidan Ärendetyper (ADM) finns instruktioner för hur den lokala administratören redigerar villkorstexten. På sidan Tidbokningstjänst finns manualen för hur den regionala administratören skapar och redigerar villkorstext.
Gränssnitt | Admin | Kommentar |
---|---|---|
| Koppling mellan mottagning och specifika villkorstexter ställs in av den regionala eller lokala administratören i 1177 e-tjänster. | Villkorstext tillhörande vald mottagning. Invånaren måste klicka i “Jag har tagit del av den fullständiga informationen” för att komma vidare. Fortsätt- knappen är klickbar även om kryssrutan inte är ifylld, men invånaren får hjälp att se vad som måste fyllas i. |
|
| När invånaren har gått vidare i bokningsflödet, hittas villkorstexterna igen genom att klicka på “Visa” vid mottagningens namn. |
Steg 2 - Bokningen avser
GetAllTimeTypes
I steg 2 väljer invånaren vad som ska bokas genom att välja i den lista som presenteras i GetAllTimeTypes.
Om invånaren kommer från en öppen kallelse är tidstypen låst och ingen lista med valbara tidstyper presenteras för invånaren.
Inget anrop till Tidbokningssystemet med tjänstekontraktet GetAllTimeTypes görs då.
Gränssnitt | Tjänstekontrakt GetAllTimeTypes | Kommentar |
---|---|---|
| Begäran |
|
healthcare_facility | HSA-id för mottagning/vårdenhet. | |
careTypeIDs | Används ej. | |
subject_of_care | Personnummer för den invånare som bokningen avser. Format enligt yyyymmddxxxx. Kan användas för att filtrera vad tjänsteproducenten ska returnera för en viss patient. (T.ex. patient som pga. av sjukdom måste erbjudas enstaka speciella tidstyper, som inte erbjuds alla patienter) | |
| Svar |
|
ListOfTimeTypes | Lista med tillgängliga tidstyper visas upp = vilken bokning invånaren vill göra. En drop-down med tidstyper visas, med texten “Ange vad bokningen avser” visas. Om endast en tidstyp returneras är den förvald. | |
timeTypeName 1..1 | Namn för tidstypen / vad bokningen avser. | |
timeTypeId 1..1 | Id för tidstypen. Visas ej.
|
Inga tidstyper returneras
Om inga tidstyper returneras i svaret från GetAllTimeTypes visas ett meddelande upp som hänvisar till mottagningen.
Steg 3 - Datum & tid (inkl. personal)
Vyn vid Steg 3 “Dag & Tid” i nybokningsflödet visas efter anrop till getAvailableDates, getAvailableTimeSlots och GetAllPerformers.
GetAllPerformers
Tjänstekontraktet GetAllPerformers är ej obligatoriskt, men om det stödjs visas personal samtidigt som “välj dag och tid”. Tjänstekontraktet används för att kunna filtrera vilken personal invånaren kan välja att boka tid hos.
Gränssnitt | Tjänstekontrakt GetAllPerformers | Kommentar |
---|---|---|
| Begäran |
|
healthcare_facility | HSA-id för mottagning/vårdenhet. | |
timeTypeIDs | Tidstypid för att begränsa svarslistan. | |
careTypeIDType | Används ej | |
subject_of_care | Personnummer för den invånare som bokningen avser. Format enligt yyyymmddxxxx. | |
| Svar |
|
performerinfos 0..* | Visar en lista med personal i vyn med dagar och tider. Default visas ingen personal. Kan innehålla
| |
performer 1..1 | Personalens hsa-id. Visas ej. | |
firstName 1..1 | Personalens förnamn. Ska visas. | |
lastName 1..1 | Personalens efternamn. Ska visas. | |
title 0..1 | Personalens titel. Kan visas.
|
Visningsregler lediga tider
Finns det lediga tider under innevarande månad så markeras den första dagen med lediga tider. Finns inga lediga tider innevarande månad markeras dagens datum och texten “Det finns inga fler lediga tider denna månad. Gå till nästa månad för att se om det finns lediga tider” visas.
|
| |
Om det finns dagar med lediga tider längre fram samma månad visas en länk till nästa dag med lediga tider. | Om det inte finns dagar med lediga tider längre fram samma månad än den valda dagen visas en länk för att gå till nästa månad. | Finns inga dagar med lediga tider under en hel månad visas meddelande om detta och en länk för att gå till nästa månad. |
GetAvailableDates
Gränssnitt | Tjänstekontrakt GetAvailableDates | Kommentar |
---|---|---|
| Begäran |
|
healthcare_facility | Hsa-Id för mottagning/vårdenhet | |
bookingId | Internt bokningsid. | |
startDateInclusive | Datum från och med för de lediga tider som skall sökas ut, på formatet ÅÅÅÅMMDD. | |
endDateInclusive | Datum till och med för de lediga tider som skall sökas ut, på formatet ÅÅÅÅMMDD. | |
timeTypeName | Namn för tidstypen / vad bokningen avser. | |
timeTypeID | Id för tidstypen. 1177 skickar den kod som tidbokningssystemet returnerat i ett tidigare steg. | |
careTypeName | Används ej | |
careTypeID | Används ej | |
performer | HSA-id för vårdpersonal. | |
subject_of_care | Invånarens personnummer enligt format yyyymmddxxxx. | |
Dag&tid vyn fortsätter, se nedan | Svar |
|
performerAvailabilityByDate 0..* | Kalendervy visar dagar med lediga tider. Invånaren kan söka vidare, en månad i taget. Första lediga dag med tider visas som förvald i kalendervyn. | |
healthcare_facility | Id för mottagningen. Ska matcha begäran. Visas ej i gränssnittet | |
performer | Hsa-id för ev. vald personal. Ska matcha begäran. Visas ej. | |
performerName | Vårdpersonalens namn. Ska visas. | |
date | Ett datum där lediga tider finns. Visas med blå ring runt i kalendern. Utan kalender kan invånaren navigera mellan lediga tider med pilknapparna. | |
resourceName | Används ej. | |
resourceID | Används ej | |
timeTypeName | Namn för vald tidstyp. Ska matcha begäran, men visas inte upp igen (syns i Steg 2 i bokningen.) | |
timeTypeID | Id för tidstyp. Ska matcha begäran. Visas ej i gränssnittet | |
careTypeName | Används ej | |
careTypeID | Används ej |
GetAvailableTimeSlots
Gränssnitt | Tjänstekontrakt GetAvailableTimeslots | Kommentar |
---|---|---|
| Begäran |
|
healthcare_facility | HSA-id för mottagningen/vårdenheten. | |
bookingId 0..1 | Internt bokningsid. | |
startDateInclusive 1..1 | Datum för de lediga tider som skall sökas ut. Format: ÅÅÅÅMMDD | |
endDateInclusive 1..1 | Datum för de lediga tider som skall sökas ut. Format: ÅÅÅÅMMDD | |
performer | HSA-id för vårdpersonal. | |
timeTypeName | Namn för tidstypen / vad bokningen avser. | |
timeTypeID | Id för tidstypen. | |
careTypeName | Används ej | |
careTypeID | Används ej | |
subject_of_care | Invånarens personnummer enligt yyyymmddxxxx. | |
| Svar |
|
TimeSlotDetail | Lista med tillgängliga tider. | |
startTimeInclusive | Startdatum och klockslag för ledig tid. | |
endTimeInclusive | Slutdatum och klockslag för ledig tid. I gränssnittet visas eventuellt slutdatum och -tid. | |
healthcareFacility | HSA-id för mottagningen/vårdenheten. Ska matcha begäran. Visas ej. | |
healthcareFacilityName | Namn på bokad mottagning/vårdenhet. Visas ej igen. Visas i Steg 1. | |
performer | Vårdpersonalens HSA-id. Visas ej. | |
performerName | Vårdpersonalens namn. Visas bredvid klockslaget. Ska innehålla en blank-tecken-separerad sammanslagning av yrkestitel, förnamn, mellannamn, efternamn. Om performerName eller resourceName finns visas en av dessa efter tiden (enligt den prioriteten). | |
bookingId | Bokningsid för ledig tid/tidslucka. Visas ej, | |
purpose | Information från vården.
Fältet visas i steg 5 - Bekräfta bokningen. | |
reason | Anledning till bokningen. Kontaktorsak som invånare uppger vid bokning. Kan visas i gränssnittets steg 4 “Anledning till bokningen” om “message_allowed”=true som ett textfält som invånaren ska fylla i. I steg 5 visas vad som har fyllts i. Obligatoriskt för invånaren att fylla i om det visas. | |
resourceName | Namn på resurs. Ev. resurs visas i listan med lediga tider. Om performerName eller resourceName finns visas en av dessa efter tiden (enligt den prioriteten). | |
resourceId | Id för resurs. Visas ej. | |
timeTypeName | Namn för vald tidstyp. Ska matcha begäran, men visas inte upp igen (syns i Steg 2 i bokningen) | |
timeTypeId | Id för tidstyp. Ska matcha begäran. Visas ej. | |
careTypeName | används ej | |
careTypeId | används ej | |
cancelBookingAllowed | Anger om bokningen kan avbokas. Visas ej vid nybokning. | |
rebookingAllowed | Anger om bokningen kan ombokas. Visas ej vid nybokning. | |
messageAllowed | Anger om orsak till nybokning kan skickas med i berörda tjänster. Orsak kan inte skickas om värdet saknas eller om värdet är false. Om true, ska fältet reason visas i steg 4 (se nedan). |
Steg 4 - information till vården
I nybokningsflödets Steg 4 kan invånaren ange information till verksamheten som består av ett eller två textfält
anledning till bokningen - är obligatoriskt att fylla i om det visas. Om fältet ska visas beror på om verksamheten har angett message_allowed=true i GetAvailableTimeslots
telefonnummer - hämtas från inställningarna i 1177 om det finns och visas för invånaren. Kan editeras, men eventuell editering sparas inte i invånarens inställningar i 1177.
Steg 5 - bekräfta bokningen
Steg 5 - Bekräfta bokningen innehåller en summering av tidigare genomförda steg som invånaren ska granska och bekräfta genom att klicka på “Boka tid”. Inget nytt anrop sker förrän invånaren klickar på “Boka tid”.
Gränssnitt | Rubrik + Tjänstekontrakt.fält | Kommentar |
---|---|---|
Dag & tid GetAvailableTimeslots.startTimeInclusive GetAvailableTimeslots.endTimeInclusive | Datum och klockslag för starttid och ev. sluttid som ska bokas | |
Mottagning (hämtas från HSA) | Namn på bokad mottagning/vårdenhet. | |
Bokningen avser GetAllTimeTypes.timeTypeName | Namn för tidstyp som ska bokas (vad bokningen avser). | |
Anledning till bokningen GetAvailableTimeslots.reason | Eventuell anledning till bokningen. Visas endast om verksamheten har bett om att invånaren ska fylla i. | |
Information från vården GetAvailableTimeslots.purpose | Information från vården.
|
Bokningsbekräftelse i gränssnittet
När invånaren klickat på “Boka tid” sker ett anrop till tidbokningssystemet med tjänstekontraktet MakeBooking. En bokningsbekräftelse visas för invånaren i gränssnittet och samtidigt skapas en bokningsbekräftelse baserat på samma information som hamnar i 1177 Inkorg.
Förutom fälten beskrivna i nedan tabell finns även länkar som kan hänvisa invånaren vidare:
Bekräftelsen finns i din inkorg i e-tjänsterna på 1177.
Se bokade tider (länk till mottagningens bokade tider)
<namn på mottagning> (länk till mottagningens startsida)
MakeBooking
Tjänstekontraktet MakeBooking används för att skicka en bokningsbegäran till verksamhetssystemet.
Gränssnitt | Tjänstekontrakt MakeBooking | Kommentar |
---|---|---|
| Begäran |
|
healthcare_facility_med |
| |
healthcare_facility | Mottagningens hsa-id. (Det HSA-id som returnerades i GetAvailableTimeslots. Om HSA-id från svaret i GetAvailableTimeslots är null eller blankt så används istället HSA-id som skickades in i begäran till GetAvailableTimeslots) | |
healthcare_facility_name | Mottagningens namn. | |
startTimeInclusive | Startdatum och klockslag för den tid invånaren vill boka. | |
endTimeExclusive | Slutdatum och klockslag för den tid invånaren vill boka. | |
performer | HSA-id för HoS-person som besöket är bokat hos. Har ett värde om tidbokningssystemet har skickat ett värde för den tiden. | |
performerName | Namn på HoS-person som besöket är bokat hos. Har ett värde om tidbokningssystemet har skickat ett värde för den tiden. | |
bookingId | Skickas ej | |
subject_of_care | Personnummer för den invånare som bokningen avser. Format enligt yyyymmddxxxx. | |
purpose | Returnerar den information som tidbokningssystemet skickat för den valda tiden. | |
reason | Returnerar bokningsanledning om tidbokningssystemet har efterfrågat informationen. | |
resourceId | Id för resurs. Har ett värde om tidbokningssystemet skickat värde för vald tid. | |
resourceName | Namn på resurs. Har ett värde om tidbokningssystemet skickat värde för vald tid. | |
timeTypeName | Tidstyp för det bokade besöket. | |
timeTypsId | Id för tidstyp. | |
careTypeName | Skickas ej | |
careTypeId | Skickas ej | |
notification | Skickas ej | |
subject_of_care_info/phone | Invånarens telefonnummer Hämtas från inställningarna i 1177 och visas om det finns. Kan editeras av invånaren. | |
subject_of_care_info/email | Skickas ej | |
subject_of_care_info/address | Hämtas från PU-tjänsten | |
subject_of_care_info/coaddress | Skickas ej | |
subject_of_care_info/firstName | Hämtas från PU-tjänsten | |
subject_of_care_info/middleName | Skickas ej | |
subject_of_care_info/lastName | Hämtas från PU-tjänsten | |
| Svar |
|
bookingId | Id för skapad bokning. Ska anges vid genomförd bokning (resultCode OK eller INFO), annars inte (ERROR). Visas ej. | |
resultCode | Status för den gjorda bokningen. OK, INFO, ERROR | |
resultText för resultCode=INFO är texten där det står “Här får du lite informationstext att visa upp” resultText för resultCode = ERROR: Se bilder nedan, under Felmeddelande | resultText | Ev. meddelande kopplat till resultatkoden. Visas om resultCode = ERROR eller INFO |
Felmeddelanden
resultCode = ERROR, resultText saknas
Om bokningsförfrågan nått mottagaren, men ett fel uppstår på mottagarens sida, visas ett felmeddelande upp. Om ingen text returneras i resultText visas följande:
resultCode = ERROR + resultText returneras
Om bokningsförfrågan nått mottagaren, men ett fel uppstår på mottagarens sida, visas ett felmeddelande upp. Meddelande som visas är från MakeBooking-fältet resultText då resultCode = ERROR.
resultCode returneras ej
Om en bokningsförfrågan skickas, men ingen resultCode returneras, visas följande felmeddelande:
Bekräftelse i 1177 inkorg
En bekräftelse på bokningen skickas till invånarens inkorg på 1177 genom att använda tjänstekontraktet AddMessage.
AddMessage
Nedan informationsmappning visar hur 1177 skapar ett inkorgsmeddelande när en bokning har genomförts i e-tjänsterna.
Gränssnitt | Tjänstekontrakt AddMessage | Kommentar |
---|---|---|
(Sista raden “Om du vill av- eller omboka tiden, gå till Testvårdcentral A“, är en bug och ska tas bort) | Begäran |
|
subjectOfCareId | Invånarens personnummer | |
threadId | Meddelandets tråd-id. Utgörs av hsaId+bookingId. | |
threadTitle | Trådtitel sätts alltid till “Tidbokning“. | |
threadLabel | Skickas ej | |
message |
| |
message.title | Meddelandets titel | |
message.text | Meddelandets text i DocBook-format. Här visas: Dag och tid: startTimeInclusive (samt eventuellt endTimeInclusive) Mottagning: namnet kommer från e-tjänsterna Bokningen avser: timeTypeName Anledning till bokning: reason Information: resultText i de fall resultCode=INFO. Information från vården: purpose | |
message.organisationUnit |
| |
message. organisationUnit.unitId | hsaId | |
message. organisationUnit.unitName | Mottagningsnamn | |
message.serviceLink | Skickas ej | |
message.serviceLink.serviceId | Skickas ej | |
message.serviceLink.queryString | Skickas ej | |
message.serviceLink. hasAttachment | Skickas ej | |
message.actions | En action skickas bara om mottagningen har tjänsten VISATID utdelad på sig. | |
message.actions.queryString | queryString innehåller hsaid+dynamicId. Används för att skapa en knapp till bokade tider på mottagningen. | |
message.actions.text | Text som visas på knappen i bokningsbekräftelsen. Tidboken sätter alltid texten till “Till bokningen“. | |
message.actions.serviceId | Tidboken skickar serviceTypeCode VISATID. | |
message.actions.displayType | Tidboken skickar displayType BUTTON | |
notify | Skickas som false | |
queueForDays | Skickas ej | |
approve | Skickas som false | |
accountableOrganisation | Tidboken skickar 1177 e-tjänsters hsaId. | |
| Svar |
|
threadId | Meddelandets tråd-id. | |
resultCode | Status för AddMessage-anropet. OK, INFO, ERROR. | |
resultText | Ev. meddelande kopplat till resultatkoden. Vid resultCode INFO visas meddelandet upp i bokningsbekräftelsen. |
Välja bort att bekräftelse skickas från 1177 vid bokning
Det är möjligt att per tidbokningstjänst välja bort att 1177 skickar en bekräftelse på bokningen till invånarens inkorg. Syftet med funktionen är att regionerna ska ha möjlighet att välja att bekräftelsen i stället skickas direkt från verksamhetssystemen till invånarens inkorg på 1177. Inställningen görs av regional administratör i 1177 personalverktyg.