コンテンツにスキップ

モデル (TypeScript)

概要

モデルは、アプリが扱うデータの形(型)を TypeScript で定義したものです。ソースコードの src/lib/models/ に置かれ、患者・診察・保険などの各データがどんな項目を持つかを表します。

各モデルは Zod というライブラリのスキーマとして書かれ、次の 2 つの役割を持ちます。

  • 型の定義 — スキーマから TypeScript の型を自動で導き(z.infer)、コード全体で共通の型として使います。
  • 実行時の検証 — API から受け取ったデータがスキーマどおりの形かを、実行時に検証(safeParse)します。形が違えばその場で検知できます。

多くのモデルはデータベースのテーブルと対応しますが、モデルはアプリ内でのデータの形を表すもので、テーブルの構造とは必ずしも一致しません。名前に ExFull が付くモデルは、基本のモデルにマスターや関連データを加えた「表示用のまとまった形」を表します。

各ページの見出しは TypeScript の型名(例: Patient)です。

モデル一覧

基本エンティティ

データベースの各テーブルに対応する、基本的なデータの形です。

モデル 内容
Patient 患者
Visit 診察
Shahokokuho 社保国保
Koukikourei 後期高齢者医療
Roujin 老人保健(旧制度)
Kouhi 公費
Disease 傷病名
DiseaseAdj 傷病名の修飾語
Text 診療記録の文章
Charge 請求額
Payment 入金
Appoint 予約
AppointTime 予約枠
Wqueue 受付待ち行列
Onshi オンライン資格確認の結果
AppEvent データ変更のイベント
PrescExample 処方例

診療行為・処置

モデル 内容
Shinryou 診療行為
Conduct 処置のまとまり
ConductShinryou 処置内の診療行為
ConductDrug 処置内の薬
ConductKizai 処置内の特定器材
ConductKind 処置の種類(注射・画像など)
GazouLabel 画像処置のラベル
DxKasanApplied 加算の適用情報
CreateShinryouConductRequest 診療行為・処置の登録リクエスト

拡張モデル(Ex・Full)

基本のモデルに、マスターや関連データを加えたまとまった形です。

モデル 内容
VisitEx 診察に、患者・保険・診療記録などを加えた形
ShinryouEx 診療行為に、マスター情報を加えた形
DrugEx 薬に、医薬品マスター情報を加えた形
ConductEx 処置に、中身(診療行為・薬・器材)を加えた形
ConductShinryouEx 処置内の診療行為に、マスター情報を加えた形
ConductDrugEx 処置内の薬に、マスター情報を加えた形
ConductKizaiEx 処置内の器材に、マスター情報を加えた形
WqueueFull 待ち行列に、患者・診察などを加えた形
RecentVisitFull 最近の診察に、関連情報を加えた形

マスター

モデル 内容
ShinryouMaster 診療行為マスター
IyakuhinMaster 医薬品マスター
KizaiMaster 特定器材マスター
ByoumeiMaster 傷病名マスター
ShuushokugoMaster 修飾語マスター
UsageMaster 用法マスター

保険

モデル 内容
HokenInfo 診察で使う保険の組み合わせ一式
HokenIdSet 使用する保険の ID の組

病名関連

モデル 内容
DiseaseData 傷病名と修飾語をまとめた表示用の形
DiseaseEnterData 傷病名の入力データ
DiseaseExample 病名の入力例

その他

モデル 内容
ClinicInfo 医療機関の情報
ClinicOperation 診療日・診療時間などの運用情報
FileInfo ファイルの情報
DupPatient 重複が疑われる患者