これは、ORCA医療システムAPIから患者の診療情報を取得して表示するための、シンプルなWebアプリケーションです。 元々はPythonのTkinterで作られたデスクトップアプリでしたが、Webアプリとして移植され、Vercelでのデプロイにも対応しています。
- 患者情報と受診履歴の取得: 患者番号を入力すると、ORCAトライアルサーバから患者の基本情報と過去の受診履歴を取得して一覧表示します。
- 診療内容明細の表示: 受診履歴の一覧から特定の診療日を選択すると、その日処方された薬剤などの詳細情報を表示します。
.
├── vercel.json # Vercel設定ファイル
├── requirements.txt # Python依存関係
├── api/ # Vercel Functions (バックエンド)
│ ├── medical-history.py # 受診履歴取得API
│ ├── medical-details.py # 診療内容明細取得API
│ └── orcam_logic.py # ORCA APIとの通信ロジック (参考用)
├── backend/ # 従来のFastAPI (ローカル開発用)
│ ├── main.py # APIサーバーのメインファイル
│ ├── orcam_logic.py # ORCA APIとの通信ロジック
│ └── requirements.txt # 必要なPythonライブラリ
└── frontend/ # フロントエンド (HTML/CSS/JS)
├── index.html # メインのHTMLファイル
├── css/
│ └── style.css # スタイルシート
└── js/
├── main.js # 画面操作のロジック (Vercel用)
└── main-local.js # 画面操作のロジック (ローカル開発用)
最も簡単な方法です。フロントエンドとバックエンドを一緒にデプロイできます。
-
Vercel CLIのインストール
npm install -g vercel
-
Vercelにログイン
vercel login
-
デプロイ実行
vercel
-
設定確認
- Project name: お好みの名前
- Deploy to production: Yes
- Framework: Other (自動検出)
デプロイ後、提供されるURLでアプリケーションにアクセスできます。
本番環境と同じ動作を確認できます。
# プロジェクトディレクトリで実行
vercel dev→ http://localhost:3000 でアクセス
-
バックエンド起動
cd backend pip install -r requirements.txt python main.py -
フロントエンド用にJSファイル変更
frontend/index.htmlの<script>タグを以下に変更:<script src="js/main-local.js"></script>
その後、
frontend/index.htmlをブラウザで開く
- HTML5, CSS3, Vanilla JavaScript
- レスポンシブデザイン (1280x720最適化)
- Vercel Functions: Vercel環境でのサーバーレス関数
- FastAPI: ローカル開発用のPython Webフレームワーク
- requests: HTTP通信ライブラリ
- xml.etree.ElementTree: XML解析
- Vercel: 本番デプロイとローカル開発
- Python 3.9+: バックエンド実行環境
- アプリケーションにアクセス
- 患者番号「1」を入力(テスト用)
- 「受診履歴」ボタンをクリック
- 患者情報と受診履歴一覧が表示される
- 受診履歴の行をクリックして選択
- 「診療内容明細」ボタンをクリック
- 薬剤情報などの詳細が表示される
- このアプリは、ORCAプロジェクトが提供するトライアルサーバーに接続します
- Vercel Functionsでは、各APIファイルが独立して動作します
- CORS対応済みで、ブラウザから安全にAPIを呼び出せます
- 開発時は
vercel devの使用を推奨します
- v1.0: TkinterからWebアプリに移植
- v1.1: Vercelデプロイ対応、Vercel Functions導入
- v1.2: ローカル開発環境の改善、モジュール依存問題解決
