Jedna wizyta, dwa systemy: jak ograniczyć podwójne zapisy
Dwa widoki tego samego terminu to wygoda tylko wtedy, gdy wiadomo, który zapis rozstrzyga i jak obsłużyć brak potwierdzenia.
Pacjent prosi o termin przez formularz. Recepcja widzi go w systemie rezerwacji, ale lekarz sprawdza grafik w systemie klinicznym. Jeśli oba widoki pozwalają przyjąć zapis, ten sam slot może zostać zajęty dwa razy albo pozostać niepewny po błędzie.
Rozwiązanie zaczyna się od podziału ról. Jeden system rozstrzyga, czy termin jest dostępny. Drugi może zbierać prośbę, pokazywać informacje lub przekazywać dane, ale nie powinien ogłaszać potwierdzenia przed odpowiedzią systemu źródłowego.
Ustal trzy statusy procesu
Zamiast sprowadzać wszystko do „jest w kalendarzu / nie ma”, rozróżnij:
Prośba przyjęta — pacjent podał preferencje, ale termin nie jest jeszcze potwierdzony.
Zapis w toku — system przekazuje żądanie i oczekuje na odpowiedź. Recepcja nie ponawia czynności bez sprawdzenia.
Potwierdzona wizyta — wpis pojawił się w systemie, który gabinet uznał za źródło prawdy, i można go odnaleźć.
Ten podział jest przydatny także w rozmowie telefonicznej. „Sprawdzę termin i potwierdzę” jest uczciwsze niż „jest pani zapisana”, gdy potwierdzenie jeszcze nie wróciło.
Narysuj trasę pojedynczej rezerwacji
Weź kartkę i rozpisz jedną wizytę krok po kroku: skąd przychodzi prośba, kto sprawdza slot, gdzie powstaje wpis, jaki sygnał oznacza powodzenie i gdzie recepcja sprawdza wynik. Oznacz strzałką system, który ma prawo odmówić terminu, gdy ktoś zdążył go zająć.
Następnie dopisz, co dzieje się w tych sytuacjach:
- odpowiedź przychodzi po kilku sekundach;
- użytkownik zamknął okno przed otrzymaniem wyniku;
- system źródłowy odrzucił termin;
- druga osoba w gabinecie ręcznie zmieniła grafik;
- ta sama prośba dotarła ponownie.
Jeśli nie wiadomo, czy po zamknięciu okna zapis powstał, proces powinien przewidywać sprawdzenie stanu, a nie natychmiastowe ponowienie.
Traktuj ponowienie jako osobną decyzję
Standard HTTP rozróżnia metody, których zamierzony efekt można bezpiecznie powtórzyć, od takich, których ponowienie może utworzyć kolejny zasób. RFC 9110 wskazuje, że klient nie powinien automatycznie ponawiać żądania o nieidempotentnym działaniu, jeśli nie ma sposobu ustalenia, czy pierwsze żądanie zostało wykonane. RFC 9110, sekcja 9.2.2
W praktyce gabinetowej oznacza to prosty nawyk: przy niejasnym potwierdzeniu najpierw wyszukaj wizytę po uzgodnionym identyfikatorze lub danych kontaktowych. Dopiero po sprawdzeniu zdecyduj, czy należy ponowić operację. Sam fakt, że ekran pokazał błąd, nie dowodzi, że zapis się nie wydarzył.
Nie zakładaj, że każde API obsługuje klucz idempotencji ani że konkretna metoda w IQ Dental ma określone zachowanie, dopóki nie potwierdzisz tego w dokumentacji i testach. Publiczna specyfikacja IQ Dental opisuje dostępne terminy i operacje związane z rezerwacją, ale integracja Bookito jest przygotowywana; warunki tokenu, sandboxu oraz konkretnego konta nie są potwierdzone. IQ Dental API v1
Ustal identyfikator wspólny dla zespołu
Wybierz sposób, w jaki recepcja odnajdzie ten sam przypadek w obu systemach. Może to być identyfikator rezerwacji, numer sprawy albo połączenie czasu i typu wizyty zgodnie z procedurą gabinetu. Nie twórz identyfikatora, który wymaga przepisywania pełnej historii pacjenta do kilku miejsc.
Zapisz w instrukcji, które pole jest widoczne dla recepcji, kto może go używać i co zrobić, gdy pole jest puste. Przy testach zbieraj wynik z obu widoków, lecz nie umieszczaj zbędnych danych pacjenta w arkuszu raportowym.
Sprawdź obieg na konkretnych przypadkach
Wykonaj test kontrolowany dla nowej wizyty, próby zajęcia tego samego slotu, zmiany terminu, anulowania oraz utraty odpowiedzi po zatwierdzeniu. Każdy przypadek ma mieć oczekiwany stan końcowy i osobę, która potwierdziła wynik.
Jeśli test kończy się dwoma aktywnymi wpisami, zatrzymaj rozszerzanie zakresu i ustal, który system tworzy drugi rekord. Jeśli jeden wpis jest w innym stanie niż drugi, opisz regułę uzgadniania. Nie przedstawiaj gotowego przepływu, dopóki zespół nie potrafi rozstrzygnąć prób bez zgadywania.
Jedna wizyta może mieć kilka ekranów. Powinna jednak mieć jeden uzgodniony moment, w którym recepcja może powiedzieć pacjentowi, że termin jest potwierdzony.
Źródła
Jeśli chcesz omówić taki obieg w swoim gabinecie, skontaktuj się z Bookito.