Nybokning, boka tid

Den här sidan har flyttats till https://inera.atlassian.net/wiki/spaces/OITB/pages/3580985539 . Denna sida uppdateras inte längre och kommer att tas bort den 15 maj 2024. Om du har lagt till sidan som en favorit i webbläsaren eller i Confluence, se till att byta ut den till den rätta länken https://inera.atlassian.net/wiki/spaces/OITB/pages/3580985539. Om du har blivit länkad hit, rapportera gärna till e-tjänsternas support var länken finns så att nationella förvaltningen kan kontakta sidans ägare. Här kan du kontakta supporten: https://etjanster.inera.se/oversikt/flow/4221

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.

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

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. Här finns en manual för hur den lokala administratören redigerar villkorstexten: och är finns manualen för hur den regionala administratören skapar och redigerar villkorstext: .

Gränssnitt

Admin

Kommentar

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.

Gränssnitt

Tjänstekontrakt GetAllTimeTypes

Kommentar

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

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

  • förnamn + efternamn

  • förnamn + efternamn + titel

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

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

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.

  • “Information från vården” visas alltid som rubrik i gränssnittet om information skickas i fältet.

  • Om text skickas enligt DocBook-format kan en eller flera underrubriker definieras av verksamheten och visas i detta fält. Här finns en sida som visar på skillnader i e-tjänsternas stöd för DocBook i inkorgen och i tidboken:

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

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.

  • “Information från vården” visas alltid som rubrik i gränssnittet om information skickas i fältet.

  • Om text skickas enligt DocBook-format kan en eller flera underrubriker definieras av verksamheten och visas i detta fält. Här finns en sida som visar på skillnader i e-tjänsternas stöd för DocBook i inkorgen och i tidboken:

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

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

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.