まゆクリニック予約システム


■ 機能
ネットで予約を受けるときに使用します。お医者さんが一人で診察しているような小さなクリニック用です。患者に予約日時や症状などを選択させて予約を受け、確認メールを送ります。同時にクリニックの担当者にも通知メールを送ります。クリニックの担当者が電話予約を簡単に入力する機能もあり、ホームページ上ですべての予約状況を確認できます。予約の時間間隔は5分、10分、15分、20分、30分、60分の6種類の設定が可能です。さらに各予約枠の最大予約件数の設定も可能です。管理ページでは、予約データや患者データの表示と削除、臨時休診日(夏休みや年末年始の休みなど)の設定、本日を過ぎた予約データと患者データの削除が行えます。(※ご利用前に「利用規約」をご確認ください)

■ サンプル
いろいろご自由に試してみてください。サンプルはShift_JIS版です。各予約枠の最大予約件数は1件に設定してあります。ただしデータファイルの更新やメールの送信はできないようにしています。診察開始または終了時間の30分指定(サンプルは)をご希望の方は、差し替えスクリプト(無料)をお分けしますので、よりお申し込みください。
「まゆクリニック」予約ページ

―――――
「まゆクリニック」管理ページ








■ ダウンロード
以下をダウンロードした後、圧縮・解凍ソフトで解凍してください。
(Shift_JIS版) (71KB)
(UTF-8版) (82KB)

■ 同梱ファイル
全部で28個あります。以下はその簡単な説明です。

(説明ファイル)
readme.htm - 利用方法を説明したファイル

(初期設定ファイル)
init.cgi - 初期パラメータを設定するためのファイル

(予約ページに関するもの)
tbl_view.cgi - 予約テーブルを表示するCGIスクリプトファイル
res_input.cgi - 予約ページの入力画面を表示するCGIスクリプトファイル
res_conf.cgi - 予約内容を確認表示するCGIスクリプトファイル
res_exec.cgi - 予約データをファイルに書き込んで確認メールを送付するCGIスクリプトファイル
res_check.js - 予約ページの入力チェックを行うJavaScript外部ファイル
jcode.pl - 漢字コード変換ライブラリ(メール送信時に使用)
mimew.pl - MIMEエンコードライブラリ(メール送信時に使用)
※jcode.pl は、歌代和正さんが開発、配布されている漢字コード変換ライブラリ
※mimew.plは、生田昇さんが開発、配布されているMIMEエンコードライブラリ

(管理ページに関するもの)
holi_view.cgi - 特別休診日の設定画面を表示するCGIスクリプトファイル
holi_ment.cgi - 特別休診日を設定するCGIスクリプトファイル
yoyaku_view.cgi - 予約データを表示するCGIスクリプトファイル
yoyaku_del.cgi - 予約データを個別に指定して削除するCGIスクリプトファイル
yoyaku_sort.cgi - 予約データを予約日時順に表示するCGIスクリプトファイル
patient_view.cgi - 患者データを表示するCGIスクリプトファイル
patient_del.cgi - 患者データを個別に指定して削除するCGIスクリプトファイル
delete.htm - 本日を過ぎた予約データと患者データの削除用ボタンを表示するHTMLファイル
past_del.cgi - 本日を過ぎた予約データと患者データを削除するCGIスクリプトファイル
ment_check.js - 管理ページの入力チェックを行うJavaScript外部ファイル

(ログファイル)
rec_num.cgi - 受付番号を格納するためのログファイル

(CSSファイル)
clinic.css - スタイルを指定するためのファイル

(画像ファイル)
maru.gif - 予約可能時に表示する画像
batsu.gif - 予約不可時に表示する画像
back.gif - BACKボタン
top.gif - TOPボタン
haikei.gif - システム背景画像
clinic.ico - ファビコン
※「さくらぽっぷ」でいただいた素材を加工し作成したものです

(ファイルロック処理で使用)
lockfile - ロック状態を判断するためのファイル

■ 注意事項
1. 管理ページはアクセス制御(IDとパスワードがなければ入室できない)は使用していません。必要であれば、KENT-WEBWeb Protectなどを設置した上で、「まゆクリニック予約システム」を設置してください。

