VisitEx¶
診察に、患者・保険・診療記録などの関連情報をひとまとめにした表示用のモデル。診察画面などで、1 回の診察の内容をまとめて扱うために使います。
定義: src/lib/models/visit-ex.ts
フィールド¶
| フィールド | 型 | 説明 |
|---|---|---|
visitId |
number | 診察 ID |
visitedAt |
string | 診察日時 (YYYY-MM-DD HH:MM:SS) |
attributes |
object(省略可) | 来院ごとの補助情報 |
patient |
Patient | 患者 |
hoken |
HokenInfo | この診察で使う保険一式 |
texts |
Text[] | 診療記録の文章 |
drugs |
DrugEx[] | 薬 |
shinryouList |
ShinryouEx[] | 診療行為 |
conducts |
ConductEx[] | 処置 |
chargeOption |
Charge(省略可・null 可) | 請求額 |
lastPayment |
Payment(省略可・null 可) | 直近の入金 |
備考¶
- 保存用の基本の形は Visit です。
型定義¶
import { z } from "zod";
import { chargeSchema } from "@/lib/models/charge";
import { conductExSchema } from "@/lib/models/conduct-ex";
import { drugExSchema } from "@/lib/models/drug-ex";
import { hokenInfoSchema } from "@/lib/models/hoken-info";
import { paymentSchema } from "@/lib/models/payment";
import { patientSchema } from "@/lib/models/patient";
import { shinryouExSchema } from "@/lib/models/shinryou-ex";
import { textSchema } from "@/lib/models/text";
export const visitExSchema = z.object({
visitId: z.number(),
visitedAt: z.string(),
attributes: z.object({}).passthrough().optional(),
patient: patientSchema,
hoken: hokenInfoSchema,
texts: z.array(textSchema).optional().default([]),
drugs: z.array(drugExSchema).optional().default([]),
shinryouList: z.array(shinryouExSchema).optional().default([]),
conducts: z.array(conductExSchema).optional().default([]),
chargeOption: chargeSchema.optional().nullable(),
lastPayment: paymentSchema.optional().nullable()
});
export type VisitEx = z.infer<typeof visitExSchema>;