Dr. Tim HackettのCRI計算Excelワークシート(松葉洋宗先生・小宮山典寛先生による日本語版)を臨床で使い込んだことが起点。気づけば個人備忘録として50枚超のExcelシートを運用していた。CRI計算・薬用量・栄養計算・体表面積など、臨床で繰り返し必要になる計算を手元に集積していった結果だった。
Pythonでの再現を試みたが学習コストの壁に当たり、AIとのバイブコーディングによる開発へ転換。「タダで使わせてもらった恩返し」としてOSS・無料公開を選択した。
開発を通じて確立したスタイルは、Claude・ChatGPT・Geminiを用途で使い分けるAIペアプログラミングだった。Claudeは構造分析と論理チェック、ChatGPTは検証と調整、Geminiは積極的な実装という役割分担が自然と定着していった。
Excelシートをそのままの発想でWebアプリ化。犬・猫の基本薬用量計算ロジック(体重 × 用量 ÷ 濃度)を実装した最初の形。Dr. Tim HackettのCRI計算ワークシートがベースになっている。
単一HTMLとして基本構造を確立。この時点でVetCalc PROの骨格が決まった。用量範囲・濃度のユーザー編集機能、localStorageを使ったデータバックアップ・インポート機能を実装。「Excelの代替」から「独立したWebツール」へ脱皮した段階。
注射薬・内服薬・外用薬の3モード切り替えUIを確立。動物種ごとに前回体重を記憶する機能、フォントサイズ・カードサイズの表示カスタマイズ機能を実装。
特定シチュエーションで用いる複数薬剤をグループ化し一括計算するプロトコルセット機能を追加。麻酔導入・CPR・ウサギ麻酔(BMK)等を収録。
エキゾチック動物(ウサギ・フェレット・モルモット・ハリネズミ・ハムスター)の用量データを追加し収録薬剤数211剤へ拡張。「アレルギー・皮膚科」カテゴリ新設と看護師向けNurseモードも追加。
注射と経口で異なる用量を持つ薬剤データのタブ切り替えに正式対応。
PMDAおよびNVALの公式添付文書への直リンク機能を追加。詳細画面のフルスクリーン化、カラーテーマ実装(10通り)、薬剤追加UIの刷新など、使い勝手を磨いた。
薬剤ID管理と検索機能を導入。薬剤データベース化への転換点。
単一HTMLの肥大化対策として外部ファイル参照形式への移行を一時検証。この時点では見送り。
115症状・11カテゴリの鑑別診断リスト(出典: JBVP 2017)を実装。
安静時RER・病態別DERの自動計算、ホームメイド食レシピの栄養素計算、市販療法食とのブレンド比率計算を実装。v5.5.0でBCSから理想体重を推定してRERを補正する機能を追加。Excelシートで長年手計算していた内容の移植。
Meehの式によるBSA(体表面積)計算と化学療法剤用量換算テーブルを統合。
計算モードタブを新設し、臨床で頻用する計算ツールを集中実装した時期。血漿浸透圧・K/P補正・輸液量計算・チョコレート中毒リスク判定を追加(v5.7〜v5.10)。v5.11では輸血/アルブミン計算を追加。Excelシートの移植がほぼ完了した。
目標PCV / ALB値から必要輸血量(mL)とアルブミン量(g)を算出する機能を追加。
薬剤データに商品名・略称などの別名(エイリアス)検索を対応。新規エントリ用領域をdrug_275〜315に確保。
独立していたCRI計算機能を本体モジュールとして統合。バッグ調製・投与速度計算・フェンタニル・プロポフォール等を強化。ガンマ計算など集中治療向け機能を追加。テンシロンテスト(エドロホニウム+アトロピン必要量算出)と点眼瓶投薬計算も加わり、Excelシートの移植が完了した。
ロイヤルカナン・ヒルズ・ペットラインなど計220製品のカロリー・保証分析値をデータベース化(VetCalc Diet拡充)。犬/猫フィルタと疾患カテゴリフィルタを実装した療法食パネルを追加。
MLK CRI・エピネフリンCRI・PPN(末梢静脈栄養)計算、慢性腸症スコア(CCECAI/CIBDAI)、妊娠診断(交配日からのエコー・X線診断可能日・分娩予定日算出)、年齢換算テーブルを追加。点眼瓶投薬計算(体重入力による各薬剤の滴数早見表)も実装。
ユリ(猫)・キシリトール(犬)・ぶどうなど8物質を追加し計25物質へ拡充。アコーディオン式UIで催吐・胃洗浄等の処置可否をアイコン表示に変更。
1回量・処方日数から総錠数を逆算する機能を追加(μg錠対応)。
ファイルサイズ約912KB・約23,000行に達し、単一HTML版としての最終構成とした。次バージョンより分離アーキテクチャへ移行することを決定。
GitHub Pagesでの公開を目的として、単一HTMLからUI(HTML/JS)+薬剤データ(JSON)の分離構造へアーキテクチャを移行。この時点でリポジトリが作成され、以降の開発履歴はGitの記録に引き継がれる。PWA対応によりホーム画面追加でネイティブアプリのように起動・オフライン動作を実現。AI検索最適化(GEO対策)としてJSON-LD・llms.txt・about.htmlを追加。
公開後まもなく、App Store知的財産権申立て案件を経験。これを契機としてCHANGELOG整備・Git履歴保存・設計思想の文書化を継続する運用へ移行した。
リポジトリ作成以降の変更はGitの記録に引き継がれる。以下はService Workerのキャッシュバージョン(CACHE_NAME)を実質的なリリースノートとして記録したもの。
| CACHE | 日付 | 内容 |
|---|---|---|
| v1 | 2026-05-30 | 単一HTMLから分離アーキテクチャへの移行初期 |
| v2 | 2026-05-31 | PWA対応・ホーム画面追加・オフライン動作・初回免責同意画面の実装 |
| v3 | 2026-06-06 | Safe Area(ノッチ)対応。PWAフルスクリーン化でiPhoneのノッチに❌ボタンが隠れる問題を解消 |
| v4 | 2026-06-06 | チュートリアル・READMEにOS別「ホーム画面追加方法」とキャッシュクリア案内を追記 |
| v5 | 2026-06-06 | 誤操作リスクが高かった「全データをリセット」ボタンを管理メニューから削除 |
| v6〜v8 | 2026-06-06 | チュートリアルをヒントカードに置き換えようとして沼にはまり、「免責同意のみ」のシンプル構成へ回帰(v8で安定) |
| v9 | 2026-06-07 | プロトコル(犬・猫の鎮静)を追加。体重入力を必ず挟む安全設計に変更 |
| v10 | 2026-06-07 | vimスワップファイル等によるGit混乱状態からコードを復元。強制キャッシュ更新のためにバンプ |
| v11〜v12 | 2026-06-08 | 34件に及ぶ「注射・内服の完全分割」やsourceフィールド修正など、DBの構造的負債を一掃 |
| v13 | 2026-06-11 | SW更新通知のバグ修正・「このブラウザのみに保存されます」警告トーストを追加 |
| v14〜v17 | 2026-06-11 | 錠剤分割画面のラベルフォントサイズを15px→22pxへ段階的に拡大 |
| v18〜v19 | 2026-06-11 | 体重入力のkg/g表示スパンをラベル内に移動、ボタンが画面端で切れる問題を修正 |
| v20〜v21 | 2026-06-11 | Nurseモードの「±」ボタンサイズを固定し表示崩れを防止 |
| v22 | 2026-06-11 | EOD(隔日投与)等の錠剤計算バグ修正。parseInt→parseFloatに変更し小数対応。臨床的に重要なロジック修正 |
| v23〜v24 | 2026-06-15 | 年齢換算UI改善・プロトコル動物種紐付け。Qiita記事執筆期と重なりドキュメント整理中心 |
| v25 | 2026-06-23 | 計算カードの並び替えをドラッグ&ドロップ操作に変更 |
| v26 | 2026-06-25 | スマホ狭画面での内服薬モーダル2段組対応 |
| v27 | 2026-06-26 | 初回インストール時にcontrollerがnullになる問題を修正し、SW更新判定を即時化 |
| v28 | 2026-06-27 | 計算カードUIの全面刷新(2列固定グリッド化・アイコン横並び)。既存ユーザーへ強制反映 |
| v29 | 2026-07-09 | FAQ・AboutページのSEO強化。フッターからの導線追加、FAQ構造化データ(JSON-LD)追加 |
| v30 | 2026-07-10 | フッターに開発記録・GitHub・Licenseリンクを追加 |
| v31〜32 | 2026-07-13 | フッターver-tag重複削除 |
| v33 | 2026-07-14 | 慢性腸症スコア 免疫抑制薬 体重入力で計算が走らないバグ修正 |
| v34 | 2026-07-14 | 慢性腸症スコア 体重入力フォーカス喪失バグ修正 |
| v35 | 2026-07-14 | 慢性腸症スコア 監修者謝辞を追加 |
| 試み | 結果 | 理由 |
|---|---|---|
| Python学習 | 挫折 | 学習コストよりAI活用が現実的と判断 |
| Dify連携 | 断念 | データ管理とUI分離の複雑さ |
| Google Apps Script | 断念 | CacheService 100KB制限でファイルサイズ超過 |
| Docker運用 | 断念 | GitHub Pagesで十分と判断 |
| 英語対応機能 | スマホに委譲 | スマホ翻訳で代替可能 |
| Excelシート | VCP実装状況 |
|---|---|
| MLK・FLK・フェンタニル・ドパミン等CRI群 | ✅ 全実装 |
| K・P補正・血漿浸透圧・チョコレート中毒 | ✅ 実装 |
| BSA・体表面積 | ✅ 実装 |
| ホームメイド食レシピ・PPN犬猫 | ✅ 実装 |
| 輸血・アルブミン量の計算 | ✅ 実装 |
| テンシロンテスト・点眼瓶投薬 | ✅ 実装 |
| 英語電話・英会話 | ➡️ スマホに委譲 |
© 2026 Nobutaka Kikuchi — VetCalc PRO