見出し画像

新型コロナワクチンWeb予約抽選申込フォームについて

1 はじめに

加古川市が5月13日より開始した新型コロナワクチンWeb予約抽選申込フォーム(以下「抽選申込フォーム」)に関し、多くの関心・問い合わせが寄せられましたので整理するものです。

加古川市オープンデータカタログサイトには、フォームと受け皿となるアプリを掲載していますので、実際にどのように抽選を行っているかについて、こちらのページにおいて説明したいと思います。

単なるロジックの整理となりますので、あらかじめご了承いただいた上でお読みください。


2 ワクチン予約オペレーションとは

2月中旬から医療従事者をはじめとする新型コロナウイルスワクチン接種が開始され、3月ごろから65歳以上の高齢者を対象としたワクチン接種が開始されるにあたり、接種券を配布された高齢者に対するワクチン予約が各自治体において開始されました。

ワクチンの需給バランスが整っていない中、少ないワクチンを無駄なく接種するための方策として、ワクチン接種予約の考え方が自然と先着方式となっていったような気がします。

当然のことながら、自治体はそういった需給バランスが合っていないものに対するオペレーションは今まで体験していなかったはずですので、アクセス数の増大によるトラブルなどが発生しています。


3 抽選方式導入の背景

本市においても、第1回目の予約を4月17日、第2回目の予約を5月1日に先着順でワクチン予約をWebとコールセンターにおいて実施しました。

当然のことながら、Webにはアクセスが集中しサーバに対し、考えられないぐらいの負荷がかかり、コールセンターには予約を取りたい方、アクセス集中したWebシステムへの苦情など様々な声が寄せられました。

先着順であればWeb予約だけでもスムーズに実施できるのかもしれませんが、コールセンターでは丁寧に説明しながらのオペレーションとなりますのでどうしても時間がかかってしまいます。そうしますと、圧倒的にWeb有利となり不公平感が出てくる可能性があります。

そういった背景の中、5月4日にGoogleフォームにて抽選申込フォームのプロトタイプを、5月5日に現在の形のWebフォームを作成し、5月13日から運用を開始しました。

5月17日まで申込みを受付け5月18日に抽選を実施し、抽選の様子は、NHKニュースにも放映されました。


4 抽選フォームの概要

(1)確認事項など

スクリーンショット 2021-05-21 20.33.09

抽選申込フォームの最初には、注意事項などを記述し、読んでいただき同意いただける方にチェック欄を設け、次に進む形を取っています。


(2)接種券情報の入力

スクリーンショット 2021-05-21 20.33.22

市より送付した接種券の券番号を2回入力し、連絡用としての電話番号の入力を求めています。


(3)本人の希望情報の入力

スクリーンショット 2021-05-21 20.33.43

「いずれの接種会場、曜日、時間区分でもよい」「希望する接種会場、曜日、時間区分がある」「予約抽選申込をキャンセルする」の選択式としています。

「希望する接種会場、曜日、時間区分がある」を選択した場合は、希望する接種会場、曜日、時間区分を選択できるようにしています。 

スクリーンショット 2021-05-21 20.33.52

接種会場について「希望する接種会場がある」を選択した場合、市内5箇所の集団接種会場のうち希望される接種会場を複数選択できるようにしています。

スクリーンショット 2021-05-21 20.34.03

接種曜日、時間区分について「希望する曜日、時間区分がある」を選択した場合、希望される曜日や時間帯(午前または午後)を選択できるようにしています。

スクリーンショット 2021-05-21 20.34.31


(4)同一の会場、曜日、時間区分を希望される親族等の入力

今回の抽選申込フォームにおける特徴として、「同一の会場、曜日、時間区分を希望される親族等はおられますか」と親族等について1名のみとなりますが、同じ条件での抽選申込を可能としています。

スクリーンショット 2021-05-22 21.54.26

「いる」を選択した場合、同一の会場、曜日、時間区分を希望される親族等の接種券の券番号を2回入力することで抽選申込を受け付けることができます。

スクリーンショット 2021-05-22 21.54.39

先着順では、接種希望者ご本人のみの予約をとることが精一杯となること、その一方で、親族等(特に配偶者)と別々の会場や別々の日に会場にお越しいただくよりも、一緒に接種を希望される方が多いと想定したためです。


(5)確認画面

一通りの入力が終了しましたら、確認画面へ推移し回答ボタンを押すことで予約抽選申込は完了となります。

