Wymóg
Pozwól pacjentom umawiać się na wizyty u swoich lekarzy.
Przypadek użycia
Klinika chce zdigitalizować swój system rezerwacji. Istnieje wielu specjalistów i różne daty/godziny spotkań. Każda wizyta trwa 30 minut. Istnieją dwa formularze: formularz lekarza, aby dodać szczegóły specjalizacji i dostępności lekarzy, którzy odwiedzają, oraz formularz wizyty, aby umówić się na wizytę.
Kroki do naśladowania
1. Utwórz formularze z następującymi szczegółami:
Formularz | Nazwa łącza formularza | Typ pola | Nazwa pola | Nazwa łącza pola |
Lekarz | Lekarz | Nazwa | Imię i nazwisko lekarza | Lekarz_Imię |
Lista rozwijana | Specjalizacja | Specjalizacja |
Czas | Z | Z |
Czas | Do | Do |
Wizyta | Wizyta | Nazwa | Imię pacjenta | Imię pacjenta |
Telefon | Telefon | Numer telefonu |
Wyszukiwanie (lekarz) | Imię i nazwisko lekarza | Lekarz_Imię |
Lista rozwijana | Data wizyty | Data wizyty |
Lista rozwijana | Termin spotkania | Termin spotkania |
Dodaj kilka specjalizacji do opcji Specjalizacja -> (Ogólne, Ginekologia, Położnictwo, Neonatologia, Pediatria, Dermatologia, Okulistyka, Kardiologia, Pulmonologia).
2. Wstaw kilka rekordów do formularza lekarza.
3. Stwórzmy teraz przepływ pracy, aby wypełnić daty w polu Data wizyty w formularzu Spotkanie. Pacjent może umawiać się na wizyty na najbliższe pięć dni. Stworzymy workflow do wykonania podczas ładowania formularza Spotkanie.
4. Kliknij Dodaj nową akcję i dodaj poniższy kod w edytorze Deluge:
//Rezerwacja od następnego dnia
startDate = zoho.currentdate.addDay(1);
//Zezwalaj na rezerwację na następne 5 dni
endDate = startDate.addDay(4);
//Przejrzyj daty i dodaj je do pola rozwijanego Data spotkania. Potrzebujemy następnych pięciu randek. Stąd dodanie 5 elementów do listy. Aby dodać więcej dat, zaznacz Punkty do odnotowania.
list = {1,2,3,4,5};
for each index l in list
{
input.Date_of_Appointment:ui.add(startDate.toString());
//zaktualizuj datę początkową, aby uzyskać następną datę
startDate = startDate.addDay(1);
}
5. W ten sam sposób, po wybraniu Daty Wizyty, okienka dostępne w tych dniach dla wybranego lekarza powinny zostać wypełnione w polu Termin wizyty.
6. Kliknij Dodaj nową akcję i dodaj poniższy kod w edytorze Deluge:
//Zabierz dane wybranego lekarza
doctor = Doctor[ID == input.Doctor_Name];
//Uzyskiwanie godzin odwiedzin wybranego lekarza
from = doctor.From;
to = doctor.To;
//Pobieranie godzin
diff = from.hoursBetween(to);
selectedSlots = List();
//Aby otrzymać już wybrane sloty dla wybranego lekarza w wybranym terminie
for each d in Appointment[Doctor == input.Doctor_Name && Date_of_Appointment == input.Date_of_Appointment]
{
selectedSlots.add(d.Appointment_Slot);
}
//Pomnożyć liczbę godzin przez 2, ponieważ każda wizyta ma trwać 30 minut
//Dopełniamy diff * 2 liczbę spacji do 1, a następnie zmieniamy spacje na 1. Pomoże nam to teraz dodać diff * 2 liczbę spacji, z których pacjent może wybrać.
//Używamy poniższej listy do kontrolowania liczby iteracji w następującej pętli.
list = leftpad("1",diff * 2).replaceAll(" ","1,").toList();
for each index a in list
{
//Dodaj gniazdo tylko wtedy, gdy nie zostało jeszcze wybrane przez innego pacjenta
if(!selectedSlots.contains(from.toString()))
{
input.Appointment_Slot:ui.add(from);
}
//Znajdź następny przedział, dodając 30 minut.
from = from.addMinutes(30);
}
Zobacz jak to działa
Punkty do zapamiętania
startDate = zoho.currentdate.addDay(1);
//Zezwalaj na rezerwację na następne 30 dni
endDate = startDate.addDay(30);
list = leftpad("1",30).replaceAll(" ","1,").toList();