2. 患者が予約を確定したとき、患者には確認メールが、クリニックの担当者にも通知メールが送付されるので、パソコンのメールソフトを常に立ち上げた状態にしておいてください。患者の予約にすばやく対応するために、メールチェックの間隔はできるだけ短く設定しておくのが望ましいです。またメールが届いたら音が鳴る設定にもしておいてください。パソコンのボリュームも上げておくといいでしょう。

3. このシステムは、sendmailコマンドを利用してメールの送信をしているので、メールソフトやウェブメールによっては、迷惑メールと判定される場合がありますのでご注意ください。患者にはそのことを目立つように表示しておくほうがいいかもしれません。クリニックの側でも、通知メールが迷惑メールに振り分けられるようでしたら、通知メールをホワイトリストに入れておいてください。

4. 運用を始めてから、予約の時間間隔や各予約枠の最大予約件数を変更しないでください。予約データを正しく参照できなくなります。やむを得ず、予約の時間間隔や各予約枠の最大予約件数を変更したい場合は、システムをリセットすることをお勧めします。予約データファイル(reserve.cgi)と患者データファイル(patient.cgi)をダウンロードして保存後、予約データファイルと患者データファイルを削除しておいてください(ファイルを削除しても、新たに予約があると、ファイルは自動で作成されます)。受付番号のリセットについては、6.を参照してください。

5. 予約データ、患者データは、カンマで区切られたテキストファイルになっています。これらのデータをExcelやAccessなどに取り込む場合は、ファイルをダウンロードしたあと、ファイルの拡張子(ドットより右の"cgi")を"txt"に変えて、テキストデータとして取り込んでください。

6. 受付番号をリセットまたは任意の番号にしたいときは、受付番号格納ファイル(rec_num.cgi)の数字を書き換えてアップロードしてください。例をあげると、0に書き換えてアップロードすると、その後最初に予約があれば、その受付番号は1になります。10に書き換えてアップロードすると、11からスタートになります。また受付番号を減らすことは、予約データをリセット(予約データと患者データをすべて削除)するとき以外は避けてください。同じ受付番号の予約データと患者データが複数存在することになり、システムが誤動作を起こします。

7. 電話予約があったとき、その予約をこのシステムに反映させるには、予約ページの入力画面で、クリニックのメールアドレスを入力して、予約の操作を行ってください。すると患者に送られる確認メールとクリニックの担当者に送られる通知メールは届かなくできます。また備考に入力しなくても、自動的に患者データの備考に「Tel予約」と入ります。もし備考欄に何か入力したときは、「Tel予約」の文字列のあとに半角スペースをはさんで、入力した文字列が書き込まれます。

8. 予約入力画面の、名前、診察券番号、メールアドレスの各フィールドは、Cookieを使用しているので、一度予約すると次回からは再表示され、入力の手間が省けます。

9. 受付番号が同じ予約データと患者データのうち、患者データを先に削除すると、予約データの申込者の欄にErrorと表示されるのは、患者データテーブルから申込者のデータを取り込んで表示しているためです。

10. 休診日の管理ページで設定できる日は、予約受付期間の最後の日の翌日からになります。これは予約が入っているのに、誤って休診日に設定しないためです。予約受付期間に入ると、休診日に設定できないのでご注意ください。どうしても予約受付期間に入った日を休診日にしたい場合は、休診日設定ファイル(holiday.cgi)に、休診日にしたい日を直接書き込んで、所定の場所にバイナリモードでアップロードしてください。たとえば、2015年11月5日を休業日にしたい場合は、「20151105」の文字列と「Enter」キー(\r\n、すなわち、16進の0Dと0A)を一番最後に追加してください。

■ 設置方法
1. init.cgi(初期パラメータ設定ファイル)を、メモ帳などのテキストエディタで開き、必要な場合は、★印と☆印の項目を説明に従って変更してください。

2. 各CGIの1行目のパス名も、必要な場合は変更してください。

3. まず、lockfile以外の26個のファイルをサーバーに転送してください。
ファイル パーミッション
init.cgi 変更不要
tbl_view.cgi 755
res_input.cgi 755
res_conf.cgi 755
res_exec.cgi 755
res_check.js 変更不要
jcode.pl 変更不要
mimew.pl 変更不要
holi_view.cgi 755
holi_ment.cgi 755
yoyaku_view.cgi 755
yoyaku_del.cgi 755
yoyaku_sort.cgi 755
ファイル パーミッション
patient_view.cgi 755
patient_del.cgi 755
delete.htm 変更不要
past_del.cgi 755
ment_check.js 変更不要
rec_num.cgi 変更不要
clinic.css 変更不要
clinic.ico 変更不要
maru.gif 変更不要
batsu.gif 変更不要
haikei.gif 変更不要
back.gif 変更不要
top.gif 変更不要