スクリーンショット 2021-05-21 20.34.46


5 抽選の流れ

抽選申込フォームに登録されたデータは、以下のような流れで抽選されています。

一部Twitterなどでもつぶやかれてましたが、職場の環境で使えるデータベースソフトのMicrosoft Accessだけで処理をやっています。

スクリーンショット 2021-05-22 22.06.23

今回、サーバへの負荷対策として、抽選申込フォーム本体に認証はかけずに複数回の受付を可能としています。

これは、今回の抽選申込フォームでは、1回目の抽選から漏れた場合に、接種希望者に何度も申し込みをしていただく手間を省くこと、接種希望者がご自身の申込内容を変更したりすることを容易にすることを目的としています。

もちろん、抽選時においては、市からの接種券が発行されていない方については抽選対象外となるようにしています。


(1)接種券の券番号ごとに最新の受付データに一本化

前述した複数回の申込みに対して、接種券の券番号ごとに最新の受付データにすることで、すべての申込者に対して同一の抽選となるようにしています。複数回申込みを行ったからといって、当選確率はあがることはありません。

スクリーンショット 2021-05-22 22.26.01


(2)一本化された全データにランダムに順番を付与

一見複雑そうに見え、またブラックボックスのように思われがちな順番の付け方ですが、EXCELなどではお馴染みの「RAND関数」みたいなものでランダムに一度番号を割り振ったあと、順位をつけています。

スクリーンショット 2021-05-22 22.31.19

これですべてのデータに一意の順番が割り振られることとなります。


(3)希望会場・時間ごとに午前・午後の時間帯に分け、順番を付与

今回の抽選申込フォームでは、申込者からの希望は「接種会場」「時間区分」「曜日」の3種類を受け付けており、これを希望通りに割り振ることが必要となります。


スクリーンショット 2021-05-22 22.39.29

会場時間枠 = 接種会場 × 時間枠(午前・午後)

5月18日の抽選では、5つの集団接種会場 ✕ 時間枠(午前・午後の2つ)の合計10個のフィールドを作成し、そのフィールドに対して、申込者の希望に沿ったところに順番を入れています。

スクリーンショット 2021-05-22 22.56.44


(4)同一接種者情報を別テーブルで作成

親族等があるパターンにおいて、複数申請があった場合、その親族等にあたる方(以下「同一接種者」)が有利にならないために、同一接種者の情報を別テーブルに書き出しています。

書き出す際には、(3)で割り振った順位はそのままコピーし、順位の変更が発生しないようにしています。


(4’)接種券の券番号ごとに最新の受付データに一本化

ここは疑義が生じる箇所かもしれませんが、複数回申し込まれるケースにおいて、以下のような事象が発生します。

抽選申込フォームの冒頭に、以下の注意事項を書いていることから、

複数回申し込みを行った場合は、最後の申し込みの1件のみが抽選の対象となります。

常に最新のレコードを優先するというルールとしています。

スクリーンショット 2021-05-22 22.58.32


(5)同一接種者情報を接種者情報に追加後、全体で最新の受付データに一本化

別テーブルに書き出し、最新のレコードに一本化された同一接種者情報を元のテーブルに一本化し、もう一度最新のレコードに一本化しています。

スクリーンショット 2021-05-22 23.11.17

上記の例のように(4)での同一接種者情報を書き出し一本化したとした後に元のテーブルに一本化すると、Aさんのレコードが2本残ることとなってしまします。

そのため、再度一本化し、レコードをすべて最新の受付データに一本化する処理を行っています。(上記の例ではレコード番号3のAさんのみが残ることとなります)


(6)予約済者、接種済者などの対象外者のデータを削除し、会場・時間ごとに並べ換え、枠ごとに(2)の順番の上位から割り当て

最後の処理として、当選者の順位順に希望する会場に割り当てていきます。

スクリーンショット 2021-05-22 23.20.39

実際には、それぞれの会場では、午前・午後にそれぞれ7枠ありますので、順番の上位から割り振る形となっています。

スクリーンショット 2021-05-22 23.24.00


6 さいごに

こちらに掲載した内容は、何かを批判したいわけではありません。

全国のワクチン接種がスムーズに行われ、社会全体が一刻も早く回復することを望み、コロナ禍においてご苦労されている方々、ご尽力されている方々への一助になればと思い掲載するものです。

不都合などがありましたら、即座に公開停止することもありますのでご了承ください。

この記事が気に入ったらサポートをしてみませんか?