お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の
英語版を参照してください。
要件
患者が担当医との予約をオンラインで行えるようにします。
ユースケース
あるクリニックが、予約システムをデジタル化したいと考えています。 複数の専門医が在籍しており、予約可能な日付と時間帯もさまざまです。各予約は30分です。フォームは2つあり、1つは来院する医師の専門分野と対応可能時間を登録するためのDoctorフォーム、もう1つは予約を受け付けるためのAppointment フォームです。
手順
|
フォーム
|
フォームリンク名
|
項目タイプ
|
項目名
|
項目リンク名
|
|
Doctor
|
Doctor
|
名前
|
Doctor 名前
|
Doctor_Name
|
|
ドロップダウン
|
Specialization
|
Specialization
|
|
時間
|
From
|
From
|
|
時間
|
To
|
To
|
|
Appointment
|
Appointment
|
名前
|
Patient 名前
|
Patient_Name
|
|
電話番号
|
電話番号
|
Phone_Number
|
|
ルックアップ (Doctor)
|
Doctor 名前
|
Doctor_Name
|
|
ドロップダウン
|
日付 of Appointment
|
Date_of_Appointment
|
|
ドロップダウン
|
Appointment Slot
|
Appointment_Slot
|
Specialization の選択肢に、いくつか専門分野の項目を追加します -> (一般, Gynacology, Obstetrics, Neonatalogy, Pediatrics, Dermatology, Ophthalmology, Cardiology, Pulmonology).
2. Doctor フォームにいくつかデータを追加します。
3. 次に、 Appointment の日付 項目に日付を自動入力するワークフローを作成します。 Appointment フォームでは、患者は今後 5 日間の予約のみ行えるようにします。これを実現するため、 Appointment フォームの読み込み時に実行されるワークフローを作成します。
4. 新しいアクションを追加 をクリックし、以下のコードを Deluge エディターに追加します。
-
//翌日から予約を受け付ける
-
startDate = Zoho。currentdate。addDay(1);
-
-
//今後 5 日間の予約を許可する
-
endDate = startDate。addDay(4);
-
-
//日付をループ処理し、「Appointment の日付」のドロップダウン項目に追加する。必要なのは今後 5 日分のため、リストに 5 要素を追加している。さらに多くの日付を追加する場合は、「注意事項」を参照。
-
list = {1,2,3,4,5};
-
for each index l in list
-
{
-
input。Date_of_Appointment:ui。追加する(startDate。toString());
-
-
//次の日付を取得するために startDate を更新
-
startDate = startDate。addDay(1);
-
}
5. 同様に、 Appointment の日付 が選択されると、その日付において選択した医師が対応可能な時間枠を、 Appointment Slot 項目に自動入力する必要があります。
6. 新しいアクションを追加 をクリックし、以下のコードを Deluge エディターに追加します。
-
//選択した医師の詳細を取得
-
doctor = Doctor[ID == input。Doctor_Name];
-
-
//選択した医師の診察時間を取得
-
差出人 = doctor。差出人;
-
to = doctor。To;
-
-
//診察時間数を取得
-
diff = 差出人。hoursBetween(to);
-
selectedSlots = List();
-
-
//選択した医師・日付について、すでに予約済みの時間枠を取得
-
for each d in Appointment[Doctor == input。Doctor_Name && Date_of_Appointment == input。Date_of_Appointment]
-
{
-
selectedSlots。追加する(d。Appointment_Slot);
-
}
-
-
//各予約は 30 分と想定しているため、時間数に 2 を掛ける
-
//diff * 2 個分のスペースを 1 にパディングし、そのスペースを 1 に置き換えている。これにより、患者が選択できる diff * 2 個分の時間枠を From から追加できるようになる。
-
//以下のリストは、後続のループの反復回数を制御するために使用する。
-
list = leftpad('1',diff * 2).replaceAll(' ','1,').toList();
-
for each index a in list
-
{
-
-
//すでに他の患者により選択されている時間枠と同じでない場合のみ、時間枠を追加する
-
if(!selectedSlots。contains(差出人。toString()))
-
{
-
input。Appointment_Slot:ui。追加する(差出人);
-
}
-
-
//30 分を加算して次の時間枠を取得
-
差出人 = 差出人。addMinutes(30);
-
}
動作を確認する
注意事項
-
startDate = Zoho。currentdate。addDay(1);
-
-
//今後 30 日間の予約を許可する
-
endDate = startDate。addDay(30);
-
list = leftpad('1',30).replaceAll(' ','1,').toList();