4. 次に、3.でファイル転送したディレクトリの下に、lockdir という名前のディレクトリを作り、そこに lockfile という名前のファイルを転送してください。
ディレクトリ パーミッション
lockdir 変更不要
ファイル パーミッション
lockfile 変更不要

5. さらにルートに、mydb7 という名前のディレクトリを作ります。
ディレクトリ パーミッション
mydb7 変更不要

<ディレクトリ構成例>

public_html
  |
  +--xxxxx.htm [644] 予約用トップページ(配布していません)
  +--xxxxx.htm [644] 管理用トップページ(配布していません)
  |
  +--mydb7
  |   |
  |   +--holiday.cgi [644] 休診日設定ファイル(自動作成)
  |   +--reserve.cgi [644] 予約データファイル(自動作成)
  |   +--patient.cgi [644] 患者データファイル(自動作成)
  |
  +--cgi--clinic
         |
         +--init.cgi [644] 初期パラメータ設定ファイル
         |
         +--tbl_view.cgi [755] CGIスクリプトファイル
         +--res_input.cgi [755] CGIスクリプトファイル
         +--res_conf.cgi [755] CGIスクリプトファイル
         +--res_exec.cgi [755] CGIスクリプトファイル
         +--res_check.js [644] JavaScript外部ファイル
         +--jcode.pl [644] 漢字コード変換ライブラリ
         +--mimew.pl [644] MIMEエンコードライブラリ
         |
         +--holi_view.cgi [755] CGIスクリプトファイル
         +--holi_ment.cgi [755] CGIスクリプトファイル
         +--yoyaku_view.cgi [755] CGIスクリプトファイル
         +--yoyaku_del.cgi [755] CGIスクリプトファイル
         +--yoyaku_sort.cgi [755] CGIスクリプトファイル
         +--patient_view.cgi [755] CGIスクリプトファイル
         +--patient_del.cgi [755] CGIスクリプトファイル
         +--delete.htm [644] HTMLファイル
         +--past_del.cgi [755] CGIスクリプトファイル
         +--ment_check.js [644] JavaScript外部ファイル
         │
         +--rec_num.cgi [644] ログファイル
         │
         +--clinic.css [644] CSSファイル
         │
         +--clinic.ico [644] ファビコン
         +--maru.gif [644] 予約可能時の画像
         +--batsu.gif [644] 予約不可時の画像
         +--haikei.gif [644] システム背景画像
         +--back.gif [644] BACKボタン
         +--top.gif [644] TOPボタン
         │
         +--lockdir [755] ファイルロック用ディレクトリ
             |
             +--lockfile [644] ロック状態を判断するためのファイル

6. 予約用トップページと管理用トップページを、それぞれ別々のページに設置してください。

予約用トップページから呼び出すファイル
機能 呼び出すファイル 上の構成例でのファイルパス
予約ページ tbl_view.cgi cgi/clinic/tbl_view.cgi

管理用トップページから呼び出すファイル
機能 呼び出すファイル 上の構成例でのファイルパス
休診日の管理 holi_view.cgi cgi/clinic/holi_view.cgi
予約データと患者データの削除 delete.htm cgi/clinic/delete.htm
予約データの管理 yoyaku_view.cgi cgi/clinic/yoyaku_view.cgi
患者データの管理 patient_view.cgi cgi/clinic/patient_view.cgi

■ 更新履歴
・Ver1.4 - 予約の時間間隔に60分を追加し各予約枠の最大予約件数を設定可能にする(2019/06/06)
・Ver1.3 - フォームのデザインを変更してスマホに対応させる(2018/03/25)
・Ver1.2 - HTMLを書き出す部分にMETAタグによるビューポート設定を追加(2017/09/25)
・Ver1.1 - 書き出すHTMLの1行目に文書型宣言を追加(2016/05/16)
・Ver1.0 - 新規作成(2015/10/30)


BACK