API¶
概要¶
myclinic-next のサーバー機能は、REST 風の HTTP API として提供されます。画面(ブラウザ側)はこの API を呼び出してデータの取得・保存を行います。
API は Next.js のルートハンドラーとして実装され、ソースコードの app/api/ に置かれています。1 つのエンドポイントが 1 つのディレクトリ(route.ts)に対応します。
呼び出し方¶
| 項目 | 内容 |
|---|---|
| パス | /api/<エンドポイント名>(例: /api/get-patient) |
| メソッド | 取得は GET(パラメータはクエリ文字列)、保存・更新・一括取得は POST(リクエストボディは JSON) |
| レスポンス | JSON。多くはモデル、またはその配列を返す |
| 検証 | リクエストは Zod スキーマで検証され、不正な場合はエラーを返す |
エラー¶
| ステータス | 意味 |
|---|---|
400 |
リクエストの内容が不正(パラメータ不足・型違いなど) |
404 |
対象のデータが見つからない |
500 / 503 |
サーバー内部エラー・データベース接続エラー |
補足¶
- ブラウザ側には、各エンドポイントを型付きで呼び出すラッパー(
src/lib/api.ts)があり、レスポンスを Zod で再検証します。 - すべてのルートは
dynamic = "force-dynamic"を指定し、キャッシュせず常に最新を返します。
カテゴリ一覧¶
エンドポイントを扱う対象ごとに分類しています。
| カテゴリ | 内容 |
|---|---|
| patient | 患者の登録・取得・検索 |
| hoken | 保険(社保国保・後期高齢・老人・公費)の登録・取得・利用状況 |
| visit | 診察の開始・取得・一覧 |
| shinryou-conduct | 診療行為・処置の登録・取得 |
| disease | 病名の登録・取得・転帰 |
| charge-payment | 会計(請求・入金・領収書・未収) |
| appoint | 予約・予約枠 |
| reception | 受付(待ち行列) |
| onshi | オンライン資格確認 |
| master | 各種マスターの検索・コード解決 |
| text | 診療記録の文章・カルテ検索 |
| document | 書類・医療機関情報・薬局情報 |
| PDF・ファイルの生成 | |
| patient-image | 患者の画像 |
| config-misc | 設定・イベント・ホットラインなど |