演題投稿フォーム 構築ガイド

Googleフォーム方式・所要時間5分 / endai-system 投稿規定準拠

全体フロー

投稿者 ↓ Googleフォームで入力 Googleスプレッドシート(自動保存) ↓ CSVダウンロード convert.py で形式変換 ↓ endai-system に投入 ↓ 抄録集PDF 生成

フォーム作成手順

1Google Apps Script を開く

https://script.google.com/ にアクセスし、「新しいプロジェクト」をクリック。

2スクリプトを貼り付け

ローカルの ~/work/abstract-form-google/create-form.gs の中身を全選択してコピーし、エディタに貼り付けます(既存の myFunction は削除)。

冒頭の CONFIG オブジェクトを学会情報に合わせて編集してください(学会名・締切・カテゴリ・文字数上限)。
3スクリプトを実行
  1. 上部の関数プルダウンで createAbstractForm を選択
  2. 実行 ボタンを押す
  3. 初回は権限承認ダイアログが表示されます
権限承認の流れ:
Googleアカウントを選択 → 「詳細」をクリック → 「安全でないページに移動」→「許可」
4フォームURLを取得

実行ログ(画面下部のコンソール)に以下が表示されます。

  • 回答用URL — 投稿者に配布するリンク
  • 編集用URL — 管理者がフォームを編集するリンク
これで31項目のフォーム本体が完成しています。
5回答先スプレッドシートを作成
  1. 編集用URLを開く
  2. 「回答」タブをクリック
  3. 右上のスプレッドシートアイコン → 「新しいスプレッドシートを作成」

以降、投稿された回答はこのスプレッドシートに自動蓄積されます。

6受領確認メールの設定

フォーム編集画面 → 右上の歯車(設定) → 「回答」タブ → 「回答のコピーを回答者に送信」を「常に」 に変更。

これで投稿者に自動で受領確認メールが届きます。

7締切運用を決める

Googleフォームには締切自動機能がないため、以下のいずれかを選択:

  • 手動:締切時刻に「回答を受付中」をOFFにする
  • 自動:アドオン formLimiter をインストール(日時指定で自動クローズ)

生成されるフォーム構成

ページセクション主な項目
1基本情報演題名(100字)/ カテゴリ / 発表形式 / 演題種別
2所属機関最大5機関
3著者筆頭演者 + 共著者最大9名(「山田 太郎(所属1)」形式)
4抄録本文はじめに / 方法 / 結果 / 症例紹介 / 経過 / 考察 / 結論 / キーワード(各1000字)
5倫理・COI倫理審査承認番号 / COI有無 / COI詳細
一般演題の場合は「はじめに/方法/結果/考察」、症例報告の場合は「はじめに/症例紹介/経過/考察」を使用する運用です。該当しないセクションは投稿者が空欄で送信します。

締切後のデータ処理

1. スプレッドシートをCSVエクスポート

回答スプレッドシート → ファイル → ダウンロード → カンマ区切り形式 (.csv)

2. 変換スクリプトを実行

cd ~/work/abstract-form-google
py convert.py responses.csv abstracts.csv

Googleフォームの列を endai-system の abstracts テーブル形式に変換します。

3. 変換結果の確認ポイント

  • abstract_type — 「一般演題」→ general、「症例報告」→ case_report
  • coi_disclosure — 「あり」→ true、「なし」→ false
  • keywords — PostgreSQL配列リテラル形式(例:{"脳卒中","歩行"}
  • authors_json — 著者をJSON配列化、筆頭のみ is_presenter: true
  • affiliations_json — 空欄はスキップ、番号振り直し

4. endai-system に投入

変換済みCSVを endai-system 側で import します。投入時に以下を別途付与:

  • conference_id — 対象の学会ID
  • submitter_id — 投稿者プロフィールID(ダミーユーザで可)
  • category_id / format_id — 名前からIDに解決

販売時のカスタマイズポイント

項目編集場所
学会名CONFIG.conferenceName
締切日時CONFIG.deadline
採否通知予定CONFIG.resultDate
カテゴリCONFIG.categories(配列)
発表形式CONFIG.formats(配列)
文字数上限maxTitleChars / maxSectionChars
著者数・所属数上限maxAuthors / maxAffiliations
顧客ごとに CONFIG だけ書き換えて再実行すれば、別学会用のフォームが生成できます。フォーム本体を顧客のGoogleアカウントで作れば、引き渡しも自由自在です。

関連ファイル

ファイル役割
create-form.gsGoogleフォーム自動生成スクリプト
form-items.md手動作成時のチェックシート
convert.py回答CSV → endai-system形式 変換
sample-responses.csv動作確認用サンプル(2件)
README.mdプロジェクト全体説明

配置先:C:\Users\kawag\work\abstract-form-google\